Типы архитектур ядер операционных систем
Операционные системы и среды. 1. Назначения и функции ОС. Характеристики современных ОС. 2. Принципы построения ОС. 3. Многозадачность и многопроцессорность ОС. 4. Понятие процесса и потока. Алгоритмы планирования процесса и потока. 5. Назначение и типы прерываний 6. Алгоритмы распределения памяти. 7. Файлы, типы файлов, атрибуты файлов. Файловые операции 8. Логическая и физическая организация файловой системы. Назначения и функции ОС. Характеристики современных ОС. Операционная система компьютера представляет собой комплекс взаимосвязанных программ, который действует как интерфейс между приложениями и пользователями с одной стороны, и аппаратурой с другой стороны. Основные функции (простейшие ОС): 1) Загрузка приложений в оперативную память и их выполнение; 2) Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода); 3) Управление оперативной памятью (распределение между процессами, виртуальная память); 4) Управление доступом к данным на энергонезависимых носителях (таких как Жёсткий диск, Компакт-диски т. д.), как правило с помощью файловой системы; 5) Пользовательский интерфейс; 6) Сетевые операции, поддержка стека протоколов Дополнительные функции: 1) Параллельное или псевдопараллельное выполнение задач(многозадачность); 2) Взаимодействие между процессами; 3) Защита самой системы, а также пользовательских данных и программ от злонамеренных действий пользователей или приложений; 4) Разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация). Современные ОС можно охарактеризовать: 1) Использующие файловые системы с универсальным механизмом доступа к данным
2) Многопользовательские, т.е. разделение полномочий 3) Многозадачные – т.е. разделение времени. В составе ОС различают три группы компонентов: 1. Ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевую подсистему, файловую систему; 2. Системные библиотеки 3. Оболочка с утилитами Ут́илита (англ. utility или tool) — программный продукт, предназначенный не для решения какой-либо прикладной задачи, а для решения вспомогательных задач. Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. Ядро́ — центральная часть операционной системы, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, оперативная память, внешнее оборудование.
Принципы построения ОС. Наиболее общим подходом к структуризации является разделение всех ее модулей на две группы: ядро и вспомогательные модули. Ядро включает модули, выполняющие основные функции ОС: · управление процессами · управление памятью · управление вводом-выводом и файловая система · прочие Модули, выполняющие вспомогательные функции: · Утилиты (Сжатие, архивирование, проверка, дефрагментация и пр.) · Системные обрабатывающие программы (редакторы, отладчики, компиляторы и пр.) · Программы дополнительных услуг (игры, калькулятор и пр.) · Библиотеки процедур (математических функций и пр.) · Вспомогательные модули ОС загружаются в оперативную память только на время выполнения (транзитные модули) Ядро́ — центральная часть операционной системы, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, оперативная память, внешнее оборудование. Обычно предоставляет сервисы файловой системы.
Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования API(Application Program Interface) Ядро работает в привилегированном режиме, и большая часть его модулей постоянно находится в памяти (резидентные). Разделение ОС на ядро и вспомогательные модули облегчает ее расширяемость Типы архитектур ядер операционных систем 1.Монолитное ядро предоставляет богатый набор абстракций оборудования. Таким образом, монолитное ядро (monolithic kernel) — это такая схема операционной системы, при которой все ее компоненты являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путем непосредственного вызова процедур. Все части монолитного ядра работают в одном адресном пространстве. Достоинства: Скорость работы, упрощённая разработка модулей. Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы. Монолитное ядро представляет собой набор процедур, каждая из которых может вызвать каждую. Все процедуры работают в привилегированном режиме. Монолитное ядро — старейший способ организации операционных систем. Для монолитной операционной системы ядро совпадает со всей системой. Во многих операционных системах с монолитным ядром сборка ядра, то есть его компиляция, осуществляется отдельно для каждого компьютера, на который устанавливается операционная система. При этом можно выбрать список оборудования и программных протоколов, поддержка которых будет включена в ядро. Так как ядро является единой программой, перекомпиляция — это единственный способ добавить в него новые компоненты или исключить неиспользуемые. Следует отметить, что присутствие в ядре лишних компонентов крайне нежелательно, так как ядро всегда полностью располагается в оперативной памяти. Кроме того, исключение ненужных компонентов повышает надежность операционной системы в целом. Примером систем с монолитным ядром является большинство Unix-систем. 2. Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем компьютеров.
Модульные ядра предоставляют тот или иной механизм подгрузки модулей ядра, поддерживающих то или иное аппаратное обеспечение (например, драйверов). При этом подгрузка модулей может быть как динамической (выполняемой «на лету», без перезагрузки ОС, в работающей системе), так и статической (выполняемой при перезагрузке ОС после переконфигурирования системы на загрузку тех или иных модулей). Все модули ядра работают в адресном пространстве ядра и могут пользоваться всеми функциями, предоставляемыми ядром. Поэтому модульные ядра продолжают оставаться монолитными. Модульные ядра предоставляют особый программный интерфейс (API) для связывания модулей с ядром, для обеспечения динамической подгрузки и выгрузки модулей. Кроме того, модули ядра обязаны экспортировать определённые функции, нужные ядру для правильного подключения и распознавания модуля, для его корректной инициализации при загрузке и корректного завершения при выгрузке, для регистрации модуля в таблице модулей ядра и для обращения из ядра к сервисам, предоставляемым модулем. Ядро «Linux » в настоящее время модульную архитектуру.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|