Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Специализированные операционные системы




Микроядерные и макроядерные ОС

В микроядерных системах ядро (главный модуль системы) имеет размер порядка десятков килобайтов. Остальные модули, образующие набор сервисных приложений, вызываются по мере необходимости. Этот подход вполне соответствует принципам структурного программирования.

Все первые ОС вынужденно являлись микроядерными, поскольку объем оперативной памяти компьютеров поначалу был небольшим. Например, первая версия операционной системы UNIX занимала всего около 12 Кбайт. Однако по мере увеличения объема оперативной памяти ядра операционных систем постепенно начали разрастаться.

Наиболее ярким представителем микроядерных операционных систем является ОС реального времени QNX. Разные версии этой операционной системы имеют объемы – от 8 до 46 Кбайт.

В 90-е годы XX века было весьма распространенным убеждение, что большинство операционных систем следующих поколений будут строиться как микроядерные. Однако практика показывает, что это не совсем так. Разработчики желают иметь компактное микроядро, но при этом включить в него как можно больше функций, исполняемых непосредственно этим программным модулем. Это связано с тем, что выполнение затребованной функции другим модулем, вызываемым из микроядра, приводит и к дополнительным задержкам, и к дополнительным сложностям.

В макроядерных системах ядро получается монолитным, неделимым. Современные ОС общего назначения, такие как Windows, UNIX и Linux относятся к макроядерным системам. Ядра этих систем, представленные в виде программ, написанных на языке высокого уровня, содержат многие миллионы строк кода.

 

К этому классу относятся системы реального времени; системы мобильных вычислительных устройств; специализированные сетевые системы; а также системы, предназначенные для обучения студентов. В момент возникновения персональных компьютеров их операционные системы (ДОС) также относились к этому классу.

ДОС (Дисковые Операционные Системы). Как правило, это просто некий резидентный набор подпрограмм, не более того. Он загружает пользовательскую программу в память и передает ей управление, после чего программа делает с системой все, что ей заблагорассудится. Считается желательным, чтобы после завершения программы машина оставалась в таком состоянии, чтобы ДОС могла продолжить работу (принципиально же, ДОС ничем не может помешать программе привести систему в нерабочее состояние). Дисковая операционная система MS DOS для IBM PC является примером систем подобного класса. Она, правда, умеет загружать несколько программ, но не предоставляет средств для одновременного исполнения этих программ. Существование систем такого класса обусловлено их простотой и тем, что они потребляют мало ресурсов. Еще одна причина, по которой такие системы могут использоваться даже на довольно мощных машинах – требование программной совместимости с ранними моделями того же семейства компьютеров.

Системы реального времени – системы, предназначенные для облегчения разработки так называемых приложений реального времени. Это программы, управляющие некомпьютерным по своей природе оборудованием, часто с очень жесткими ограничениями по времени реакции. Примером такого приложения может быть программа бортового компьютера крылатой ракеты, системы управления ускорителем элементарных частиц или промышленным оборудованием. Такие системы обязаны поддерживать многопроцессность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам. Примером такой системы может служить ОС QNX. Любопытно, что multimedia при качественной реализации предъявляет к системе те же требования, что и промышленные задачи реального времени. В multimedia основной проблемой является синхронизация изображения на экране со звуком. Именно в таком порядке. Звук обычно генерируется внешним аппаратным устройством с собственным таймером, и изображение синхронизируется с ним же. Человек способен заметить довольно малые временные неоднородности в звуковом потоке. Напротив, пропуск кадров в визуальном потоке не так заметен, а расхождение звука и изображения заметно уже при задержках около 30 мс. Поэтому системы качественного multimedia должны обеспечивать синхронизацию с такой же или более высокой точностью, что мало отличается от систем мягкого реального времени.

Системы для обучения студентов. Во времена молодости UNIX (версия 6) ее исходные коды были широко доступны по лицензии AT&T и активно изучались. Джон Лайонс (John Lions) из университета Нового Южного Уэльса в Австралии даже написал небольшую брошюру, шаг за шагом описывающую работу UNIX. С разрешения AT&T эта брошюра использовалась во многих университетских курсах по операционным системам. С выходом версии 7 система UNIX превратилась в дорогостоящий коммерческий продукт. Лицензия, под которой она распространялась, запрещала преподавание исходного кода на учебных курсах, чтобы не подвергать риску его статус коммерческого секрета. Поэтому многие университеты просто прекратили изучение UNIX, довольствуясь одной теорией. Чтобы исправить ситуацию Эндрив Таненбаум в 1987 году написал собственную операционную систему MINIX (mini-UNIX), предназначенную для обучения студентов, которая с точки зрения пользователя совместима с UNIX, но внутри совершенно самостоятельна. Ядро этой системы имело всего 4000 строк кода, в то время как в UNIX, или в Windows – это миллионы строк кода. Система настолько мала, что даже начинающий мог понять, как она работает. Одним из пользователей MINIX был финский студент по имени Линус Торвальдсен. Он установил ее на свой компьютер и тщательно изучил исходный код. Опыты по усовершенствованию этой системы привели к созданию операционной системы LINUX в 1991 году.

Сетевые системы. Этот термин употребляют в двух различных смыслах:

1. Системы, предназначенные только для предоставления сетевых услуг, аналогично тому, как ДОС предназначена для предоставления средств работы с диском. Под такое понимание подходят узкоспециализированные системы, такие как Novell Netware или, например, программное обеспечение маршрутизаторов Cisco.

2. Системы, способные предоставят сетевые услуги. Под такое определение подходят практически все современные ОС общего назначения.

 




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 2258; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.