Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник ОЭВМ Трусфус.doc
Скачиваний:
125
Добавлен:
12.03.2015
Размер:
4.82 Mб
Скачать

1.5. Эволюция режимов работы эвм

На формировании структур ЭВМ, кроме особенностей развития элементной базы и смены областей использования, значительный след оставила эволюция их режимов работы. Основными режимами были следующие:

  • непосредственного доступа,

  • однопрограммной пакетной обработки,

  • мультипрограммной пакетной обработки,

  • коллективного доступа,

  • клиент-сервер.

Режим непосредственного доступа

Самым простым и естественным является однопрограммный режим непосредственного доступа. Это режим работы первых ЭВМ. Он предусматривает отсутствие операционной системы и доступ пользователя к средствам управления и индикации. В первых ЭВМ в состав программного (математического) обеспечения часто входил только пакет прикладных программ (программ решения основных научно-технических задач).

При работе на ЭВМ пользователь должен был написать и занести на носитель (например, перфокарты для первых ЭВМ) проблемную программу или выбрать ее из пакета прикладных программ. С любой выбранной программой с использованием ЭВМ можно произвести множество действий: выполнить, распечатать, скопировать на тот или иной носитель, модифицировать и т.д. Все эти действия и их порядок определял программист. Это самый простой и естественный режим взаимодействия ЭВМ и программиста.

Но опыт эксплуатации ЭВМ первого и частично второго поколения выявил недостатки этого режима. Это медленная реакция пользователя на различные ситуации в ЭВМ, требующие вмешательства, включая медленный ручной набор данных при их вводе. Медленная реакция человека (программиста) приводила к значительным простоям ЭВМ.

Режим однопрограммной пакетной обработки

На смену режиму непосредственного доступа пришел режим однопрограммной пакетной обработки. Этот режим предусматривал отсутствие пользователя как причины замедления работы ЭВМ.

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

Эти программы, написанные на языке диспетчера, и составляли пакет.

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

Для реализации этого режима ЭВМ снабжалась системой прерывания и операционной системой (ОС), по крайней мере, в виде диспетчера и набора программ обработки прерываний.

В современных ЭВМ, например в IBM-PC, сохранились команды ОС для задания последовательности действий ОС. Это команды, которые можно использовать в программах с расширением bat.

Пример такой программы:

@echo off ;выполнять команды DOC без вывода сообщений на экран,

demo.com ;запустить программу demo.com,

project.exe ;запустить программу project.exe,

и т.д.

Однопрограммный пакетный режим работы значительно сократил простои ЭВМ.

Режим мультипрограммной пакетной обработки

При обработке программ в однопрограммном пакете поочередно работают две системы: процессор и система ввода/вывода. Дальнейшее повышение производительности ЭВМ связано с организацией их параллельной работы.

Многопрограммные варианты пакетной обработки получили название "режимы мультипрограммирования".

Цель этих режимов – минимизация простоев процессора при обработке пакета программ.

Стратегия одного из режимов мультипрограммирования – режима классического программирования – заключалась в следующем.

Часть первых программ в пакете получают статус "задача". Это программы, которые выбраны для выполнения.Некоторые этих программ могут находиться в состоянии "ожидание". Это задачи, для которых производится загрузка данных или сохранение результатов. Другие могут находиться в состоянии "счет". Это задачи, для которых загружены данные и они готовы к обработке на процессоре. Часть из них находится в стадии выполнения процессором. Остальные задачи этой группы ожидают освобождения процессора в очереди на обработку.

Для сохранения результатов после состояния «счет» задачи переходят в состояние «ожидание». Это возможное ожидание освобождения соответствующего периферийного устройства для сохранения результатов работы программы на внешних носителях.

Таким образом, производится совмещение процедур обработки данных с их загрузкой и сохранением. Возможности мультипрограммной обработки определяются архитектурными особенностями ЭВМ и используемой операционной системой. В системе ЕС-ЭВМ операционная система DOC обеспечивала режим мультипрограммной обработки до 3-х программ пакета, операционная система ОС – до 15.

