Разработав ПО Compatible Time-Sharing System, адъюнкт-профессор Фернандо Корбато и его команда представили первую демонстрационную версию системы с разделением времени
Представьте себе, что на дворе конец 50-х, вы работаете в Массачусетсском технологическом институте и выполняете сложное задание на компьютере, предоставленном корпорацией IBM. Раздается звонок телефона. На проводе президент IBM, принимающий участие в парусной регате, проводимой в районе Лонг-Айленда. Он просит запустить программу, которая должна указать яхтам конечную точку маршрута.

Это означает, что вам придется прервать выполняемые задания, смонтировать другую магнитную ленту, а затем начать все сначала.

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

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

В 1961 году адъюнкт-профессор Фернандо Корбато и его команда воплотили идеи Морса в конкретный продукт и представили программный пакет Compatible Time-Sharing System (CTTS) — первую систему, работавшую в режиме разделения времени.

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

Система разделения времени работает следующим образом: она прерывает задание, требующее длительного обслуживания, копирует содержимое памяти на диск, запускает другую задачу, а через определенный интервал вновь возвращается к выполнению предыдущей программы, не останавливая работу пользователя. «Каждое приложение получает доступ ко всем ресурсам компьютера, — пояснил Том ван Влек, один из разработчиков пакета CTTS и его усовершенствованной версии Multics. — При этом несколько программ делят между собой машинное время».

Благодаря новому подходу компьютеры стали интерактивными. Теперь разработчики вводили текст программы с клавиатуры и машина практически сразу выдавала готовые результаты или сообщение об ошибке.

Возможно, с высоты 90-х это покажется вполне естественным, но в 1961 году даже аппаратные средства не были готовы к столь радикальным переменам. К примеру, у компьютера IBM 7090, на котором работала команда Корбато, просто-напросто... отсутствовала клавиатура. «К счастью, нам удалось воспользоваться машинами Teletype, выпускаемыми корпорацией AT&T, и электронными пишущими машинками IBM Selectric, — вспоминал Корбато. — Правда, непонятно было, как различать прописные и строчные буквы».

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

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

Представленная в 1961 году версия, по словам Корбато, была «грубой и несовершенной». Однако она наглядно продемонстрировала преимущества технологии разделения времени. Вслед за демонстрационным пакетом CTTS на рынке появилось множество подобных систем. Что касается окончательной версии самой первой разработки, она была создана совместными усилиями специалистов институтов MIT, Woods Hole Oceanographic Institution и колледжей Новой Англии. Впоследствии решения, использовавшиеся в демонстрационном ПО CTTS, легли в основу проекта MAC. В 1962 году агентство Advanced Research Project Agency (ARPA) получило 3 млн. долл. на реализацию проекта MAC — первой полноценной системы с разделением времени, названной Multiplexed Information and Computer System (Multics).

Работы над системой Multics продолжались вплоть до 1969 года, но коммерческого успеха она не имела. Тем не менее трудно переоценить значение этого проекта для дальнейшего развития компьютерных технологий. В частности, создатели системы Unix Кен Томпсон и Денис Риччи немало идей почерпнули именно из Multics.

Кроме того, система с разделением времени открыла перед разработчиками необъятные просторы для творчества.

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

Мэри Брандел — постоянный автор Computerworld. Электронную почту ей можно направлять по адресу brandel@cwix.com.

Техногические достижения
  • В Национальную лабораторию в Лос-Аламосе доставлен самый мощный в мире компьютер IBM Stretch (7030). Модель Stretch стала первым суперкомпьютером, а многие из реализованных в ней технических решений три года спустя нашли отражение в семействе System/360
  • Первым пакетом акций, выставленным на Нью-Йоркской фондовой бирже, стал пакет корпорации Hewlett-Packard
  • Компания Control Data выпустила настольный компьютер CDC 160A
  • Число установленных в американских университетах компьютеров превысило 100 штук (в 1955 году их было только 25)
  • В лабораториях корпорации General Motors создан первый промышленный робот Unimate
Германская Демократическая Республика начала возведение Берлинской стены

В 1961 году родились

  • Диана Спенсер, принцесса Уэльская
  • Деннис Родман, баскетболист

Другие события

  • Лучшая кинокартина: «Вестсайдская история»
  • Лучшее литературное произведение, удостоенное премии Пулитцера: «Убить пересмешника» Харпер Ли
  • Появилась правозащитная организация Amnesty International (Международная амнистия)
  • Фидель Кастро публично заявил о своей приверженности марксистско-ленинской идеологии и о строительстве коммунизма на Кубе