
- •Домашнее задание по курсу «Операционные системы»
- •2013/14 Учебный год Номер варианта совпадает с номером студента в списке группы
- •Методические указания к выполнению домашнего задания
- •Часть 2
- •1 Каковы функции разрабатываемой ос?
- •2 Каким образом на рассматриваемом компьютере будут организованы три основных структурных элемента компьютера (рис. 1)?:
- •3 Какова архитектура разрабатываемой ос?
- •4. Каким образом в разрабатываемой ос будут выполняться следующие основные функции?
3 Какова архитектура разрабатываемой ос?
Операционная система выполняет множество функций, которые обычно группируются в соответствии с видом ресурса, которым управляет операционная система, либо со специфической задачей, применимой ко всем видам ресурсов. Наиболее общим подходом к структуризации операционной системы является её разделение всех её модулей на две группы:
ядро — модули, выполняющие основные функции операционной системы, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекста, управление памятью, обработка прерываний, работа с внешними устройствами и т. п.
компоненты, реализующие дополнительные функции операционной системы — всевозможные служебные программы, или утилиты.
Для надежного управления ходом выполнения программ операционная система должна иметь по отношению к пользовательским процессам определенные привилегии — иначе некорректно работающее приложение сможет вмешаться в работу операционной системы. Например, взаимодействие с аппаратурой возможно только на самом высоком уровне привилегий, который не дается обычным программам. Чаще всего именно ядро является той частью операционной системы, которая работает в привилегированном режиме.
Большинство современных операционных систем представляет собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Существует ряд универсальных подходов к стуктурированию операционных систем, среди которых можно выделить монолитную и микроядерную архитектуры.
Монолитная операционная система. Большинство операционных систем использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот (хоть этот процесс и происходит с аппаратной поддержкой, он занимает значительное время). Такое ядро делится на основные компоненты и модули, реализующие дополнительную функциональность, — например, работу со специфическими внешними устройствами и файловыми системами (см. рис. 5), Переход из пользовательского режима в режим ядра осуществляется через системные вызовы — интерфейс ядра операционной системы.
Рисунок 5 – Структура монолитного ядра операционной системы
Микроядерная операционная система Альтернативой является построение операционной системы на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой. В этом случае более высокоуровневые функции операционной системы выполняются специализированными компонентами — серверами, работающими в пользовательском режиме. Управление и обмен данными при этом осуществляется через передачу сообщений, доставка которых является одной из основных функций микроядра (см. рис.6). При таком построении операционная система работает значительно более медленно, так как часто выполняются переходы между привилегированным и пользовательским режимом, зато система получается более гибкой — её функции можно наращивать или модифицировать, добавляя, изменяя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
Рисунок 6 – Структура операционной системы с микроядром
Можно выделить следующие функции современной многозадачной многопользовательской операционной системы: управление процессами, управление памятью, управление файлами и внешними устройствами, защита данных и администрирование, интерфейс прикладного программирования, пользовательский интерфейс.