
Операционные системы
Практические работы и лекции
Архитектура операционной системы
1 Основные сведения об архитектуре операционной системы
2 Многослойная структура операционной системы
3 Аппаратная зависимость операционных систем
4 Микроядерная архитектура
5 Макроядерная архитектура
6 Требования к операционным системам реального времени
7 Интерфейсы операционных систем
1 Основные сведения об архитектуре операционной системы
Операционная система (ОС) – это сложный комплекс системных управляющих и обрабатывающих программ. Любая сложная система должна иметь понятную и рациональную структуру, то есть разделяться на части (в данном случае модули), имеющие определенное функциональное назначение с четко оговоренными правилами взаимодействия. Такой подход существенно упрощает работу по модификации и развитию системы, потому что сложную систему без хорошей структуры чаще проще разработать заново, чем модернизировать.
Архитектура ОС – это структурная организация и принципы построения ОС на основе различных программных модулей.
Архитектура определяет большинство возможностей ОС. Например, диалоговое взаимодействие предполагает реализацию развитой интерфейсной подсистемы, обеспечивающей взаимодействие пользователя с компьютером. То есть для диалоговых операционных систем необходимо предусмотреть множество механизмов, которые позволят пользователям эффективно управлять своей работой. Функциональная сложность ОС, соответственно, приводит к сложности архитектуры.
Обычно в состав ОС входят:
– исполняемые и объектные модули стандартных для данной ОС форматов;
– библиотеки разных типов;
– модули исходного текста программ;
– программные модули специального формата (например, загрузчик ОС, драйверы ввода-вывода);
– файлы конфигурации;
– файлы документации;
– модули справочной системы
и т. д.
Большинство современных ОС – это хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы.
Не существует единой архитектуры ОС, но существуют универсальные подходы к структурированию ОС.
Наиболее общим подходом к структуризации ОС является разделение всех ее модулей на две группы:
– ядро – модули, выполняющие основные функции ОС (управление памятью, устройствами ввода-вывода и т. д.);
– модули, выполняющие вспомогательные функции ОС.
Без ядра ОС является полностью неработоспособной и не может выполнить ни одну из своих функций. Крах ядра равносилен краху всей системы.
В состав ядра входят:
– функции, решающие внутрисистемные задачи организации вычислительного процесса (такие функции недоступны для приложений);
– функции для поддержки приложений. Эти функции создают для приложений так называемую прикладную программную среду;
– функции, которые могут вызываться приложениями, так как приложения могут обращаться к ядру с запросами (системными вызовами) для выполнения каких-либо действий, например для открытия и чтения файла, вывода графической информации на дисплей и т. д. Такие функции образуют интерфейс прикладного программирования[1] –ApplicationProgramInterface (API).
Наиболее часто используемыми функциями ОС являются функции, выполняемые модулями ядра, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.
Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.