Первые пакетные ОС

Первые операционные системы были разработаны в середине 50-х годов в компании General Motors для компьютеров IBM 701 ( одной из заметных ОС стала IBSYS фирмы IBM) и в начале 60-х для других компьютеров появились свои аналоги.

Это были пакетные ОС т.е это программа, которая называлась монитор и ее задача была считывать с устройства ввода последовательно задания одно за другим и запускать их на выполнение:

· программисты заранее готовили программы и передавали оператору

· оператор собирал программы в пакеты и помещал их в устройство ввода

· Монитор считывает очередной пакет с устройства ввода и выполняет его, затем снова считывает следующий и выполняет его и.т.д. При каждом завершении работы программы, управление передается монитору, который загружает следующую программу.

· Часть монитора находится постоянно в оперативной памяти ( это резидентная часть программы) , которая использует часть оперативной памяти, а в остальную часть памяти загружаются сами программы пользователя и вспомогательные данные.

· Время процессора распределяется между монитором и пользовательской программой;

· В каждую программу включаются команды управления монитора ( язык управления заданиями JCL-job control language). Например, программа на фортране обычно включала команды с $:

$JOB начало задания

$FTN загрузка компилятора языка фортран ( с ленты или др устройства) и запуск его. Результат сохраняется в памяти

---- строки программы---

$LOAD запись на ленту откомпилированной программы

$RUN запуск программы на исполнение

При считывании с устройства ввода-вывода и записи на него управление передается подпрограмме ввода операционной системы

 

Для первых операционных систем и последующих были разработаны специальные средства для управления процессом запуска заданий ( основные компоненты ОС):

· Защита памяти: программа не должна использовать память монитора (ОС). Если такая ошибка происходит, то аппаратная часть процессора обнаруживает это и передается управление монитору, который снимает задачу с выполнения и печатает сообщение об ошибке.

· Таймер: для предотвращения бесконтрольного захвата времени программой в начале каждой программы выставляется таймер, который по истечение заданного промежутка времени останавливает программу и передает управление монитору. Такие прерывания по таймеру работы программы выполняются постоянно через небольшой промежуток времени, что позволяет в любой момент времени с помощью команд монитора перехватить управление системой.

· Привилегированные команды: некоторые машинные команды имеют привилегии – исполняются только монитором. Если процессор обнаружит использование этой команды пользовательской программой, то он прервет ее выполнение и передаст управление монитору. К этим командам относятся команды ввода-вывода.

· Прерывания: В первых моделях компьютеров их не было, но в последующих они появились. Прерывания позволяют реагировать на сигналы аппаратуры или программ и прерывать работу выполняемой программы для обработки этих сигналов.

ИТОГ: пакетные ОС решали проблему расписания и повышали эффективность использования компьютера, однако в каждый промежуток времени исполнялась только 1 программа т.е. эти системы были однозадачными. К таким системам относится MS DOS, однако она разработана с использованием интерактивного режима работы т.е. программы запускаются пользователем с помощью команд по мере необходимости. Такая возможность реализована благодаря системе прерываний.