Понятия вычислительного процесса и ресурса
29
лись гораздо позже мультипрограммных. Как это ни кажется странным, им пред-
шествовали многочисленные и разнообразные операционные системы, позволяю-
щие одновременно работать с компьютером большому количеству пользователей
и параллельно решать множество задач. Основная причина тому — стоимость ком-
пьютера. Только с удешевлением компьютеров появилась возможность иметь свой
персональный компьютер, и первое время считалось, что однопрограммного ре-
жима работы вполне достаточно. Главным для персональных компьютеров до сих
пор считается удобство работы, причем именно в диалоговом режиме, простота
интерфейса и его интуитивная понятность.
Совмещение диалогового режима работы с компьютером и режима мультипрог-
раммирования привело к появлению мулътитерминалъных, или многопользова-
тельских, систем. Организовать параллельное выполнение нескольких задач можно
разными способами (более подробно об этом см. в главе 2). Если это осуществля-
ется таким образом, что на каждую задачу поочередно выделяется некий квант
времени, после чего процессор передается другой задаче, готовой к продолжению
вычислений, то такой режим принято называть режимом разделения времени (time
sharing). Системы разделения времени активно развивались в 60-70 годы, и сам
термин означал именно мультитерминальную и мультипрограммную систему.
Итак, операционная система может поддерживать мультипрограммирование (мно-
гопроцессность). В этом случае она должна стараться эффективно использовать
имеющиеся ресурсы путем организации к ним очередей запросов, составляемых
тем или иным способом. Это требование достигается поддерживанием в памяти
более одного вычислительного процесса, ожидающего процессор, и более одного
процесса, готового использовать другие ресурсы, как только последние станут до-
ступными.
Общая схема выделения ресурсов такова. При необходимости использовать ка-
кой-либо ресурс (оперативную память, устройство ввода-вывода, массив данных
и т. п.) вычислительный процесс (задача) путем обращения к супервизору
1
(su-
pervisor) операционной системы посредством специальных вызовов (команд, ди-
ректив) сообщает о своем требовании. При этом указывается вид ресурса и, если
надо, его объем. Например, при запросе оперативной памяти указывается количе-
ство адресуемых ячеек, необходимое для дальнейшей работы.
Команда обращения к операционной системе передает ей управление, переводя
процессор в привилегированный режим работы (см. раздел «Прерывания»), если
такой существует. Большинство компьютеров имеют два (и более) режима рабо-
ты: привилегированный (режим супервизора) и пользовательский. Кроме того, мо-
гут быть режимы для эмуляции какой-нибудь другой ЭВМ или для организации
виртуальной машины, защищенной от остальных вычислений, осуществляемых
на этом же компьютере, и т. д. Мы уже говорили об этом, затрагивая вопрос орга-
низации прерываний.
Супервизор — центральный (главный) управляющий модуль операционной системы. Может состо-
ять из нескольких модулей, например супервизора ввода-вывода, супервизора прерываний, супер-
визора программ, диспетчера задач и т. д. В последние годы термин «супервизор» применяется все
реже и реже.