Пакетная обработка

Пакетная обработка

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

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

{

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

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

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

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

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

}

} 

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

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

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

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

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

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

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

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