На рис. 1.4 представлена временная диаграмма выполнения трех программ в режиме классического мультипрограммирования. На этом рисунке цифрами обозначены номера выполняемых программ.

Временная диаграмма представлена с момента времени t0, когда все программы пакета находятся в состоянии "счет". С этого момента процессор начинает выполнение первой из этих программ (на рисунке принадлежность линий диаграмм к конкретным задачам помечена цифрами).

Как правило, выполнение программ начинается процедурой ввода программы из внешней памяти по специальной команде "начать ввод/вывод" с указанием программы ввода/вывода. Саму программу ввода/вывода выполняет не процессор, а специализированные программно-управляемые устройства ввода/вывода (каналы).

В момент t1 (рис 1.4) процессор инициализирует процедуру ввода/вывода по первой команде для задачи 1. Операция ввода/вывода выполняется каналом (специализированным процессором) по программе ввода/вывода без участия центрального процессора, задача 1 на время выполнения программы ввода/вывода переходит в состояние "ожидание" до окончания операции ввода/вывода, а процессор переходит к выполнению команд следующей программы в состоянии «задача». На рис. 1.4 – это задача 2.

В момент t2 процессор по команде программы 2 включает операцию ввода/вывода и задача 2 переходит в состояние ожидания в очередь за задачей 1.

В момент t3 процессор по команде программы 3 включает операцию ввода/вывода, задача 3 переходит в состояние ожидания в очередь за задачей 2. Это момент когда все задачи ожидают окончания операции ввода/вывода. Процессор также переходит в состояние ожидания. В момент t4 оканчивается операция ввода/вывода задачи 1. Процессор узнает этот момент по сигналу прерывания от устройства ввода/вывода. Задача 1 первая возвращается в состояние «счет» и процессор переходит к обработке ее команд.

В моменты t5 и t6 заканчиваются операции ввода/вывода для задач 3 и 2 и эти задачи переходят в состояние "ожидание" в ожидании освобождения процессора.

В момент t5 по команде задачи 3 процессор включает операции ввода/вывода для задачи 3 и переходит к обработке команд задачи 2, как первой задачи в очереди задач в состоянии "счет".

В момент t9 заканчивается обработка задач 1 и 3; они заменяются новыми задачами и обработка пакета продолжается.

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

Режим классического мультипрограммирования уменьшает время простоев процессора, но не предусматривает повышения качества обслуживания пользователей.

Дальнейшая модификация режима заключалась в введении приоритетов программ в пакете и циклического переключения программ.

Введение приоритетов (по параметрам программ с учетом соотношений времени ввода/вывода и процессорной обработки) было предназначено для упрощения работы программы планировщика пакетов, а циклическое переключение программ – для вывода процессора из зацикливаний.

Переключение задач на обслуживание процессором производилось:

  • по команде окончания в программе,

  • по команде обращения к устройствам ввода/вывода,

  • по переходу в состояние «задача» программы с более высоким уровнем приоритета,

  • по окончании тайм-аута обработки данной задачи.

Введение приоритетов программ позволило перейти к новому режиму работы ЭВМ – режиму разделения времени (режим коллективного доступа).

Режим коллективного доступа.

Это возврат к непосредственному доступу, но с сохранением пакетной обработки. В систему добавляются терминалы (устройство ввода, например клавиатура, и вывода, например дисплей) и системная резидентная программа обслуживания терминалов как задача с наивысшим уровнем приоритета.

Режим коллективного доступа строится с использованием терминалов на основе режима классического программирования (рис.1.5).

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

Доступ с терминалов предназначается для работ по отладке программ в прямом доступе, для обращения к разным справочникам, а также для многоабонентного обслуживания, например на железнодорожном вокзале при оформлении билетов.

При нажатии любой клавиши на терминале в режиме коллективного доступа в процессор ЭВМ поступает сигнал прерывания. Программа обработки прерывания переключает процессор на обработку задач с терминалов. Так как производительность ЭВМ намного выше производительности человека, ЭВМ в большинстве случаев может удовлетворять запросы многих пользователей без взаимных помех. Кроме этого, для разрешения возможных конфликтов между запросами, они фиксируются на регистре запросов первой очереди и с него по очереди поступают на обработку.

