Информатика. Курс лекций. Громов Ю.Ю - 53 стр.

UptoLike

3. ОПЕРАЦИОННЫЕ СИСТЕМЫ И СЕТИ
Современные прикладные задачи часто требуют от машины выполнения действий, которые могут конкурировать друг с
другом за ресурсы машины. Например, компьютер может быть соединен с несколькими терминалами или рабочими стан-
циями, с которых разные пользователи одновременно запрашивают выполнение каких-либо действий. Даже в вычислитель-
ных системах индивидуального пользования, таких, как персональный компьютер, пользователь может потребовать выпол-
нения не связанных друг с другом действийвоспроизведения музыки с компакт-диска во время редактирования документа
или даже распечатывание другого документа. Для осуществления всех этих действий необходима высокая степень коорди-
нации, чтобы быть уверенным, что несвязанные действия не мешают друг другу и что взаимодействие между связанными
действиями эффективно и надежно. Эта координация выполняется пакетом программ, который называется операционной
системой (operation system).
Похожие проблемы координации и взаимодействия возникают, когда разные компьютеры объединены в сеть (network
или net). Решение этих проблем является естественным продолжением предмета операционных систем. В этой главе мы об-
судим основные понятия, относящиеся к операционным системам и организации сетей.
3.1. ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ
Изучение операционных систем и сетей мы проведем в порядке их возникновения и развития: от ранних однопроцес-
сорных к более поздним многопроцессорным системам.
Однопроцессорные системы. В 1940 – 1950 гг. однопроцессорные машины были недостаточно гибкими и эффектив-
ными. Выполнение программ требовало определенной предварительной подготовки оборудования: установки лент, загрузки
перфокарт в устройство чтения перфокарт, установки переключателей и т.д. Запуск каждой программы, называемый задани-
ем (job), производился по отдельности. Если нескольким пользователям требовалось работать на одной и той же машине, то
предварительно составлялось специальное расписание, позволяющее им зарезервировать машинное время. На протяжении
отведенного времени машина находилась полностью в распоряжении пользователя. Сеанс обычно начинался с подготовки
машины, после чего следовало выполнение самой программы. Чаще всего сеанс заканчивался лихорадочными усилиями
пользователя сделать что-то еще ("Это займет только одну минуту!"), в то время как следующий пользователь с нетерпением
ожидал, когда он сможет приступить к подготовке машины для своей задачи.
В подобной ситуации операционные системы создавались как средство для упрощения подготовки программ и ускоре-
ния перехода от одного задания к другому. Первой целью создания таких систем было отделение пользователя от оборудо-
вания, что позволяло избавиться от постоянного потока людей, входящих и выходящих из помещения, в котором находилась
машина. Дополнительно была введена должность оператора компьютера, задача которого заключалась в выполнении всех
операций непосредственно на оборудовании. Каждый пользователь должен был предоставить оператору программу вместе с
необходимыми данными и специальными указаниями о ее требованиях, а затем вернуться за результатами. Оператор загру-
жал полученные материалы в массовую память машины, откуда операционная система могла отправить их на выполнение.
Это было началом пакетной обработки (bath processing) – метода выполнения заданий посредством предварительного объе-
динения их в единый пакет, который затем выполнялся без дальнейшего взаимодействия с пользователем. Задания, ожи-
дающие своего выполнения в массовой памяти, образуют очередь заданий (job queue) (рис. 3.1).
Очередьэто способ организации памяти, когда сохраняемые в ней объекты (в нашем случаезадания) упорядочены
по принципу "Первым вошелпервым вышел" (FIFO, First-in, First-out), т.е. объекты покидают очередь в том же порядке, в
котором они в нее поступают. На самом деле большинство очередей задач не следует в точности принципу FIFO, так как
большая часть операционных систем поддерживает установку приоритетов задач. В результате выполнение находящегося в
очереди задания может быть отодвинуто на более поздний срок заданием с более высоким приоритетом.
В ранних системах пакетной обработки каждое задание сопровождалось рядом инструкций, описывающих шаги, необ-
ходимые для подготовки машины к выполнению этого конкретного задания. Эти инструкции кодировались на языке управ-
ления заданиями (Job Control Language – JCL) и помещались вместе с заданием в очередь задач.
Рис. 3.1. Пакетная обработка
Когда задание выбиралось для выполнения, операционная система распечатывала эти инструкции на принтере, чтобы опе-
ратор мог их прочитать и выполнить. Инструкции, требовавшие вмешательства оператора, касались главным образом управ-
ления периферийным оборудованием. Поскольку в настоящее время эти действия сведены к минимуму, язык управления
заданиями превратился, скорее, в язык общения с операционной системой, а не с оператором компьютера. И действительно,
должность оператора компьютера стала практически ненужной.
Теперь организации нанимают для управления вычислительной системой системных администраторов. В их задачу,
вместо управления вычислительными системами в прежнем понимании этого слова, входит получение нового оборудования
и программного обеспечения, наблюдение за его установкой, осуществление локального руководства, включающего ведение