Микроядерные Операционные Системы Реферат

Микроядерные Операционные Системы Реферат



>>> ПОДРОБНЕЕ ЖМИТЕ ЗДЕСЬ <<<






























Микроядерные Операционные Системы Реферат
Исследование понятия микроядро операционной системы. Рассмотрение истории создания. Анализ функций микроядра, его достоинств и недостатков, производительности. Изучение принципов разделения функций, переносимости и расширяемости. Оценка надежности.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«РОССИЙСКАЯ АКАДЕМИЯ НАРОДНОГО ХОЗЯЙСТВА и ГОСУДАРСТВЕННОЙ СЛУЖБЫ
при Президенте Российской Федерации»
Микроядро ОС - это стержневая её часть, служащая основой модульных и переносимых расширений. Основная функция ядра - конструирование среды верхнего уровня, из которой было бы возможно получить выход ко всем функциональным способностям уровня аппаратного обеспечения. Техника конструирования ядра состоит в верном выборе основных элементов для обеспечения достаточного сервиса. Оно активирует основные системные вызовы (передача сообщений и организация другого общения между внешними по отношению к ядру процессам, поддержка управления прерываниями и т.д.). Другие функции обеспечиваются как модульные дополнения, взаимодействующие между собой при помощи передачи сообщений.
Ядро рассматривается как небольшой модуль, работающий в приоритетном режиме и поддерживающий остальную часть ОС, рассматриваемую в виде набора серверных приложений. Основой многих микроядерных систем является технология микроядра Масh, созданная в университете Карнеги Меллон. Микроядро включает только те функции, которые необходимы для определения абстрактных сред обработки приложений, а также для совместной работы их в системе клиент-сервер. В результате микроядро обеспечивает только следующие пять типов сервисов:
?межпроцессные коммуникации (IPC Inter-Process-Communication);
?управление поддержкой ввода-вывода и прерываниями;
?сервисы набора хоста (Host ? главный компьютер, сейчас ПК с IP-адресом) и процессора.
Схематично механизм обращений к функциям ОС, оформленным в виде серверов, выглядит, как показано на рис. 1
Схема смены режимов при выполнении системного вызова в ОС с микроядерной архитектурой выглядит, как показано на рис. 1. Из рисунка ясно, что выполнение системного вызова сопровождается четырьмя переключениями режимов (4 t), в то время как в классической архитектуре - двумя. Следовательно, производительность ОС с микроядерной архитектурой при прочих равных условиях будет ниже, чем у ОС с классическим ядром.
Обработка системного вы зова в микроядерной архитектуре
Признаны следующие достоинства микроядерной архитектуры:
6. поддержка распределенных систем;
7. поддержка объектно-ориентированных ОС.
По многим источникам вопрос масштабов потери производительности в микроядерных ОС является спорным. Многое зависит от размеров и функциональных возможностей микроядра. Избирательное увеличение функциональности микроядра приводит к снижению количества переключений между режимами системы, а также переключений адресных пространств процессов. Может быть, это покажется парадоксальным, но есть и такой подход к микроядерной ОС, как уменьшение микроядра. Для возможности представления о размерах микроядер операционных систем в ряде источников приводятся такие данные: типичное микроядро первого поколения - 300 Кбайт кода и 140 интерфейсов системных вызовов; микроядро ОС L4 (второе поколение) - 12 Кбайт кода и 7 интерфейсов системных вызовов.
В современных операционных системах различают следующие виды ядер:
1.Наноядро (НЯ). Крайне упрощ?нное и минимальное ядро, выполняет лишь одну задачу - обработку аппаратных прерываний, генерируемых устройствами компьютера. После обработки посылает информацию о результатах обработки вышележащему программному обеспечению. НЯ используются для виртуализации аппаратного обеспечения реальных компьютеров или для реализации механизма гипервизора.
2.Микроядро (МЯ) предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Большая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т.д. Микроядерными являются ядра ОС Minix и GNU Hurd и ядро систем семейства BSD. Классическим примером микроядерной системы является Symbian OS. Это пример распространенной и отработанной микроядерной (a начиная c версии Symbian OS v8.1, и наноядерной) операционной системы.
3.Экзоядро (ЭЯ) предоставляет лишь набор сервисов для взаимодействия между приложениями, а также необходимый минимум функций, связанных с защитой: выделение и высвобождение ресурсов, контроль прав доступа и т.д. ЭЯ не занимается предоставлением абстракций для физических ресурсов - эти функции выносятся в библиотеку пользовательского уровня (так называемую libOS). В отличие от микроядра ОС, базирующиеся на ЭЯ, обеспечивают большую эффективность за счет отсутствия необходимости в переключении между процессами при каждом обращении к оборудованию.
4.Монолитное ядро (МнЯ) предоставляет широкий набор абстракций оборудования. Все части ядра работают в одном адресном пространстве. МнЯ требуют перекомпиляции при изменении состава оборудования. Компоненты операционной системы являются не самостоятельными модулями, а составными частями одной программы. МнЯ более производительно, чем микроядро, поскольку работает как один большой процесс. МнЯ является большинство Unix- систем и Linux. Монолитность ядер усложняет отладку, понимание кода ядра, добавление новых функций и возможностей, удаление ненужного, унаследованного от предыдущих версий кода. "Разбухание" кода монолитных ядер также повышает требования к объ?му оперативной памяти.
5.Модульное ядро (Мод. Я) - современная, усовершенствованная модификация архитектуры МЯ. В отличие от "классических" МЯ, модульные ядра не требуют полной перекомпиляции ядра при изменении состава аппаратного обеспечения компьютера. Вместо этого они предоставляют тот или иной механизм подгрузки модулей, поддерживающих то или иное аппаратное обеспечение (например, драйверов). Подгрузка модулей может быть как динамической, так и статической (при перезагрузке ОС после переконфигурирования системы). Мод. Я удобнее для разработки, чем традиционные монолитные ядра. Они предоставляют программный интерфейс (API) для связывания модулей с ядром, для обеспечения динамической подгрузки и выгрузки модулей. Не все части ядра могут быть сделаны модулями. Некоторые части ядра всегда обязаны присутствовать в оперативной памяти и должны быть ж?стко "вшиты" в ядро.
6.Гибридное ядро (ГЯ) - модифицированные микроядра, позволяющие для ускорения работы запускать "несущественные" части в пространстве ядра. Имеют "гибридные" достоинства и недостатки. Примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляются монолитным ядром. Данный подход сформировался в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра.
7.Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены в ядре Windows NT. Хотя Windows NT часто называют микроядерной операционной системой, это не совсем так. Микроядро NT слишком велико (более 1 Мбайт), чтобы носить приставку "микро". Компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В то же время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром.
В широкий обиход понятие микроядра ввела компания Next, в операционной системе которой использовалось микроядро Mach. Небольшое привилегированное ядро этой ОС, вокруг которого располагались подсистемы, выполняемые в режиме пользователя, теоретически должно было обеспечить небывалую гибкость и модульность системы. Но на практике это преимущество было несколько обесценено наличием монолитного сервера, реализующего операционную систему UNIX BSD 4.3, которую компания Next выбрала в качестве оболочки микроядра Mach. Однако опора на Mach дала возможность включить в систему средства передачи сообщений и ряд объектно-ориентированных сервисных функций, на основе которых удалось создать элегантный интерфейс конечного пользователя с графическими средствами конфигурирования сети, системного администрирования и разработки программного обеспечения.
Следующей микроядерной операционной системой была Windows NT компании Microsoft, в которой ключевым преимуществом использования микроядра должна была стать не только модульность, но и переносимость. (Заметим, что отсутствует единодушное мнение по поводу того, следует ли на самом деле относить NT к микроядерным ОС.) ОС NT была построена таким образом, чтобы ее можно было применять в одно- и мультипроцессорных системах, основанных на процессорах Intel, Mips и Alpha (и тех, которые придут вслед за ними). Поскольку в среде NT должны были выполняться программы, написанные для DOS, Windows, OS/2 и систем, совместимых со стандартами Posix, компания Microsoft использовала присущую микроядерному подходу модульность для создания общей структуры NT, не повторяющей ни одну из существующих операционных систем. Каждая операционная система эмулируется в виде отдельного модуля или подсистемы.
Позднее микроядерные архитектуры операционных систем были объявлены компаниями Novell/USL, Open Software Foundation (OSF), IBM, Apple и другими. Одним из основных конкурентов NT в области микроядерных ОС является Mach 3.0, которую как IBM, так и OSF взялись довести до коммерческого вида. Другим конкурентом является микроядро Chorus 3.0 компании Chorus Systems. Некоторое микроядро будет использоваться в SpringOS фирмы Sun, объектно-ориентированном преемнике ОС Solaris. Очевидна тенденция к переходу от монолитных к микроядерным системам. Кстати, это совсем не новость для компаний QNX Software Systems и Unisys, которые уже в течение нескольких лет выпускают пользующиеся успехом микроядерные операционные системы. ОС QNX пользуется спросом на рынке систем реального времени, а CTOS фирмы Unisys популярна в области банкового дела. В обеих системах успешно использована модульность, присущая микроядерным ОС.
Микроядро реализует базовые функции операционной системы, на которые опираются другие системные службы и приложения. Основной проблемой при конструировании микроядерной ОС является распознавание тех функций системы, которые могут быть вынесены из ядра. Такие важные компоненты ОС как файловые системы, системы управления окнами и службы безопасности становятся периферийными модулями, взаимодействующими с ядром и друг с другом. Когда-то казалось, что многоуровневая архитектура ядра ОС UNIX является вершиной в области конструирования операционных систем. Основные функциональные компоненты операционной системы - файловая система, взаимодействие процессов, ввод-вывод и управление устройствами - были разделены на уровни, каждый из которых мог взаимодействовать только с непосредственно примыкающим к нему уровнем. Несмотря на неплохие практические результаты такая структура теперь все больше воспринимается монолитной, поскольку вся операционная система связана иерархией уровней. Множественность и нечеткость интерфейсов между уровнями затрудняет модификацию системы; для этого требуется хорошее знание операционной системы, масса времени и элемент везения. В микроядерных архитектурах вертикальное распределение функций операционной системы заменяется на горизонтальное. Компоненты, лежащие выше микроядра, используют средства микроядра для обмена сообщениями, но взаимодействуют непосредственно. Микроядро лишь проверяет законность сообщений, пересылает их между компонентами и обеспечивает доступ к аппаратуре. Это свойство микроядерных систем позволяет естественно использовать их в распределенных средах. При получении сообщения микроядро может его обработать или переслать другому процессу. Поскольку для микроядра безразлично, поступило ли сообщение от локального или удаленного процесса, подобная схема передачи сообщений является удобной основой удаленных вызовов процедур. Однако пересылка сообщений производится медленнее обычных вызовов функций; оптимизация пересылки сообщений является критическим фактором успеха микроядерной операционной системы. Например, в ОС Windows NT в некоторых случаях для оптимизации используется разделяемая память. Расходы на дополнительную фиксированную память микроядра оправдываются повышением эффективности передачи сообщений.
Переносимость, расширяемость и надежность
Поскольку вся машинно-зависимая часть ОС изолирована в микроядре, для переноса системы на новый процессор требуется меньше изменений и эти изменения логически сгруппированы. При имеющемся разнообразии на рынке процессоров способность операционной системы работать на разных процессорах является единственной возможностью убедить пользователей покупать новые машины. Расширяемость также является необходимым свойством современных операционных систем. В отличие от аппаратных средств, которые устаревают за несколько лет, операционные системы могут с пользой использоваться в течение десятилетий. В жизни каждой операционной системы настает момент, когда в нее требуется внести функции, не заложенные в исходную конструкцию. Микроядерная организация операционных систем позволяет добиться возможности управляемых и надежно работающих расширений на основе ограниченного набора четко определенных интерфейсов микроядра. В действительности, правильнее говорить не только о расширяемости, но и о масштабируемости микроядерных ОС с возможностью получения варианта операционной системы, в наилучшей степени соответствующей особенностям аппаратной платформы и прикладной области. Микроядерная организация ОС позволяет легко добиться и этого качества. Одной из проблем традиционно организованных операционных систем является наличие множества интерфейсов прикладного программирования (API - Application Programming Interface), не все из которых хорошо документированы. В результате невозможно гарантировать правильность программ, использующих несколько API, и даже правильность работы самой операционной системы. Микроядро, обладающее небольшим набором API (микроядро OSF обеспечивает около 200 системных вызовов, а крохотное микроядро QNS - всего лишь 14), увеличивает шансы получения качественных программ. Конечно, этот компактный интерфейс облегчает жизнь только системных программистов; прикладной программист по прежнему должен бороться с сотнями вызовов.
Основным принципом организации микроядерных ОС является включение в состав микроядра только тех функций, которым абсолютно необходимо выполнять в режиме супервизора и в защищенной памяти. Обычно в микроядро включаются машинно-зависимые программы (включая поддержку мультипроцессорной работы), некоторые функции управления процессами, обработка прерываний и поддержка пересылки сообщений. Во многих случаях в микроядро включается функция планирования процессов, но в реализации Mach компании IBM планировщик процессов размещен вне микроядра, а микроядро используется только для непосредственного управления процессами. Конечно, при этом требуется тесное взаимодействие внешнего планировщика и входящего в состав ядра диспетчера. В некоторых реализациях (например, в реализации OSF) в микроядро помещаются драйверы устройств. В реализациях IBM и Chorus драйверы размещаются вне микроядра, но для регулирования режимов разрешения и запрещения прерываний часть программы драйвера выполняется в пространстве ядра. В NT драйверы устройств и другие функции ввода-вывода выполняются в пространстве ядра, но реально используют ядро только для перехвата и передачи прерываний. Следует заметить, что оба подхода допускают динамическое подключение драйверов к системе и их отключение. Однако имеются другие доводы в пользу выделения драйверов из состава микроядра. Например, поскольку во многих случаях драйверы могут не зависеть от особенностей аппаратуры, такой подход облегчает переносимость системы.
В разрабатывавшейся компанией IBM ОС Workplace (теперь она отказалась от завершения этой ОС) использовалось микроядро Mach 3.0, расширенное в кооперации с OSF средствами поддержки параллельной обработки и реального времени. Микроядро заведовало функциями взаимодействия процессов, управления виртуальной памятью, управления процессами и нитями (threads), управления процессорами (включая мультипроцессорные системы), а также управления вводом-выводом и обработки прерываний. Файловая система, планировщик процессов, сетевые службы и система безопасности вынесены из микроядра. В IBM эти компоненты называют PNS (personally neutral services), поскольку они используются во всех эмуляторах операционных систем. Управление процессами и нитями в Workplace являлись функцией ядра. Но на самом деле в ядре был расположен только диспетчер процессов. Планировщик, ведающий приоритетами, определяющий порядок выполнения и заказывающий диспетчеризацию процессов и нитей, функционировал вне ядра. Управление памятью также распределялось между микроядром и PNS. Ядро управляло аппаратурой страничной памяти. Подсистема управления страничной памятью, работающая вне ядра, определяла стратегию замещения страниц. Подобно планировщику эта подсистема являлась заменяемым компонентом. На уровне PNS могут располагаться не только такие внутренние подсистемы как файловая система и драйверы устройств, но и сетевые службы и даже системы управления базами данных. По мнению IBM, размещение подобных служб в непосредственной близости от микроядра позволит повысить их эффективность за счет сокращения числа вызовов функций и возможно использовать собственные драйверы устройств.
ОС OSF/1 1.3 также основана на микроядре Mach. IBM является членом OSF, и эти компании обменивались технологиями организации микроядра. Однако по некоторым важным направлениям подходы IBM и OSF различаются. В версии 1.3 весь сервер OSF/1 работает в пользовательском пространстве и использует функции Mach. Почему же OSF решилась на микроядерную реализацию монолитного сервера Unix? Как говорят специалисты OSF, OSF/1 является слишком хорошей и надежной системой, чтобы можно было ее бросить и начать все сначала. В OSF/1 1.3 используется более 90% кода предыдущих версий OSF/1. С другой стороны, чтобы улучшить возможности управления объектами, часть ядра Mach была переписана на Си++. В результате OSF/1 1.3 получилась не такой модульной, как ОС Workplace. Но использовав значительную часть OSF/1, компания OSF смогла раньше IBM получить более или менее полную микроядерную реализацию систему. OSF ориентируется на массивно параллельные аппаратные системы. Активно изучаются вопросы изменения поведения операционной системы при возрастании числа процессоров. В такой системе микроядро Mach будет работать на всех процессорах, а сервер OSF/1 потребуется только на некоторых из них.Как планирует OSF, в будущих версиях OSF/1 на основе Mach будет поддерживаться возможность размещения сервера OSF/1 в пространстве ядра или в пользовательском пространстве в соответствии с выбором системного администратора при конфигурировании системы. Выполнение сервера OSF/1 в пространстве ядра позволит повысить производительность, так как вместо передачи сообщений будут использоваться вызовы процедур, и сервер всегда будет целиком располагаться в памяти. При выполнении сервера в пользовательском пространстве будет возможен его свопинга, что потенциально увеличит память, доступную для программ пользователя. Заметим, что примерно такой же подход используется USL в версиях Unix, основанных на микроядре Chorus. Системные функции будут разработаны и отлажены в пользовательском пространстве, а потом можно будет перенести в пространство ядра для достижения наилучшей производительности.
Микроядро Chorus во многих отношениях походит на реализации Mach, выполненные IBM и OSF. Chorus включает поддержку распределенных процессоров, нескольких распределенных серверов операционной системы (во многом похожую на комбинацию Mach-OSF/1), управления памятью и обработки прерываний. Поддерживается также прозрачное взаимодействие с другими экземплярами микроядра Chorus, что делает Chorus хорошей основой для сильно распределенных систем. Существует несколько реализаций микроядра Chorus. Chorus/MiX, версия компании Chorus операционной системы с интерфейсами Unix, включает отдельные версии, совместимые с SVR3.2 и SVR4. USL собирается объявить Chorus/MiX V.4 микроядерной реализацией SVR4. USL и Chorus Systems планируют совместную работу по разработке Chorus/MiX V.4 в качестве будущего направления Unix. Специально для использования на персональных компьютерах компания Chorus поддерживает реализацию Chorus/MiX, совместимую с SCO. Драйверы устройств не включаются в ядро. Аналогично подходу IBM, драйверы получают доступ к аппаратуре через ядро. Это дает возможность компоненту более высокого уровня - менеджеру устройств, отслеживать работу драйверов, функционирующих в разных узлах распределенной системы.
Операционная системы SpringOS фирмы Sun, которая пока находится в стадии проектирования и разработки, основывается на микроядре и объектах. Вероятно, в SpringOS будет использоваться значительный объем существующих программ Solaris подобно тому, как в OSF/1 используется существующий сервер OSF/1. Компания Sun не объявляла об использовании какого-либо существующего микроядра и, по-видимому использует собственную разработку.
QNX и CTOS - это две зрелые микроядерные операционные системы, поставляемые на протяжении нескольких лет. 8-килобайтное микроядро QNX поддерживает только планирование и диспетчеризацию процессов, взаимодействие процессов, обработку прерываний и сетевые службы нижнего уровня. Это микроядро обеспечивает всего лишь 14 системных вызовов. Микроядро QNX может быть целиком размещено во внутреннем кэше некоторых процессоров, таких как Intel 486. Чтобы построить минимальную систему QNX, требуется добавить к микроядру менеджер процессов, который создает и управляет процессами и памятью процессов. Чтобы ОС QNX была применима не только во встроенных и бездисковых системах, нужно добавить файловую систему и менеджер устройств. Эти менеджеры исполняются вне пространства ядра, так что ядро остается небольшим. По утверждениям специалистов компании QNX Software заявляет, что подобная система, основанная на передаче сообщений, имеет производительность, по меньшей мере сравнимую с производительностью других традиционных операционных систем. CTOS, появившаяся в 1980 году, была написана для рабочих станций фирмы Convergent Technologies - семейства машин на основе процессоров Intel для работы в "кластерных сетях", соединенных по обычным телефонным проводам. Продаваемые в настоящее время фирмой Unisys, эти основанные на CTOS машины продемонстрировали преимущества распределенных вычислений на основе передачи сообщений задолго до того, как этот термин стал модным. Крохотное 4-килобайтное микроядро CTOS взяло на себя только планирование и диспетчеризацию процессов и взаимодействие процессов на основе сообщений. Все другие системные службы взаимодействуют с ядром и друг с другом через четко определенные интерфейсы сообщений. Сетевые средства входят в состав CTOS и являются действительно прозрачными для прикладных программ, которым не требуется знать, будет ли обработан запрос на обслуживание локально или удаленно. В любом случае сообщения передает одна и та же система взаимодействия процессов.
Знакомство с операционной системой Windows. Исследование её устройства, истории, возможностей, особенностей работы с ней для получения новых знаний. Описание наиболее использующихся и важных функций этой операционной системы, их практическое освоение. контрольная работа [2,9 M], добавлен 14.12.2009
Понятие операционной системы. История ее создания и развития. Разновидности современных операционных систем. Основные функции ОС общего и специального назначения. Вычислительные и операционные системы, их функции. Генерация операционной системы. курсовая работа [46,8 K], добавлен 18.06.2009
Изучение истории развития электронной цифровой подписи. Исследование её назначения, принципов работы, основных функций. Виды электронных подписей в Российской Федерации. Асимметричные алгоритмы подписей. Использование хеш-функций. Управление ключами. реферат [33,5 K], добавлен 04.06.2014
Рассмотрение классификации внеурочной деятельности. Описание структуры, достоинств и недостатков дистанционных олимпиад как средства внеурочной работы. Изучение понятия автоматизированной системы управления. Составление задания олимпиады по информатике. курсовая работа [800,7 K], добавлен 13.06.2015
Изучение основных аспектов моделирования операционной системы. Исследование принципов организации псевдопараллельной работы процессов. Анализ алгоритмов диспетчеризации процессов. Проектирование подсистемы управления памятью и запоминающими устройствами. курсовая работа [1,7 M], добавлен 12.01.2014
Изучение процесса создания новой версии Windows Vista. Исследование особенностей установки и интерфейса операционной системы. Характеристика требований к аппаратному обеспечению компьютера. Анализ основных средств навигации и работы в Windows Vista. реферат [33,6 K], добавлен 25.11.2014
Исследование аппаратно-программных средств Макинтош: история появления, формирование её достоинств и недостатков. Характеристика развития модельного ряда платформы Macintosh. Особенности операционной системы ОС MacOS. Программное и аппаратное обеспечение. курсовая работа [47,6 K], добавлен 01.06.2015
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2020, ООО «Олбест»
Все права защищены


Микроядерные операционные среды
Микроядерные Операционные Системы
Микроядерная архитектура операционных систем
Микроядерные операционные системы
Микроядерная операционная система
Инструменты И Участники Рынка Ценных Бумаг Реферат
Курсовые Разницы По Непринимаемым Расходам
На Английском Сочинение Описание Своего Класса
Классификация Компьютерных Реферат
Самостоятельные Контрольные Работы По Алгебре 9 Класс

Report Page