<<
>>

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

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

Если он хотел запустить программу на языке ЕСЖТКАМ, ему необходимо было пройти следующие этапы:

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

2.

Он помещал стопку карточек со своей программой, написанной на языке ЕО!1Т11АМ, в считывающее устройство и нажимал кнопку «Продолжить». Программа считывалась.

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

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

5.

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

6. Начиналось выполнение программы. В большинстве случаев она не работала, неожиданно останавливаясь в середине. Обычно в этом случае программист начинал дергать переключатели на пульте и смотрел на лампочки. В случае удачи он находил и исправлял ошибку, подходил к шкафу, в котором лежала большая зеленая стопка перфокарт с надписью «Компилятор ЕО!1Т11А№>, и начинал все заново. В случае неудачи он делал распечатку содержания памяти, что называлось разгрузкой оперативного запоминающего устройства, и брал эту распечатку домой для изучения.

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

В 60-е годы человек попытался ускорить дело, автоматизировав работу оператора. Программа под названием операционная система загружалась в компьютер на все время его работы. Программист приносил пачку перфокарт со специализированной программой, которая выполнялась операционной системой. На рис. 1.3 показана модель пачки перфокарт для первой широко распространенной операционной системы FMS (FORTRAN Monitor System) к компьютеру 709 компании IBM.

*£N0

Рис. 1.3. Схема работы с операционной системой РМЭ

Операционная система считывала перфокарту ^ОВ и использовала содержащуюся на ней информацию для учета системных ресурсов (звездочка ставилась, чтобы отличать перфокарты с управляющей программой от перфокарт с данными). Затем операционная система считывала перфокарту *Р(ЖТЕАК, которая представляла собой команду для загрузки компилятора РОВТВАК с магнитной ленты.

После этого компилятор считывал и компилировал программу, написанную на языке РСЖТВАМ. Как только компилятор заканчивал работу, операционная система считывала перфокарту *ДАННЫЕ — команду по выполнению транслированной программы с использованием перфокарт данных.

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

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

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

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

Хотя нас интересуют только те компоненты операционной системы, которые интерпретируют команды третьего уровня, необходимо понимать, что это — не единственная функция операционных систем.

<< | >>
Источник: Таненбаум Э.. Архитектура компьютера. 5-е изд. 2007

Еще по теме Изобретение операционной системы:

  1. Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
  2. В.Е. Карпов К.А. Коньков. Основы операционных систем, 2005
  3. Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ, 2015
  4. 4. Особенности использования секретных изобретений
  5. 2. Патентоспособность изобретения
  6. 1. Изобретение.
  7. 4. Экспертиза заявки на изобретение
  8. 9. Особенности правовой охраны секретных изобретений
  9. 2. Патентоспособность изобретения, полезной модели
  10. 3. Заявка на выдачу патента на изобретение
  11. 7. Приоритет изобретения, полезной модели и промышленного образца
  12. 10. Патентование изобретений или полезных моделей в иностранных государствах
  13. 8. Регистрация изобретения, полезной модели, промышленного образца и выдача патента
  14. Статья 464. Имущественные права интеллектуальной собственности на изобретение, полезную модель, промышленный образец
  15. § 39 Классификация договоров в отдельных видах. – Римская классификация. – Система прусского закона, французского и австрийского кодекса. – Система русского свода. – Система настоящего изложения.
  16. § 2. Оформление прав на изобретение, полезную модель и промышленный образец («право на патент»)
  17. Тема 15 Правова система і система права. Система законодавства та систематизація нормативно-правових актів