За годы, прошедшие после своего возникновения, операционные системы превратились из относительно простого в невероятно сложное программное обеспечение, которое в настоящее время необходимо и программистам, и обслуживающему персоналу, и операторам ЭВМ. Современная операционная система:
1. «Управляет» работой аппаратуры.
а. Операционная система реагирует на все отказы, регистрирует их, распределяет работу, управляет процедурами восстановления и возобновления работ. Она обрабатывает прерывания, идущие от других машин, часов, операторов и т. д. (до появления операционных систем всем этим занимались операторы ЭВМ).
б. Операционная система составляет расписание работ на машине, «решая», что можно начать выполнять некоторую работу, так как сейчас доступны все необходимые для нее магнитные ленты, диски, свободна оперативная память, печатающие устройства или какие-нибудь иные машинные ресурсы. Она ведет списки используемых устройств и поступающих заданий. Она составляет расписание! В этой роли она управляет работой трансляторов (компиляторов) и ввода/вывода. (Раньше эту работу выполнял обслуживающий персонал машинного зала.)
в. Она приписывает поступающим заданиям приоритеты. (Это делалось раньше обслуживающим персоналом.)
2. Помогает выполнять функции, необходимые для работы прикладных программ.
а. В ней есть программы сортировок, печати и загрузки, и программистам уже нет необходимости создавать собственные их версии. Ранее эти функции выполнялись программами, написанными прикладными программистами. Иногда эти функции считаются принадлежностью операционных систем, а иногда нет.
б. Она связывает между собой программы, тем самым множество различных частей программ может быть даже написанных разными программистами, будут работать как одно целое. (Ранее выполнялось программа ми прикладных программистов.)
3. Управляет хранением данных и их восстановлением, что совершенно необходимо для функционирования прикладных программ (так называемое Управление Данными)
а. Прикладной программист пишет команды запроса данных у операционной системы. Эти данные могут быть идентифицированы каким-либо специальным образом или вообще как-нибудь абстрактно, но в любом случае детали физического хранения не указываются. Операционная система вставляет в это места другие команды, которые приводят к запоминанию, отыскиванию, замене данных и т. д. (Ранее все это писалось прикладными программистами.) Этим достигается высокая сохранность данных и независимость программ от конкретных физических устройств. Пользователи и изготовители аппаратуры получают возможность, не внося никаких изменений в какие-либо прикладные программы, создавать новые, более совершенные, более дешевые устройства хранения файла. (Иногда эта область программного обеспечения рассматривается отдельно от операционных систем. Но она всегда является принадлежностью системного программирования.)
4. Управляет связью (посредством, например, телефонных линий) между программами, работающими на разных вычислительных машинах.
а. Обрабатывает сообщения, идущие от вычислительной машины и поступающие в нее извне, используя стандартные коммуникационные линии и сети. (Ранее писалось прикладными программистами.)
5. Управляет взаимодействием с пользователем (при помощи терминалов или телевизионных экранов).
а. Операционная система содержит программы, позволяющие пользователям работать с вычислительной машиной в диалоговом режиме с помощью стандартного дисплейного оборудования. (Ранее такие программы писали прикладные программисты.)
6. Защищает систему.
а. Она защищает свои собственные программы от «порчи» новыми, неотлаженными программами, впервые введенными в систему. (Ранее такой защиты не создавали.)
б. Операционная система выполняет восстановление функции, осуществляет дублирование, переключение, диагностическое и другое тестирование. (Ранее проделывалось вручную с помощью групп поддержки — т. е. крайне медленно.)
Операционные системы прошли длительный путь развития. В 1966 г. в журнале «IBM System Journal» была опубликована статья Мили под названием «Функциональная структура Операционной системы ОС/360» [6] G. H. Mealy. Functional Structure of the OS/360 Operating System.
. Мили отметил, что «идея операционных систем восходит по крайней мере к 1953 г., когда состоялась летняя школа по вычислительным машинам и пользовательским системам». Перед операционными системами «тогда, как и сейчас… ставили цель добиться безостановочного выполнения сразу нескольких задач и организовать библиотеку стандартных программ».
Читать дальше