Программные мониторы — первые операционные системы
Два корня сетей передачи данных
История любой отрасли науки или техники позволяет не только удовлетворить естественное любопытство, но и глубже понять сущность основных достижений в этой отрасли, а также выявить тенденции и правильно оценить перспективность тех или иных направлений развития.
Сети передачи данных , называемые также вычислительными или компьютерными сетями, являются результатом эволюции двух важнейших научно-технических отраслей современной цивилизации — компьютерных и телекоммуникационных технологий (рис.1.1):
- С одной стороны, сети передачи данных представляют собой частный случай распределенных вычислительных систем, в которых группа компьютеров согласованно выполняет набор взаимосвязанных задач, обмениваясь данными в автоматическом режиме.
- С другой стороны, компьютерные сети могут рассматриваться как средство передачи информации на большие расстояния, для чего в них применяются методы кодирования и мультиплексирования данных, получившие развитие в различных телекоммуникационных системах.
Рис. 1.1.Эволюция компьютерных сетей на стыке вычислительной техники и телекоммуникационных технологий.
Итак,
- компьютерная сеть — это набор компьютеров, связанных коммуникационной системой и снабженных соответствующим программным обеспечением, которое предоставляет пользователям сети доступ к ресурсам этого набора компьютеров;
- сеть могут образовывать компьютеры разных типов — небольшие микропроцессоры, рабочие станции, мини-компьютеры, персональные компьютеры или суперкомпьютеры;
- передачу сообщений между любой парой компьютеров сети обеспечивает коммуникационная система, которая может включать кабели, повторители, коммутаторы, маршрутизаторы и другие устройства;
- компьютерная сеть позволяет пользователю работать со своим компьютером, как с автономным, и добавляет к этому возможность доступа к информационным и аппаратным ресурсам других компьютеров сети.
Появление первых вычислительных машин
Идея компьютера была предложена английским математиком Чарльзом Бэбиджем (Charles Babbage) в середине девятнадцатого века. Однако его механическая "аналитическая машина" по-настоящему так и не заработала.
Подлинное рождение цифровых вычислительных машин произошло вскоре после окончания второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства. Для этого периода характерно следующее:
- компьютер представлял собой скорее предмет исследования, а не инструмент для решения каких-либо практических задач из других областей;
- одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины;
- программирование осуществлялось исключительно на машинном языке ;
- не было никакого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм;
- операционные системы еще не появились, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления.
С середины 50-х годов начался следующий период в развитии вычислительной техники, связанный с появлением новой технической базы — полупроводниковых элементов. В этот период:
- выросло быстродействие процессоров, увеличились объемы оперативной и внешней памяти;
- компьютеры стали более надежными;
- появились первые алгоритмические языки, и, таким образом, к библиотекам математических и служебных подпрограмм добавился новый тип системного программного обеспечения — трансляторы;
- были разработаны первые системные управляющие программы — мониторы, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса.
Программные мониторы — первые операционные системы
Программные мониторы явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными не для обработки данных, а для управления вычислительным процессом.
В ходе реализации мониторов был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какие действия и в какой последовательности он хотел бы выполнить на вычислительной машине. Типовой набор директив обычно включал признак начала отдельной работы, вызов транслятора, вызов загрузчика, признаки начала и конца исходных данных.
Оператор составлял пакет заданий, которые в дальнейшем без его участия последовательно запускались на выполнение монитором. Кроме того, монитор был способен самостоятельно обрабатывать наиболее распространенные аварийные ситуации, возникающие при работе пользовательских программ, такие как отсутствие исходных данных, переполнение регистров, деление на ноль, обращение к несуществующей области памяти и т. д.