logo
Шпоры компютерные технологии

9. Фунции и состав типичной операционной системы, режимы работы

Основные функции операционных систем

Современные ОС - по крайней мере, широко распространенные системы -во многом похожи друг на друга.Прежде всего это определяется требованием переносимости программногообеспечения. Именно для обеспечения этой переносимости был принятPOSIX (Portable OS Interface based on uniX) - стандарт,определяющий минимальные функции по управлению файлами, межпроцессномувзаимодействию и т.д., которые должна уметь выполнять система.

Кроме того, за четыре с лишним десятилетия, прошедших с моментаразработки первых ОС, сообщество программистов достигло определенногопонимания того, что:

при разработке ОС возникает много стандартных проблем и вопросов;

для большинства из этих проблем и вопросов существует наборстандартных решений;

некоторые из этих решений намного лучше, чем все альтернативные.

По современным представлениям, ОС должна уметь делать следующее:

Обеспечивать загрузку пользовательских программ в оперативную памятьи их исполнение.

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

Предоставлять более или менее стандартный доступ к различнымустройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.

Предоставлять некоторый пользовательский интерфейс. Слово некоторыйздесь сказано не случайно - часть систем ограничивается командной строкой,в то время как другие на 90% состоят из средств интерфейса пользователя.

Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известныхсистем такого типа - дисковая операционная система MS DOS.

Более развитые ОС предоставляют также следующие возможности:

Параллельное (точнее, псевдопараллельное, если машина имеет только одинпроцессор) исполнение нескольких задач.

Распределение ресурсов компьютера между задачами.

Организация взаимодействия задач друг с другом.

Взаимодействие пользовательских программ с нестандартными внешними устройствами.

Организация межмашинного взаимодействия и разделения ресурсов.

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

Пакетный режим

Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём ОС может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.

Разделение времени и многозадачность

Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.

Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких, как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие, как массивные вычисления) — в пакетном режиме.

Разделение полномочий

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

Реализация разделения полномочий в ОС была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).

Реальный масштаб времени

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.