Смекни!
smekni.com

История развития компьютеров, процессоров,операционных систем (стр. 3 из 6)

Основное преимущество «одного семейства» оказалось одновременно и величайшей его слабостью. По замыслу его создателей всё программное обеспечение, включая операционную систему OS/360, должно было одинаково хорошо работать на всех моделях компьютеров: и в небольших системах, которые часто заменяли 1401-е и применялись для копирования перфокарт на магнитные ленты, и на огромных системах, заменяющих 7094-е и использовавшихся для расчёта прогноза погоды и других сложных вычислений. Кроме того, предполагалось, что одну операционную систему можно будет использовать в системах, как с несколькими внешними устройствами, так и с большим их количеством; а также как в коммерческих, так и в научных областях. Но самым важным было, чтобы это семейство машин давало результаты независимо от того, кто и как его использует. [11, c.54]

Ни IBM, ни кто-либо ещё не мог написать программного обеспечения, удовлетворяющего всем этим противоречивым требованиям. В результате появилась огромная и необычайно сложная операционная система, примерно на два или три порядка превышающая по величине FMS. Она состояла из миллионов строк, написанных на ассемблере тысячами программистов, содержала тысячи и тысячи ошибок, что повлекло за собой непрерывный поток новых версий, в которых пытались исправить эти ошибки. В каждой новой версии устранялась только часть ошибок, вместо них появлялись новые, так что общее их число, вероятно, оставалось постоянным.

Несмотря на свои огромные размеры и недостатки, OS/360 и подобные ей операционные системы третьего поколения, созданные другими производителями компьютеров, на самом деле достаточно неплохо удовлетворяли требованиям большинства клиентов. Они даже сделали популярными несколько ключевых технических приёмов, отсутствовавших в операционных системах второго поколения. Самым важным достижением явилась многозадачность. На компьютере IBM 7094, когда текущая работа приостанавливалась в ожидании операции ввода-вывода с магнитной ленты или других устройств, центральный процессор просто бездействовал до окончания операции ввода-вывода. При сложных научных вычислениях и ограниченных возможностях процессора устройства ввода-вывода задействовались довольно редко, так что это потраченное впустую время не играло существенной роли. Но при коммерческой обработке данных время ожидания устройства ввода-вывода могло занимать 80 или 90% всего рабочего времени, поэтому необходимо было что-нибудь сделать во избежание длительного простаивания весьма дорогостоящего процессора. [10, c.32]

Пока одно задание ожидало завершения работы устройства ввода-вывода, другое могло использовать центральный процессор. Если в оперативной памяти содержалось достаточное количество заданий, центральный процессор мог быть загружен почти на все 100% по времени. Множество одновременно хранящихся в памяти заданий требовало наличия специального оборудования для защиты каждого задания от возможного любопытства и ущерба со стороны остальных заданий. 360-я и другие системы третьего поколения были снабжены подобными аппаратными средствами. [11, c.56]

Другой важным плюсом операционных систем третьего поколения стала способность считывать задание с перфокарт на диск по мере того, как их приносили в машинный зал. Всякий раз, когда текущее задание заканчивалось, операционная система могла загружать новое задание с диска в освободившийся раздел памяти и запускать его. Этот технический приём называется «подкачкой» данных или спулингом (spooling, это английское слово произошло от аббревиатуры Simultaneous Peripheral Operation On Line – совместная периферийная операция в интерактивном режиме) и его также используют для выдачи полученных данных. С появлением подкачки стали больше не нужны 1401-е и исчезли многократные переносы магнитных лент. Желание сократить время ожидания ответа привело к разработке режима разделения времени, варианту многозадачности, при котором у каждого пользователя есть свой диалоговый терминал и компьютер может обеспечивать быстрое интерактивное обслуживание нескольких пользователей. При этом он может работать над большими пакетами в фоновом режиме, когда центральные процессор не занят другими заданиями. Первая серьёзная система с режимом разделения времени CTSS (Compatible Time Sharing System – Совместимая система разделения времени) была разработана в Массачусетском технологическом институте (M.I.T.) на специально переделанном компьютере IBM 7094. [10, c.33] Однако режим разделения времени не стал действительно популярным до тех пор, пока не получили широкого распространения необходимые технические средства защиты.

После успеха системы CTSS Массачусетский технологический институт, система исследовательских лабораторий Bell Labs и корпорация General Electric (тогда главный изготовитель компьютеров) решили начать разработку «компьютерного предприятия общественного пользования» - машины, которая должна поддерживать сотни одновременных пользователей в режиме разделения времени. Образцом для новой машины послужила система распределения электроэнергии. Когда вам нужна электроэнергия, вы просто вставляете штепсель в розетку и получаете энергии столько, сколько вам нужно. Проектировщики этой системы, известной как MULTICS (MULTiplexed Information and Computing Service – мультиплексная информационная и вычислительная служба), предоставляли себе одну огромную вычислительную машину, воспользоваться услугой которой мог каждый человек в районе Бостона. [4, c.23]

