Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 2. Многуровневая организация компьютеров.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
131.07 Кб
Скачать

2.6. Изобретение операционной системы

В те времена, когда компьютеры только появились, принципы работы с ними сильно отличались от современных. Одним компьютером пользовалось большое количество людей. Рядом с компьютером лежал листок бумаги, и если программист хотел запустить свою программу, он записывался на какое-то определенное вре­мя. В назначенное время программист направлялся в ком­нату, где стоял компьютер, с пачкой перфокарт (которые тогда служили средством ввода) в одной руке и хорошо заточенным карандашом в другой. Каждая перфо­карта содержала 80 колонок; на ней в определенных местах пробивались отвер­стия. Войдя в комнату, программист вежливо просил предыдущего программи­ста освободить место и приступал к работе.

Если он хотел запустить программу на языке FORTRAN, ему необходимо бы­ло пройти следующие этапы:

  1. Он подходил к шкафу, где находилась библиотека программ, брал большую зеленую стопку перфокарт с надписью «Компилятор FORTRAN», помещал их в считывающее устройство и нажимал кнопку «Пуск».

  2. Он помещал стопку карточек со своей программой, написанной на языке FORTRAN, в считывающее устройство и нажимал кнопку «Продолжить». Программа считывалась.

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

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

  5. Тогда программист помещал эту программу на машинном языке в устройство считывания вместе с пачкой перфокарт из библиотеки подпрограмм и загру­жал обе эти программы.

  6. Начиналось выполнение программы. В большинстве случаев она не работала, неожиданно останавливаясь в середине. Обычно в этом случае программист начинал дергать переключатели на пульте и смотрел на лампочки. В случае удачи он находил и исправлял ошибку, подходил к шкафу, в котором лежала большая зеленая стопка перфокарт с надписью «Компилятор FORTRAN, и начинал все заново. В случае неудачи он делал распечатку содержания па­мяти, что называлось разгрузкой оперативного запоминающего устройства, и брал эту распечатку домой для изучения.

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

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

Операционная система считывала перфокарту *JOB и использовала содержа­щуюся на ней информацию для учета системных ресурсов (звездочка ставилась, чтобы отличать перфокарты с управляющей программой от перфокарт с данны­ми). Затем операционная система считывала перфокарту *FORTRAN, которая представляла собой команду для загрузки компилятора FORTRAN с носителя (например. магнитной ленты). После этого компилятор считывал и компилировал программу, написан­ную на языке FORTRAN. Как только компилятор заканчивал работу, операци­онная система считывала перфокарту *ДАННЫЕ — команду по выполнению транслированной программы с использованием перфокарт данных.

Операционная система была придумана для того, чтобы автоматизировать ра­боту оператора (отсюда и название), но это — не единственное ее преимущество. Создание операционной системы было первым шагом в развитии нового вирту­ального компьютера. Перфокарту *FORTRAN можно рассматривать как виртуаль­ную команду к компилятору, а перфокарту "ДАННЫЕ — как виртуальную ко­манду для выполнения программы. И хотя этот уровень состоял всего из двух команд, он стал первым шагом в развитии виртуальных компьютеров.

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

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

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