Автор работы: Пользователь скрыл имя, 09 Мая 2012 в 21:37, курсовая работа
Контрольная работа по дисциплине "Информатика"
На сегодняшний
день – это сетевые протоколы
Х.25, ISDN, ATM, SS7, Frame Relay и OSI; CASE-средства разработки
распределенных систем на базе стандартов
ROOM (Real-Time Object Oriented Modelling) и CORBA (Common Object Request
Broker Architecture); менеджмент сетей по технологиям
MBD (Management By Delegation) и CMIP/GDMO (Common Management Information
Protocol/Guidelines for Definition of Managed Objects).
Мониторинг и
отладка в реальном масштабе времени:
WindView. Обычные отладчики, позволяющие
исследовать состояние программ и данных
в точках останова, являются статическими
средствами отладки. Возможности исследования
динамики исполнения программ и изменения
данных предоставляют специальные средства
отладки в реальном масштабе времени,
которые трассируют интересующие пользователя
события и накапливают их в буфере для
последующего анализа.
Трассировку системных
событий (переключения задач, запись в
очередь сообщений, установка семафора
и т. д.) позволяет вести динамический
анализатор WindView, который отображает накопленные
в буфере события на временной диаграмме
аналогично экрану логического анализатора.
Дисплей WindView предоставляет
управляемый доступ к разнообразной информации
о динамике событий в системе реального
времени: переключение контекста, захват
и освобождение семафоров, посылка и прием
сообщений из очереди, а также истечение
заданного интервала времени. События
могут быть помечены либо временными метками
микросекундного диапазона, либо последовательными
номерами.
В последнее
время высокопроизводительные микропроцессоры,
а с ними и операционные системы
реального времени, все чаще используются
в так называемых “глубоко встроенных”
(deeply embedded) применениях (автомобильная
электроника, офисная и бытовая техника,
измерительные и медицинские приборы
и др.). К таким компьютерным системам предъявляются
два основных требования: малые габариты
и низкая стоимость, поэтому глубоко встроенные
микропроцессорные системы ставят две
проблемы на пути применения серийных
ОСРВ: небольшие объемы используемой памяти
и отсутствие “лишних” интерфейсов, по
которым можно было бы связать целевую
и инструментальную машины на этапе разработки
встроенного ПО.
Специально для
систем с сильно ограниченным объемом
памяти компания Wind River Systems разработала
редуцированное ядро WindStream, которое требует
для работы не более 8 Кб ПЗУ и 2 Кб ОЗУ.
При этом для WindStream применим весь спектр
инструментальных средств VxWorks, включая
WindView.
В качестве интерфейса
между инструментальной и встроенной
целевой машинами можно использовать
внутрисхемные эмуляторы ICE (In-Circuit Emulators),
например, НР64700, которые включаются в
гнездо микропроцессора целевой системы,
не имеющей Ethernet, или RS232 для связи с инструментальной
машиной.
Экономичной альтернативой
внутрисхемным эмуляторам являются
так называемые ROM-эмуляторы, включаемые
в гнездо ПЗУ микропроцессора
целевой системы, например, NetROM фирмы
XLNT Designs. К Ethernet-разъему эмулятора NetROM подключается
инструментальная машина, стандартный
Ethernet-драйвер VxWorks заменяется драйвером
NetROM и так на целевой машине появляется
виртуальный Ethernet.
Инструментальная
среда Tornado имеет открытую архитектуру,
что позволяет другим фирмам-производителям
инструментальных средств разработки
ПО реального времени интегрировать свои
программные продукты с Tornado. Пользователь
может подключать к Tornado свои собственные
специализированные средства разработки,
а также расширять возможности инструментальных
средств фирмы Wind River Systems.
В стандартную
конфигурацию Tornado входят ядро VxWorks и системные
библиотеки, GNU C/C++ Toolkit, дистанционный
отладчик уровня исходного языка CrossWind,
оболочка WindSh, конфигуратор BSP WindConfig и
др.
Существует множество
программных продуктов
Linux
Linux – современная
POSIX-совместимая и Unix-подобная операционная
система для ПК и рабочих станций, т. е.
многопользовательская сетевая операционная
система.
ОС Linux поддерживает
стандарты открытых систем и протоколы
сети Internet. Все компоненты системы, включая
исходные тексты, распространяются с лицензией
на свободное копирование и установку
для неограниченного числа пользователей.
Характерные особенности
Linux как ОС:
многозадачность
(является обязательным условием);
многопользовательский
режим;
защищенный режим
процессора (386 protected mode);
защита памяти
процесса; сбой программы не может
вызвать зависания системы;
экономная загрузка:
Linux считывает с диска только те части
программы, которые действительно используются
для выполнения;
разделение страниц
по записи между экземплярами выполняемой
программы. Это значит, что процессы-экземпляры
программы могут использовать при
выполнении одну и ту же память. Когда
такой процесс пытается произвести
запись в память, то 4-килобайтная
страница, в которую идет запись,
копируется на свободное место. Это
свойство увеличивает быстродействие
и экономит память;
виртуальная память
со страничной организацией (т. е. на диск
из памяти вытесняется не весь неактивный
процесс, а только требуемая страница);
виртуальная память в самостоятельных
разделах диска и/или файлах файловой
системы; объем виртуальной памяти до
2 Гб; изменение размера виртуальной памяти
во время выполнения программ;
общая память программ
и дискового кэша: вся свободная
память используется для буферизации
обмена с диском;
динамические
загружаемые разделяемые
дамп программы
для пост-мортем анализа: позволяет
анализировать отладчиком не только выполняющуюся,
но и завершившуюся аварийно программу;
сертификация
по стандарту POSIX.1, совместимость со
стандартами System V и BSD на уровне исходных
текстов;
через iВS2-согласованный
эмулятор совместимость с SCO, SVR3, SVR4
по загружаемым программам,
наличие исходного
текста всех программ, включая тексты
ядра, драйверов, средств разработки
и приложений. Эти тексты свободно
распространяются. В настоящее время
некоторыми фирмами для Linux поставляется
ряд коммерческих программ без исходных
текстов, но все, что было свободным так
и остается свободным;
управление заданиями
в стандарте POSIX;
эмуляция сопроцессора
в ядре, поэтому приложение может
не заботиться об эмуляции сопроцессора.
Конечно, если сопроцессор в наличии,
то он и используется;
множественные
виртуальные консоли: на одном дисплее
несколько одновременно независимых
сеансов работы, переключаемых с
клавиатуры;
поддержка ряда
распространенных файловых систем (MINIX,
Xenix, файловые системы System V); наличие собственной
передовой файловой системы объемом до
4 Тб и с именами файлов до 255 знаков;
прозрачный доступ
к разделам DOS (или OS/2 FAT): раздел DOS выглядит
как часть файловой системы Linux;
поддержка VFAT (WNT, Windows 95);
доступ (только
чтение) к файловой системе HPFS-2 OS/2 2.1;
поддержка всех
стандартных форматов CD ROM;
поддержка сети
TCP/IP, включая ftp, telnet, NFS и т. д.
Бурный рост
популярности Linux побуждает разработчиков
внимательнее присмотреться к этой операционной
системе. В данный момент эта ОС готова
к стабильной работе, а открытость ее исходных
текстов и архитектуры наряду с растущей
популярностью заставляет программистов
переносить свои наработки на многие аппаратные
платформы: SGI, IBM, Intel, Motorola и т. д.
Для задач реального времени сообщество разработчиков Linux активно применяет специальные расширения – RTLinux, KURT и UTIME, позволяющие получить устойчивую среду реального времени. RTLinux представляет собой систему “жесткого” реального времени, a KURT (KU Real Time Linux) относится к системам “мягкого” реального времени. Linux-расширение UTIME, входящее в состав KURT, позволяет добиться увеличения частоты системных часов, что приводит к более быстрому переключению контекста задач.
RT-Linux
RT-Linux – это операционная
система, в которой небольшое ядро реального
времени сосуществует с Posix-like ядром Linux.
Основная цель – сделать доступными сложные
службы и оптимизированное поведение
системы в стандартных ситуациях, для
системы с разделением времени и в то же
время выполнять задачи реального времени.
В прошлом операционные системы реального
времени примитивны – простые программы,
которые предлагали пользователю чуть
больше, чем просто библиотека основных
функций. Но в наше время пользователи
требуют доступ к TCP/IP, графическому дисплею
и системе окон, базам данных и другим
службам, которые не являются ни примитивными,
ни простыми. Одно из решений – добавить
non-real-time службы к базовому ядру реального
времени, что и было проделано в VXworks и
немного по-другому в микроядре QNX. Вторая
возможность – модифицировать стандартное
ядро и сделать его полностью прерываемым.
RT-Linux организован
третьим способом, в котором простое ядро
реального времени запускает обычное
ядро как одну из задач реального времени
с самым низким приоритетом, используя
виртуальную машину для того, чтобы сделать
стандартное ядро полностью прерываемым.
В RT-Linux все прерывания
обслуживаются ядром реального времени,
а затем, передаются стандартному ядру,
но только в том случае, если нет необходимости
запускать одну из задач реального времени.
Для того чтобы минимизировать количество
изменений в стандартном ядре, этот механизм
реализован при помощи эмулирования ICH
(Interrupt Control Hardware). Ядро реального времени
и пользовательские задачи Linux могут обмениваться
данными через неблокируемые очереди
и сегменты разделяемой памяти.
С точки зрения
программиста очереди выглядят как
стандартные последовательные устройства
UNIX, доступ к которым возможен при
помощи системных вызовов POSIX read/write/open/ioctl.
Разделяемая память доступна через системный
вызов mmap.
RT-Linux использует
Linux для загрузки, доступа к большинству
устройств, работы с сетью, файловыми системами,
управлением процессами Linux и загрузки
модулей ядра, что дает возможность легко
модифицировать систему реального времени.
Программа реального
времени состоит из двух частей:
задачи, которая представляет собой
модуль ядра и обыкновенный UNIX/Linux процесс
и заботится об обработке данных, доступу
к дисплею и сети, и о любых других функциях,
не требующих таких жестких временных
рамок.
На практике
оказалось, что идея RT-Linux очень удачна.
В самом худшем случае запаздывание прерываний
на 486/33Mhz PC оказалось менее 30 мкс, что близко
к аппаратному пределу. Для прикладных
задач симбиоз систем реального времени
и оптимизированной для “общего случая”
оказался очень удачным. Наиболее часто
используемая конфигурация RT-Linux – примитивные
задачи реального времени со статически
распределяемой памятью без ее защиты,
простым планировщиком с фиксированными
приоритетами без защиты от нереализуемых
планов, аппаратным запрещением прерываний,
разделяемая память – единственный механизм
синхронизации задач реального времени
и ограниченный набором операций над FIFO-очередями,
подсоединенными к обычным процессам
Linux.
Ядро Linux позволяет
в динамике загружать и выгружать модули
ядра, сделав отдельные части ядра реального
времени в виде модулей, легко изменять
ядро реального времени. Уже написаны
альтернативные планировщики и модуль
семафоров. Во время работы системы можно
загрузить модуль с задачами реального
времени, затем выгрузить стандартный
планировщик и загрузить, например, EDF
планировщик. Можно пробовать разные комбинации
модулей, пока не будет найдена оптимальная.
Этот вариант
Linux позволяет выполнять задачи в реальном
времени. Это достигается путем вставки
ядра реального времени между стандартным
ядром Linux и аппаратными прерываниями
и позволяет избавиться от главной причины
непригодности Linux для задач реального
времени – большого запаздывания прерываний.
С точки зрения
RT-Linux, Linux – одна из задач реального времени,
имеющая самый низкий приоритет, может
быть прервана, когда нужно. Такая структура
накладывает некоторые ограничения на
задачи реального времени. Они не могут
легко использовать различные драйверы
Linux, не имеют доступ к сети и т. д., но зато
могут обмениваться данными с стандартными
задачами Linux.
Простые очереди
FIFO реализованы для обмена данными
между процессами реального времени
и процессами Linux. Типичное приложение
состоит из двух частей – задачи реального
времени, непосредственно работающей
с аппаратурой и обыкновенно задачи Linux,
которая выполняет остальные операции,
такие как сохранение данных на диск, пересылка
их по сети, работа с пользователем (GUI)
и т. д.
Самый короткий
период для периодически вызываемых
задач реального времени в RT-Linux
на Pentium 120 – менее 150 мкс. Задачи, вызываемые
по прерыванию, могут иметь намного меньший
период.
Ядро реального
времени не защищает от перегрузок.
Если одна из задач реального времени
полностью утилизирует
Необходимо отметить,
что компания LynuxWorks начала поставки
(17.05.2002) встраиваемой ОС BlueCat Linux для комплекта
разработчика ПО Intel Internet Exchange Architecture Software
Developers Kit (Intel IXA SDK) 2.0, предназначенного
для семейства сетевых процессоров Intel
IXP1200. ОС BlueCat Linux распространяется бесплатно
совместно с Intel IXA SDK 2.0.
VxWorks давно стала де-факто стандартом для подавляющего большинства систем, использующих встроенные ОС. Флэш-память вычислительной системы IXP1200 содержит загрузчик ядра VxWorks. Для разработчиков это упрощает задачу написания новых программ. Кроме того, уже реализована возможность работы сетевого процессора под управлением ОС Linux (с расширениями реального времени). Осуществляется программная поддержка некоторыми производителями ОС Linux (например,LynuxWorks и т. д.).