Компьютер представляет собой набор ресурсов, поддерживающих выполнение задач накопления, перемещения, хранения и обработки данных, а также контролирующих работу этих и других функций. Ответственность за управление этими ресурсами лежит на операционной системе.
Однако это управление осуществляется не обычным образом. Как правило, управляющее устройство представляется как нечто внешнее по отношению к управляемому объекту.
С операционной системой дело обстоит по-другому, так как этот управляющий механизм является необычным в двух отношениях:
- во-первых, функции операционной системы работают точно так же, как и все остальное программное обеспечение; т.е. они реализованы в виде отдельных программ или набора программ, исполняющихся процессором.
- во-вторых, операционная система часто передает управление другим процессам и должна ожидать, когда процессор снова позволит ей выполнять свои обязанности.
ОС – это, по сути, набор компьютерных программ. Как и любая другая программа, она отдает процессору команды. Ключевым отличием является назначение этой программы. Операционная система указывает процессору, как использовать другие системные ресурсы и как распределять время при исполнении других программ. Но для того, чтобы реализовать действия, предписываемые операционной системой, процессор должен приостановить работу с ней и перейти к выполнению других программ. Таким образом, операционная система уступает управление процессору, чтобы он смог выполнить некоторую работу, а затем возобновляет контроль ровно настолько, чтобы подготовить процессор к следующей части работы.
Рассмотрим схему взаимодействия основных ресурсов вычислительной системы и ОС (см рис. 4).
|
Кроме обеспечения связи прикладных программ с аппаратными средствам компьютера, большинство операционных систем обеспечивают распределение вычислительных ресурсов. Таких ресурсов несколько, но самыми важными вычислительными ресурсами являются время процессора и оперативная память.
Часть операционной системы находится в оперативной памяти. В эту часть входит ядро, содержащее основную часть наиболее часто используемых функций. Также в оперативной памяти находятся и некоторые другие компоненты ОС, использующиеся в данный момент времени.
Остальная используемая часть оперативной памяти содержит другие прикладные программы и данные.
ОС принимает решение, когда исполняющаяся программа может использовать нужные ей устройства ввода-вывода. Процессор также является ресурсом, поэтому операционная система должна определить, сколько времени он должен уделить исполнению той или иной пользовательской программы. В многопроцессорной системе решение должно быть принято по отношению ко всем процессорам.
Вопрос №2. Эволюция ОС
Режим пакетной обработкой
Первые компьютеры могли выполнять одновременно только одно задание или задачу. Такая форма компьютерной работы часто называется однопользовательской пакетной обработкой. Компьютер в каждый отрезок времени выполняет единственную программу, а обрабатываемые данные находятся в группах или пакетах.
При работе пакетных операционных систем машинное время распределялось между монитором (программа, управляет распределением ресурсов и руководит порядком загрузки программ) и программой пользователя.
|
При этом в жертву приносились два вида ресурсов: монитор занимал некоторую часть оперативной памяти, ему же требовалось и некоторое машинное время. И то и другое приводило к непроизводительным издержкам – «ожидание».
Выполнение одной задачи
Кроме того, процесс ожидания обусловленный «тормозом» – низкое быстродействие (скорость работы) устройств ввода-вывода, предоставляющих данные для задач.
Несмотря на это, простые пакетные системы с их однопользовательским режимом работы существенно повышали эффективность использования компьютера.
Многозадачный режим работы
По мере возрастания вычислительной мощи компьютеров становилось очевидным, что однопользовательский режим пакетной обработки не позволял эффективно использовать компьютерные ресурсы.
Эффективность использования процессора нужно было и можно было повысить. Действительно, обычно у компьютера достаточно памяти, чтобы разместить в ней операционную систему, в нашем случае резидентный монитор, и программу пользователя. Было задумано сделать так, чтобы множество задач имели возможность совместно использовать ресурсы компьютера, выполняясь «параллельно», переключаясь с одной на другую. Такой режим известен как многозадачность, и является основной чертой современных операционных систем.
Теперь, когда одно из заданий ждет завершения операций ввода-вывода, процессор может переключиться на другое задание, для которого в данный момент ввод-вывод не требуется.
|
Выполнение двух задач
ОС с разделением времени
В 60-е г.г. прошлого века появились ОС с разделением времени. Разделение времени – это специальный случай многозадачной ОС, когда пользователи имеют доступ к компьютеру через терминалы – устройства, не являющиеся вычислителями (не имеют собственного процессора, в наличии BIOS для загрузки встроенной ОС), выполняющие только операции ввода-вывода (монитор, мышь (современные Т.), клавиатура).
В типовых компьютерных системах разделения времени десятки и даже сотни пользователей могут работать одновременно. На самом же деле компьютер не работал со всеми одновременно. В действительности он выполняет лишь маленькую порцию работы для одного пользователя, затем переходит к обслуживанию другого и т.д. Тем самым создается видимость одновременного выполнения программ.