Итак, MULTICS подала много конструктивных идей компьютерным теоретикам, но превратить её в серьёзный продукт и добиться коммерческого успеха оказалось намного тяжелее, чем ожидалось. Существовало много причин, по которым система MULTICS не захватила весь мир. Не последнюю роль сыграл тот факт, что эта система была написана на языке PL/I, а компилятор языка PL/I появился лишь через несколько лет. Система исследовательских лабораторий Bell Labs выбыла из проекта, General Electric совсем оставила компьютерный бизнес. Однако Массачусетский технологический институт проявил упорство и со временем получил работающую систему. В конце концов, она была продана как коммерческое изделие компанией Honeywell, купившей компьютерный бизнес General Electric, и установлена примерно в восьмидесяти больших компаниях и университетах по всему миру. Несмотря на свою малочисленность, пользователи системы MULTICS были отчаянно преданы ей. Например, компания General Electric, Ford и управление национальной безопасности США оставили свои системы MULTICS только в конце 90-х годов, через 30 лет после выхода системы. [10, c.34]

Ещё одним важным моментом развития во времена третьего поколения феноменальный рост мини-компьютеров, начиная с выпуска машины PDP-1 корпорацией DEC в 1961 году. Компьютеры PDP-1 обладали оперативной памятью, состоящей всего лишь из 4 К 18-битовых слов. На некоторых видах нечисловой работы они работали почти с такой же скоростью, как IBM 7094, что дало толчок к появлению новой индустрии. За этой машиной последовала целая серия других PDP (в отличие от семейства IBM, полностью несовместимых), и как кульминация – PDP-11. [4, c.27]

Кен Томпсон, один из специалистов по компьютерам в Bell Labs, работавший над проектом MULTICS, впоследствии нашёл мини-компьютер PDP-7, которым никто не пользовался, и решил написать усечённую однопользовательскую версию системы MULTICS. Эта работа позже развилась в операционную систему UNIX, ставшей популярной в академическом мире, в правительственных управлениях и во многих компаниях. По причине широкой доступности исходного кода различные организации создали свои собственные (несовместимые) версии, что привело к хаосу. Были разработаны две главные версии: System V корпорации AT&T и BDS (Berkeley Software Distribution) Калифорнийского университета Беркли. Это системы, в свою очередь, распадаются на отдельные разновидности. Чтобы стало возможным писать программы, разработанные в любой UNIX-системе, Институт инженеров по электротехнике и электронике IEEE разработали стандарт системы UNIX, называемой POSIX, который теперь поддерживают большинство версий UNIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должен поддерживать совместимые системы UNIX. Некоторые другие операционные системы теперь тоже поддерживаю интерфейс POSIX.

В 1974 году, когда компания Intel выпустила Intel 8080 – первый универсальный 8-разрядный центральный процессор, - для него потребовалась операционная система, с помощью которой можно было бы протестировать новинку. Компания Intel привлекла к разработкам и написанию нужной операционной системы одного из своих консультантов Гэри Килдэлла. Сначала Килдэлл с другом сконструировали контроллер для 8-дюймового гибкого диска, недавно выпущенного компанией Shugart Associates, и подключили этот диск к процессору Intel 8080. Таким образом, появился первый микроконтроллер с диском. Затем Кэлдэлл создал дисковую операционную систему, называемую CP\M (Control Program for Microcomputers – программа управления для микрокомпьютеров). Когда Килдэлл заявил о своих правах на CP\M, корпорация Intel удовлетворила его просьбу, поскольку не думала, что у микрокомпьютеров с диском есть будущее. Позже Килдэлл создал свою компанию Digital Research для дальнейшего развития и продажи CP\M. [8, c. 180]

В 1977 году компания Digital Research переработала CP\M, чтобы сделать эту систему пригодной для работы на микрокомпьютерах с процессорами Intel 8080 или Zilog Z80, а также с другими процессорами. Затем было написано множество прикладных программ, работающих в CP/M, что позволило CP/M занимать высокую позицию в мире микрокомпьютеров на притяжении 5 лет. [8, c.181]

Отдельно стоит упомянуть, что в 1987 году автор создал маленький клон системы UNIX для образовательных целей, так называемую систему MINIX. Функционально система MINIX очень похожа на UNIX, включая поддержку стандарта POSIX. [10, c. 35]

Желая иметь свободно распространяемую рабочую (в противоположности образовательной) версию MINIX подмигнуло финского студента Линуса Торвальдса к написанию системы Linux. Эта система была разработана на основе MINIX и первоначально обладала её характерными особенностями (например, поддерживала ту же файловую систему). С тех пор система Linux была значительно расширена, но она всё ещё сохраняет большую часть структуры, общей как для системы MINIX, так и для системы UNIX (на которой и была основана система MINIX).