Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
202110_3DB25_otvety_k_gosudarstven-HkWCt.doc
Скачиваний:
12
Добавлен:
06.09.2019
Размер:
2.85 Mб
Скачать
  1. Архитектура операционной системы

Любая сложная система должна иметь понятную и рациональную структуру, т.е. разделяться на части – модули, каждый из которых должен иметь законченное функциональное назначение с четко оговоренными правилами взаимодействия. Такая структура существенно упрощает работу по модификации и развитию системы. Напротив, сложную систему без хорошей структуры чаще проще разработать заново, чем модернизировать.

Обычно в состав операционной системы входит:

а) исполняемые и объектные модули стандартных для данной операционной системы форматов;

б) библиотеки разных типов;

в) модули исходного текста программ;

г) программные модули специального формата (например, загрузчик ОС, драйверы ввода – вывода);

д) конфигурационные формулы;

е) файлы документации;

ж) модули справочной системы и т.д.

Большинство современных операционных систем представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой – либо единой архитектуры операционных систем не существует, но существуют универсальные подходы к структурированию ОС.

Ядро и вспомогательные модули ОС

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на 2 группы:

  1. ядро – модули, выполняющие основные функции ОС;

  2. модули, выполняющие вспомогательные функции ОС.

Модули ядра выполняют такие базовые функции ОС, как

  • управление процессами;

  • управление памятью;

  • управление устройствами ввода – вывода и т.п.

Ядро составляет сердцевину операционной системы, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.

В состав ядра входят функции, решающие внутрисистемные задачи организации ВП:

Например: – переключение контекстов,

  • загрузка/выгрузка страниц,

  • обработка прерываний.

(Эти функции недоступны для приложений).

  • создание прикладной программной среды.

Приложения могут обращаться к ядру с запросами – системными вызовами – для выполнения тех или иных действий, например, для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т.д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования – API.

Скорость выполнения функций ядра определяет производительность системы в целом. Для обеспечения высокой скорости работы операционной системы все модули ядра или их большая часть постоянно находятся в ОП, т.е. являются резидентными.

Крах ядра равносилен краху всей системы.

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

Остальные модули ОС выполняют весьма полезные, но менее обязательные функции.

Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур. Поскольку некоторые компоненты ОС оформлены как обычные приложения, т.е. в виде исполняемых модулей стандартного для данной ОС формата, то часто бывает сложно провести грань между операционной системой и приложением.

В спомогательные модули ОС обычно подразделяются на следующие группы:

  • утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерной системы. Например, программа сжатия дисков, архивирование данных на МЛ;

  • системные обрабатывающие программы – текстовые или графические редакторы компиляторы, компоновщики, отладчики;

  • программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры и пр.

  • библиотеки процедур различного назначения, упрощающие разработку приложений.

Например, библиотека математических функций, функций ввода – вывода и т.д.

Как и обычные приложения, для выполнения своих задач вспомогательные модули ОС обращаются к функциям ядра посредством системных вызовов.

Р азделение операционной системы на ядро и модули – приложения обеспечивает легкую расширяемость ОС.