Вс. Ноя 24th, 2024

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

Алгоритм пакетной обработки:

{

while (есть задания в пакете){

Формирование исполнимого файла (трансляция, компоновка);

if (нет ошибок){ Выполнение программы;}

else{ Обработка ошибки;

Пропуск данных для текущего задания;

}

}

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

Недостатки пакетного режима:

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

Основной недостаток первых систем пакетной обработки: пакеты должны были передаваться на исполнение компьютеру с внешнего устройства этого же компьютера, не существовало возможности дистанционной передачи команд и данных. В середине 60-х годов фирмой IBM был разработан способ для дистанционной передачи заданий на исполнение (Remote Job Entry — RJE).

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

От content