Системы коллективного пользования

(многозадачные системы)

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

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

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

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

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

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