На обработку каждого запроса в этом режиме отводится определенный квант времени. Если он достаточен для решения, то ответ передается на терминал источника. Если квант времени недостаточен для формирования ответа, то дальнейшая обработка запроса откладывается с фиксацией его на регистре второй очереди.

Запросы с регистра второй очереди поступают на обработку только после обработки всех запросов регистра первой очереди.

На обработку запросов с регистра второй очереди отводится квант времени значительно большей длительности. Если квант времени снова недостаточен для обработки, то запрос переводится на регистр третий очереди, а затем в пакет фоновой обработки. В любом случае результат обработки запроса поступает на терминал с большей или меньшей задержкой.

Этот алгоритм реализует стратегию: на простой запрос – ответ мгновенный, на сложный вопрос – с задержкой, величина которой возрастает в разы с ростом сложности вопроса. Здесь простота вопроса определяется временем обработки запроса.

Но в чистом виде этот режим работы продержался недолго. Причина – появление персональных компьютеров (personal computer - PC). Оказалось, что РС сравним по стоимости с терминалом (с учетом стоимости средств удаленного доступа, так как терминалы располагались вне машинного зала, например в кабинетах и даже в других зданиях и т.д.).

Режим клиент-сервер

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

Но, несмотря на то, что РС изначально предназначались для работы "один для одного", их стали объединять в локальные сети. Для этого было достаточно много причин. Это, в первую очередь, повышение производительности парка ЭВМ в случае их коллективной эксплуатации, например коллективом фирмы, за счет возможности их более полной загрузки. Отдельные пользователи могли загружать полезной работой все свободные ЭВМ в сети.

Кроме этого, для более трудоемких вычислений в парк ЭВМ можно было вводить более производительные ЭВМ в качестве рабочих станций. В качестве рабочих станций использовались более дорогие и производительные ЭВМ, "бывшие" мини-ЭВМ или ЭВМ общего назначения. Работа в сети упрощала решение проблемы их более полной загрузки работой.

По сути дела это был возврат к системе коллективного доступа, но в рамках сетевой распределенной обработки.

Для повышения эффективности использования рабочих станций их стали конфигурировать под определенные сервисные услуги и применения. Такие рабочие станции стали называть серверами. Тип сервера определяется видом ресурса, которым он владеет (файловая система, база данных, принтеры, процессоры или прикладные пакеты программ). Появились файл-серверы, серверы базы данных, принт-серверы, серверы приложений и т.д.

Появилось понятие "клиент - сервер". "Клиент- сервер" – это название не только режима, но и способа программирования. При работе в режиме «клиент-сервер» программа состоит из двух взаимодействующих программ – программы «клиент» и программы «сервер».

Программа "клиент" ставится на рабочем месте оператора (пользователя), а программа "сервер" на одном из серверов.

Программа "клиент" выполняет функции посредника между пользователем и сервером. Программа «сервер» – это целевая программа обработки данных.

Программа «клиент» принимает от оператора задание, определяет соответствующий сервер, передает ему задание пользователя, принимает решение задачи от сервера и отображает его на экране в форме, удобной для восприятия пользователем.

Вопросы для самопроверки:

1. Характеристика режима непосредственного доступа.

2. Характеристика режима однопрограммной пакетной обработки.

3. Функции диспетчера .

4. Функции системы прерывания в организации однопрограммной пакетной обработки.

5. Характеристика режима мультипрограммной пакетной обработки.

6. Цель режима мультипрограммной пакетной обработки.

7. Стратегия режима мультипрограммной пакетной обработки.

8. Цель введения приоритетов в режиме мультипрограммной пакетной обработки.

9. Стратегия переключения программ в режиме мультипрограммной пакетной обработки.

10. Определение режима коллективного доступа.

11. Стратегия обслуживания запросов с терминалов в режиме коллективного доступа.

12. Режим «клиент-сервер».

14. Понятия «рабочая станция», «сервер».