Задание кафедры. История операционных систем

Операционные системы и история их развития

Среди всех системных программ, с которыми приходится иметь дело пользователям компьютеров, особое место занимают операционные системы.
Операционная система - это программа, которая запускается сразу после включения компьютера и позволяет пользователю управлять компьютером.

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

Вопрос 30. Сравнительная характеристика ОС Multics и ОС Unix. Определение понятия операционная система.

Итак, все началось в далеком 1965-м... Четыре года компания American Telegraph & Telephone Bell Labs совместно с фирмой General Electric и группой исследователей из Масачусетского технологического института творила проект Os Multics (также именуемый MAC - не путать с МасOS). Целью проекта было создание многопользовательской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычислительным ресурсам.

Эта ОС основывалась на принципах многоуровневой защиты. Виртуальная память имела сегментно-страничную организацию, где с каждым сегментом связывался уровень доступа. Для того чтобы какая-либо программа могла вызвать программу или обратиться к данным, располагающимся в некотором сегменте, требовалось, чтобы уровень выполнения этой программы был не ниже уровня доступа соответствующего сегмента. Также впервые в Multics была реализована полностью централизованная файловая система. То есть, даже если файлы находятся на разных физических устройствах, логически они как бы присутствуют на одном диске. В директории же указан не сам файл, а лишь ссылка на его физическое местонахождение. Если вдруг файла там не оказывается, умная система просит вставить соответствующий девайс.

Помимо этого, в Multics наличествовал большой объем виртуальной памяти, что позволяло делать имэйджи файлов из внешней памяти в виртуальную. Увы, но все попытки наладить в системе относительно дружественный интерфейс провалились. Было вложено много денег, а результат был несколько иной, нежели хотелось ребятам из Bell Labs. Проект был закрыт. Кстати, участниками проекта значились Кен Томпсон и Денис Ритчи. Несмотря на то, что проект был закрыт, считается, что именно ОС Multics дала начало ОС Unix.

Алексей Комолов (С.-Петербург)

MULTICS (MAC)

1965 год. За четыре года компания American Telegraph & Telephone Bell Labs (далее (для сокращения) просто Bell Labs) с группой исследователей из Массачусетского Технологического института создала проект под именем OS Multics, также именуемой как Mac (не путайте операционку Mac с нашей современницей MacOS).

Целью данного проекта было создание многопользовательской интерактиосной операционной системы (далее — просто ОСь), обеспечивающей большое число пользователей удобными и мощным средствами доступа к вычислительным ресурсам. Эта ОСь создавалась на основе многоуровневой защиты. Виртуальная память имела сегментно-страничную организацию, где с каждым сегментом связывался уровень доступа. Для того, чтобы какая-либо программа могла вызвать другую программу или обратиться к каким-либо данным, необходимо было, чтобы ее уровень был не ниже уровня доступа соответствующего сегмента. То бишь: если у вас установлена некая программа с уровнем доступа 3, а вы имеете уровень доступа 2, то вы бы не могли запустить ее. И, естественно, системный администратор имеет доступ ко всем данным и файлам всех сегментов.

Также в OS Multics была впервые реализована полностью централизованная файловая система. Например, если файлы находятся на разных физических носителях, логически они как бы присутствуют на одном диске. В самой директории же указан не сам файл, а ссылка на его физическое местонахождение. Если же файл, на который указывает ссылка, отсутствует (либо же отсутствует носитель с этим файлом), то ОСь выдаст сообщение с просьбой вставить (подключить) соответствующий носитель. Вдобавок в OS Multics наличествовал большой объем виртуальной памяти, что позволяло делать «снимки» файлов из внешней памяти в виртуальную.

К сожалению, все попытки наладить в системе более или менее дружественный интерфейс провалились. Было вложено много денег, но результат — практически никакой.

UNICS (UNIX)

Считается, что *nix-овые появились благодаря… компьютерной игре. Дело в том, что в 1969 году некий Кен Томпсон (кстати, являющийся одним из соавторов проекта OS Multics) по неясным причинам создал игру «Space Travel», и написал он ее на компьютере Honeywell 635, который использовался для создания вышеупомянутой OS Multics. Но дело в том, что ни Honeywell 635, ни имеющийся в лаборатории другой компьютер марки General Electric 645 не подходили для вновь созданной игрушки. Тогда Томпсону пришлось срочно найти другую машину — ею оказалась 18-разрядная PDP-7.

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

Помня свои мучения над OS Multics, один из сотрудников команды Томпсона — мистер Брайн Кернинган — решил назвать новую ОСь созвучно со старой и предложил название UNICS (Uniplexed Information and Computing System). А через некоторое время название сократилось до UNIX — считается, что новое название ОСи было созвучно с первоначальным, да вдобавок программистам из-за патологической лени удобнее писать на одну букву меньше.

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

И в 1971 году Кен Томпсон и его ребята скинулись и купили более совершенный компьютер — Digital Equipment PDP-11/20, на который и была перенесена последняя модификация UNIX, что было довольно сложно, так как вся ОСь была написана на Ассемблере, а физически взять и перенести весь этот код по тем временам было невозможно, то всей команде Кена пришлось массу времени потратить на то, чтобы переписать эту систему по-новой. Но зато новенький PDP-11/20 могла без проблем поддерживать большое количество подключенных пользователей и, в добавок, позволяла (наконец-то) написать простенький интерпретатор текстового процессора.

Вторая редакция вышла менее чем через год. Система была полностью переписана на язык В, созданный Кен Томпсоном под влиянием существовавшего тогда BCPL. Тогда же появились КАНАЛЫ («pipes»).

Третья редакция ни чем особенным не отличалась, кроме одной важной вещи: именно благодаря ей некий Денис Ритчи «написал» такой популярный язык программирования, как C. Этот язык значительно расширял функции своего предшественника — языка В, и именно на C в 1973-м году была написана четвертая редакция UNIX’а.

Июль 1974 года. В журнале Communications of the ATM была напечатана статья UNIX Timesharing Operating System, которая заинтересовала огромное количество народу. А так как компания Bell Labs не планировала производить эту систему, то было разрешено бесплатно распространять исходники UNIX’а (пользователи платили только за носитель, на котором были записаны эти исходники, и за документацию).

Этой операционкой всерьез заинтересовался Калифорнийский университет города Беркли, в котором учился Билл Джой — будущий создатель BSD и (по совместительству) будущий основатель Sun Microsystems.

1975 год. Была выпущена первая коммерческая версия UNIX (она же — шестая редакция, или UNIX V6. Большая часть шестой редакции была написана на C, но к сожалению, переносить эту систему на компьютеры, архитектурой принципиально отличающейся от PDP-шной, было довольно трудно.

В 1977 году этот перенос удалось осуществить впервые в Австралии, в Университете Воллонгонга, заведующему кафедрой Джюрису Рейндфельдсу. Его всерьез увлекала шестая редакция, но так как приобрести машину PDP-11 компьютерная кафедра не могла, то им пришлось закупить более дешевый 32-х битный компьютер Interdata 7/32. Так как родная ОСь данного компьютера (OSMT/32) не обладала необходимыми мультипользовательскими возможностями, то профессору пришлось заняться переносом UNIX V6, заказав в Университете Беркли кучу исходников (которые тогда были на магнитных лентах). Ему сильно помог Ричард Миллер, который к январю создал компилятор C, что позволило в середине февраля 1977 года получить свой вариант UNIX’a, который работал на Interdata 7/32.

Пока что UNIX V6 продолжает работать скорее как операционная среда, ставясь поверх OSMT/32. Много функций в UNIX V6 отсутствовала.

Итак, Миллер направляется в Bell Labs и разговаривает с Кеном Томпсоном сотоварищи. Кен поискал по округе, нашел новенький Interdata 8/32, схожий по архитектуре с компьютером Университета Воллонгонга, и началась работа по переносу ОСи UNIX V6 на свежеприобретенную Interdata.

Для начала расширили язык C, в систему которого были добавлены типы union, short integer, long integer и unsigned integer , чтобы можно было использовать 32-битную архитектуру. Вдобавок появились такие вещи, как средства инициализации переменных, битовые поля, макросы, средства условной компиляции, регистровые и глобальные переменные.

Позже Денис и Кен написали книгу «Язык программирования Си», в которой конкретно и четко описали 32-битную вариацию своего творения.

К сожалению, возникли кое-какие препятствия. Как оказалось, UNIX слишком «привыкла» к PDP-11, и Денису пришлось полностью переписать подсистему управления оперативной и виртуальной памятью, попутно изменив интерфейс драйверов внешних устройств. Это-то и помогло сделать систему легко переносимой на другие архитектуры. Вдобавок в дистрибутив системы входил компилятор для портации ОС на другие архитектуры, плюс набор новых драйверов. Все это получило название UNIX Version 7 («Седьмая редакция»).

Параллельно с улучшением UNIX шла разработка системы, которую мы знаем как (Free)BSD. Когда в 1976 году в Университет Беркли попала шестая версия UNIX, там появились местные Юникс-мастера, одним из которых был Билл Джой.

Как-то раз, собрав своих друзей-программистов, Билл Джой начал разрабатывать собственную ОС на ядре UNIX. Добавив в новую ОС (помимо основных функций) кучу своих (в том числе и компилятор Паскаля), Билл Джой & Co назвали свое детище Berkeley Software Distribution (BSD 1.0) . Вторая версия BSD носила в себе попытки частичной перезаписи ядра системы. Третья версия BSD основывалась на переносе UNIX 7 на компьютеры семейства VAX, что дало систему 32/V, легшую в основу BSD 3.x. При этом был разработан стек протоколов TCP/IP. Эту разработку финансировало Министерство Безопасности США.

1980 год. BSD, начиная с версии 4.1, распространяется практически бесплатно: поначалу среди пользователей, обладавших лицензией Bell Labs, а затем (когда переименовались во FreeBSD) бесплатно среди всех пользователей.

В 1982-ом году Билл Джой основал фирму Sun Microsystems, забрал себе все исходники платной BSD, которая в 1990-е годы превратилась в Solaris, отдельные версии которых распространялись бесплатно еще и в начале XXI века.

UNIX, 1982-1990 годы

1982 год. Выходит первая коммерческая «пингвинная» ОСь под названием UNIX System III. В состав этой версии ОСи вошло все лучшее от UNIX Version 7, V/32 и других версий UNIX 7, «ходивших» в Bell Labs.

Затем появились компании, которые (за деньги) переносили UNIX на другие платформы. Этим занималась и Microsoft Corporation, которая на пару с Santa Cruz Operation выпустила на свет клон UNIX — XENIX.

Тем временем Bell Labs создала специальную группу по развитию Юникса, заявив, что все коммерческие версии их ОСи (начиная с System V) будут совместимы с предыдущими версиями.

1984 год. Выпущен второй релиз UNIX System V, в котором появились такие функции, как:

  • возможность блокировок файлов и записей;
  • копирование совместно используемых страниц оперативной памяти при попытке записи (copy-on-write);
  • страничное замещение оперативной памяти (реализованное иначе, нежели в BSD);
  • ну и многое другое.

К этому времени ОС UNIX уже установлена на более чем 100.000 компьютеров.

1987 год. Выпущен третий релиз UNIX System V. Зарегистрировано 4,5 миллиона пользователей этой операционки.

1990 год. Появилась первая, пингвинная, версия LINUX, но только лишь в октябре 1991 года вышла первая официальная версия этой ОСи. Как и BSD, LINUX распространяется с открытым исходным кодом, чтобы любой пользователь мог настроить свою ОС под себя, любимого.

DOS (Disc Operating System)

Первые DOS появились в 1960-х годах на первых IBM и, естественно, обладали весьма ограниченными функциями. Более-менее нормальные DOS’ы, дошедшие до наших времен и обладавшие определенной известностью, начинают свой род от QDOS.

На дворе был 1980 год, фирма Computer Products. ОСь, первоначально названная QDOS, была модифицирована и к концу того же года была переименована в 86-DOS, а затем продана фирме Microsoft. Корпорация IBM поручила Microsoft работу над операционкой для своих новых компьютеров — IBM-PC.

Конец 1981 года. В свет выходит первая версия новой ОСи — PC-DOS 1.0, у которой был один существенный недостаток — на каждом конкретном компе ее надо было настраивать заново. PC-DOS-ом занялась сама IBM, а Microsoft досталась ее собственная модификация — MS-DOS.

1982 год. В свет одновременно появились PC-DOS и MS-DOS версии 1.1 с некоторыми добавленными и расширенными возможностями.

1983 год. Разработаны версии 2.0 у обеих ОСей, в которых появились такие вещи, как поддержка винчестеров и улучшенная система администрирования файлов.

1984 год. Выходит третья версия MS-DOS, которая дала еще несколько улучшений. Следующие версии — вплоть до версии 6.22 — улучшались в направлениях управления базовой и виртуальной памятью. После этого вышла версия 7.0 — жутко урезанная и входящая в одну из Windows 9x. C тех пор Microsoft больше не занималась DOS-ами.

Тем временем PC-DOS тоже продолжала эволюционировать. В последней версии она могла почти то же, что и MS-DOS 6.22, но и вдобавок обладала такими наваротами, как:

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

Еще из DOS-ов была ОСь, как PTS-DOS, произведенная в одной из российских физических лабораторий. Последняя ее версия вышла под номером 6.65.

Но самой необычной и интересной являлась DR-OpenDOS v. 7.02. Сначала эту операционку разрабатывала компания Digital Research, но потом она была продана компании Novell, которая встроила в этот DOS свои сетевые штуки и перепродала ее дальше компании Caldera, которая дополнила DR-OpenDOS средствами доступа в Интернет и потом распространяла ее бесплатно, как freeware.

IBM Operating System

1972 год . Выпущена первая модель VM/370 (VM — от Virtual Machine). Данная операционка предназначалась для поддержания сервера на определенное количество пользователей. Современная реализация системы VM/ESA 2 Release 3.0 работает на мейнфреймах IBM линии System/390. Данная ОСь является надежной т мощной базой для организации корпоративной информационно-вычислительной системой, ориентированной на многопользовательскую гетерогенную среду крупной современной фирмы. VM/ESA очень эффективно использует возможности аппаратного обеспечения и менее требовательна к вычислительным ресурсам компьютера по сравнению с OS/390, что делает из нее отличный вариант для использования в качестве платформы для корпоративной системы firewall, информационного сервера крупной организации или в качестве сервера в Интернете. Впоследствии именно из VM появилась довольно известная z/OS.

Потом появилась OS. Некоторые ее версии были разработаны под специальные серверы — вроде той же OS/390 и OS/400.

Разработка OS началась в далеком 1982 году. Кто-то из работающих в IBM подумал, что больно долго они ждут выхода DOS’а от Билла Гейтса, а выпустить нормальную операционку вроде как и надо. Разработка ОСи началась как совместный проект фирм IBM и Microsoft, и данный проект нацеливался на создание операционки, максимально лишенной недостатков.

Настал конец 1987 года , когда в свет вышла первая версия OS/2. Она могла использовать вычислительные возможности процессора 80286 и обладала средствами обеспечения связи с машинами от IBM.

1993 год. IBM выпускает OS/2 2.1 — полностью 32-разрядную систему, способную выполнять приложения, созданные для операционки Windows, имеющую высокую производительность и поддерживающую большое количество периферийных устройств.

1994 год. В свет выходит OS/2 Warp 3. В данной реализации вновь повысили производительность, понизили требования к аппаратным ресурсам а так же появилась поддержка работы в Интернете.

Дo началa двухтысячных годов вышла OS/2 Warp 4, которая способна работать с 64-разрядными процессорами. Тут так же предоставлены средства взаимодействия с Интернетом в более широком виде: теперь OS/2 могла выполнять не только клиентские программы, но и выступать в качестве web-сервера.

Начиная с третьей версии, IBM поставляет лицензионные версии OS/2 и в Россию. В конечном счете данная операционка обладает такими функциями, как настоящая многозадачность, встроенная поддержка работы в сети и дополнительные функции сетевого сервера, надежные и продуманные подсистемы управления памятью и администрирования процессов, язык программирования REXX, благодаря которому решаются задачи системного администрирования.

Microsoft Windows

Считается, что Билл Гейтс слизал GUI для Windows с графического интерфейса Apple Machintosh (1983-1984, version 1.0-1.1). Но, так или иначе, именно Windows стала той ОС, которую Гейтс стал разрабатывать самостоятельно, на свой страх и риск.

Детище Гейтса отличалось графическим интерфейсом (подобным интерфейсом на тот момент обладала только MacOS) и многозадачностью. Конечно, тогда многие ОС могли запускать дополнительную задачу в бэкграунде, но обычно они работали весьма плохо и перебойно.

Итак, в 1985 году вышла Windows 1.0. Окна в ней не перекрывались, а на 8086-х процессорах ядро ОС сильно глючило, так как отсутствовала оптимизация под данный процессор. Основной рабочей платформой тогда становились 286-е компьютеры.

Ноябрь 1987 года . Спустя всего два года выходит Windows 2.0, а еще через полтора года — Windows 2.10. Никаких особенностей у этих версий не было, кроме одной: окна научились перекрываться.

Май 1990 года. Выходит Windows 3.0. В ней появляется масса наворотов. Например, DOS-приложения выполнялись в отдельном окне (и на полном экране), а Copy-Paste работал для обмена с данными DOS-приложений. Вдобавок сама Windows стала работать в нескольких режимах памяти: реальном (базовая 640 Кб), в защищенном (версии 80286) и в расширенном (80386). При этом была возможность запускать приложения, размер которых превышал размер физической памяти. Также было возможно динамически обмениваться данными (DDE).

Примерно через два года вышла версия Windows 3.1, в которой уже не было проблем с базовой памятью (если вы помните, раньше при запуске старых игр то не хватало памяти, к примеру, требовалось 560 Кб, хотя у пользователя могло стоять аж 16 Мб RAM, то еще сколько-нибудь памяти). Также была введена поддержка новомодных шрифтов True Tupe, к тому же обеспечена нормальная работа в локальной сети.

Из наворотов появились такие вещи, как Drag&Drop (позволяющая перетаскивать файлы и директории мышкой) и OLE (Object Linking & Embedding).

В версии 3.11 была улучшена поддержка сети и введено несколько небольших наворотов. Параллельно ей выходит Windows NT 3.5, в которой были собраны все основные на тот момент сетевые программы, взятые из OS/2.

Июнь 1995 года. Microsoft взбудоражила мировую общественность сообщением о том, что в августе выйдет новая операционная система, существенно отличающейся от Windows 3.11 , но, тем не менее, следовавшая канонам Microsoft — «окнам».

И вот оно, долгожданное 24 августа 1995-го года — дата официального выхода Windows’95 (другие названия — Windows 4.0 и Windows Chicago). Это была не просто операционная среда, а полноценная операционная система, которой не требовалось для загрузки дисковой операционки. 32-битное ядро улучшало доступ к файлам, а 32-битные приложения были лучше защищены от ошибок друг друга. Также имелась поддержка многопользовательского режима на одном компьютере с одной системой. В плюс к этому — множественные отличия в интерфейсе и целая куча настроек и улучшений «под пользователя».

Помимо этого был выпущен специальный апдейт для Windows 3.1х — OSR2, который не ставился из-под DOS, а просто апгрейдил 3.11. Вдобавок в поставку входил и DOS 7.0, который, хоть и имел значительные отличия от DOS 6.22, но, к сожалению, не в лучшую сторону.

Немного позже вышла новая версия NT с тем же интерфейсом, что и Windows 95. Поставлялась она в двух вариациях — как сервер и как рабочая станция. Системы Windows NT v. 4.x были надежными, но фактически благодаря тому, что ее разрабатывали те же программисты, которые работали над VAX/VMS. К тому же к системе (с момента ее выхода) было выпущено 6 сервис-паков.

1996 год. Выходит в свет Windows 95 OSR 2 (Open Service Release). В дистрибутив входит Internet Explorer 3.0 и старая версия Outlook, которая в то время называлась Exchange. Появилась поддержка FAT32, был улучшен инициализатор оборудования и драйверов. Некоторые настройки (например, видео) можно было менять без перезагрузки. Имелась и встроенная DOS 7.10 с поддержкой FAT32.

1998 год. Вышла Windows 98 со встроенным Internet Explorer 4.0 и Outlook. Появляется ActiveDesctop, который был «переходным» к И-нетовской ОС (как раз в то время в Microsoft уже мечтали о системе, полностью интегрированной с Сетью). Также была улучшена поддержка универсальных драйверов и API DirectX. Была встроена поддержка нескольких мониторов. И, вдобавок, можно было с помощью опций «переводить» жесткие диски из FAT16 в FAT32.

Ну, а встроенным DOS был все тот же не очень удачный DOS v. 7.10.

1999 год. Выходит Windows 98 Special Edition. В нем был встроен Internet Explorer 5.0 с оптимизированным инициализирующим ядром, хотя, в принципе, данный IE мало чем отличался от IE 4.х. Небольшая интеграция с И-нетом заключалась в наличии нескольких слабеньких программ типа FrontPage и Web Publisher.

Старый добрый DOS до сих пор остается версией 7.10.

2000 год. Выходит полная версия Windows Millenium. Встроенный браузер Internet Explorer «вырос» до версии 5.5, DOS вроде бы умер, но некоторые люди говорили, что он достиг версии 8.0. DOS-овские приложения просто игнорируются.

Интерфейс улучшился за счет графических наворотов и акселерации всего, что может двигаться (в том числе и курсор мыши). Вдобавок в комплект вошли пара сетевых наворотов и «ушла» winipcfg.

Параллельно выходит Windows 2000.

2001 год. Выходит Windows Whistler, в релизе именуемая Windows XP.

Ну, а в 2008 году выходит Windows Vista.

BeOS

1989 год. Стив Джобс, в свое время основавший Apple, серьезно задумался о создании ОС для выпускаемых его фирмой NeXT Computers компьютеров NeXT. Написанная на основе UNUX и при этом снабженная графической оболочкой, данная ОС была поставлена на все компьютеры NeXT, но, к сожалению, данные компьютеры почти никто не покупал из-за высокой цены и несовместимости с другими платформами. Но эта операционка была настоящей мультимедийной системой (о таких вещах в начале 90-х никто не слышал). Имелись встроенный цифровой сигнальный процессор (DSP), поддержка CD-приводов. И, похоже, что именно с NeXTStep с GUI и была впоследствии «срисована» система Windows 9x. И хотя эта ОС и должна была стать самой навороченной, но не стала, хотя и легла в основу BeOS.

1996 год. Выходит совершенно новая версия BeOS. Хотя она и использует графический «оконный» интерфейс, все же отличается от Windows, так как в написании ее кода использовался NIX-овый стиль — с панелью, большими строками команд и т. п. Но при этом последние версии BeOS стабильно поддерживают две платформы: PowerPC и х86-ю архитектуру. Более того: BeOS можно спокойно поставить на один компьютер с Windows.

Архитектура BeOS следует канонам NeXT, вследствие чего была оптимизирована для обработки аудио и видео. BeOS посвящены целые сайты типа www.benews.ru.

SuperDOS

Середина 1980-х годов. Появляются (и быстро набирают популярность) такие машины, как IBM PC на базе процессора Intel 286. Тогда же начинает расти и потребность в сетевых технологиях под данную машину. SuperDOS — это, пожалуй, первая мультипользовательская многозадачная ОС, предназначенная для компьютеров на основе процессора 80286 и старше.

Сама SuperDOS была разработана фирмой Bluebird Systemsв 1983 году и предназначалась для ведения бизнес-задач. Выполнение под данной ОС приложения все той же Bluebird Systems, носящее имя PC-Connect, позволяло клиентам работать также и с программами, разработанными для MS-DOS и (впоследствии) для Windows. Эта система была весьма нетребовательна к машинным ресурсам, занимала в оперативной памяти около 100 Кб и была способна обслуживать одновременно до нескольких десятков пользовательских терминалов.

Novell NetWare

Сотрудники фирмы Novell, разрабатывавшей ранее вариации DR-OpenDOS, обратили внимание на SuperDOS, которая хоть и была создана для работы с Сетью, но все таки слабо работала в качестве мощного сервера со множеством настроек. Поэтому, немного поразмыслив, новелловцы решили исправить эту несправедливость. И вот в свет выходит ОС Novell NetWare.

И вскоре вышедшая Novell NetWare 2.x позволяла работать в качестве файлового сервера, предназначенного для общего пользования с высоким уровнем безопасности.

Novell NetWare 3.x позиционировалась как операционка для 386-х машин. Третьи версии NetWare намного лучше других ОС использовали большой объем дисковой и оперативной памяти. Даже в начале 2000-х годов в некоторых ведомствах использовались третьи Novell NetWare (например, в Государственном Информационном Центре МВД РФ).

Еще одна из основных фишек третьих NetWare: если в Сети несколько серверов и один из них упал, то все остальные, продолжая работать, попросту переключали на себя все его функции.

В Novell NetWare 4.x помимо всего перечисленного была реализована Novell Directory Services (NDS) — система управления ресурсами и сервисами сети. Вдобавок была включена поддержка всех процессоров от Intel — начиная с 80386 и заканчивая последними процессорами Pentium, что позволяло организовывать сети с различными аппаратными устройствами, а поддержка SMP вдобавок давала возможность увеличивать производительность серверов за счет одновременного использования нескольких процессоров.

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

Вдобавок Novell выпустила несколько программ, типа своего WEB- и FTP-сервера, сервиса многопротокольного маршрутизатора, шлюза TCP/IP.

А благодаря тому, что Novell NetWare 4.x была совместима с Novell NetWare 3.x, можно было не выбрасывать старые дистрибутивы, а использовать их по максимуму.

ДОС ЕС

1966 год. В СССР «сверху» поступил указ: в течение двух дет разработать «комплекс типовых высоконадежных информационных вычислительных машин с диапазоном по производительности от 10.000 до 1.000.000 операций в секунду, построенных на единой структурной и микроэлектронной технологической базе и совместимых системах программирования для вычислительных центров и автоматизированных систем обработки информации». То бишь: чтобы были и воркстейшены на 1 МГц, и стопроцентная совместимость, и чтобы была ОС одна на всех, и подключение к Сети.

Наши программисты взяли за основу операционку DOS 360, написанную под компьютеры IBM/360. Минским приборостроением была создана та самая ЭВМ, под которую планировалось написать текущую ДОС. Данные ЭВМ назывались Машинами Единой Системы (ЕС). Сборка системы, разработка программ и написание документации производилась коллективом все тех же минских программистов.

1971 год. Завершено создание ДОС ЕС и сразу началась ее поставка с машинами ЕC-1020, ЕC-1030 и ЕC-1040. ДОС ЕС 1.0 была рассчитана на скромное железо и выполняла до трех задач одновременно. Так была создана первая ОС в СССР.

Несмотря на то, что наша система структурно была аналогична DOS/360 MFT, переработка текстов исходников привело к тому, что разработчики ДОС ЕС 1.0 смогли ввести очень много нововведений, объединенных в 4 основных блока: управляющая программа, системные утилиты, средства генерации системы, трансляторы. Также в состав ДОС ЕС 1.0 входили: программа «Библиотекарь», отладочная программа «Автотекст», набор программ «Утилиты» (которые управляли перемещением, копированием, вводом и выводом файлов), а также трансляторы с языков Ассемблер (в двух вариантах: экономичный и быстрый), Фортран (тоже в двух вариантах: базисный и Фортран 4), РПГ и ПЛ/1. Позже был добавлен транслятор с языка Кобол.

1975 год. Выходит ДОС ЕС 2.0, в которой был введен мультизадачный режим, базисный телекоммуникационный метод доступа. Вдобавок в системе велись логи ошибок железа и программ. Появились утилиты, обеспечивающие совместимость Единых Систем с машиной «Минск-32».

1978 год. Выходит ОС ДОС ЕС 3.0б но, к сожалению, эта операционка так и не получила распространения в СССР.

| Multics

Multics (англ. Mult iplexed I nformation and C omputing S ervice - «Мультиплексная информационная и вычислительная служба») - ранняя операционных систем с разделением времени исполнения программ, основанная на концепции одноуровневой памяти.

Предыстория

Проект МАС (Multiple Access Computer, Machine-Aided Cognition, Man and Computer) начался как чисто исследовательский в MIT в 1963 году. Потом он разросся в лабораторию компьютерных наук (LCS), а в наши дни назыается Лаборатория компьютерных наук и искусственного интеллекта.

В начале 60-х был всплеск интереса к системам с разделением времени. Джон МакКарти написал заметку под заглавием “Программа для оператора с разделением времени для проекта IBM 709” в 1959 году. Корбато, Мервин-Даггет и Далей в 1962 году написали в статье, что “мы на пороге третьего глобального изменения к подходу использования компьюьтеров, из-за разделения времени”. Сначала это рассматривали как способ поднять эффективность использования компьютера, но очень быстро пришли к идее многопользовательской системы. Деннис Ритчи потом скажет, что самый медленный этап в цикле “написать-скомпилировать-выполнить-отладить” стал определяться человеком, а не машиной.

В рамках проекта МАС получился значительный вклад в системы с разделяемым временем, включая разработку операционной системы CTSS (Compatible Time-Sharing System). Во второй половине 60-х было создано несколько других систем с разделением времени, например BBN, DTSS, JOSS, SDC, и пр. Но все это не имеет отношения к этой статье. А вот Multiplexed Information and Computing Service (MULTICS) - имеет.

Multics

Это совместная разработка MIT, Bell Telephone Laboratories (BTL) и General Electric (GE) по созданию ОС с разделением времени для компьютера GE-645.

В то время “использовать компьютер” значило практически исключительно “программировать”. То есть, необходимо было более эффективно выполнять упомянутый выше цикл «написать-отладить».

Multics должен был стать прикладным ПО, которое может поддерживать до 1000 пользователей одновременно. Еще из ТЗ (цитируется по “Введению и обзору в систему Multics”, Корбато, Высоцкий, 1965):

  • Работа в режиме 24х7 без сбоев
  • Наличие фреймворка, который можно будет дописать и усовершенствовать по мере надобности
  • Поддержка различных языков программирования и интерфейсов пользователя. Саму систему писали в основном на языке высокого уровня PL/I.
  • Поддержка широкого набора приложений
  • Поддержка удобного, гибкого и быстрого удаленного доступа
  • Иметь иерархическую структуру контроля, распределения ресурсов и авторизации
  • Иметь надежную ФС
  • Поддержка управления доступа к данным
  • Наличие онлайн-документации
BTL отошел от этого проекта в начале 1969 года. Multics развивался как коммерческий продукт даже после череды перепродаж. Honeywell выкупил компьютерный бизнес GE, а Bull выкупил Honeywell. В целом, проект удался и заметно повлиял на многие последующие. Последний компьютер под управлением Multics выключили 31 октября 2000 года.

Вадим Марков @BubaVV

Исследовательский UNIX

Первый перенос ОС UNIX

Седьмая редакция

Возникновение группы университета г. Беркли (BSD)

UNIX System III и первые коммерческие версии системы

AT&T System V Release 2 и Release 3

2. Основные понятия ОС UNIX и базовые системные вызовы

Основные понятия

Пользователь

Интерфейс пользователя

Привилегированный пользователь

Программы

Процессы

Перенаправление ввода/вывода

Основание и история

История ОС UNIX началась в недрах Bell Telephone Laboratories (теперь AT&T Bell Laboratories) и связана с известными теперь всем именами Кена Томпсона, Денниса Ритчи и Брайана Кернигана (два последних имени знакомы читателям и как имена авторов популярнейшей книги по языку программирования Си, издававшейся в нашей стране на русском языке).

Проект операционной системы Multics: неудача с положительными последствиями

С 1965 по 1969 год компания Bell Labs совместно с компанией General Electric и группой исследователей из Масачусетского технологического института участвовала в проекте ОС Multics. Целью проекта было создание многопользовательской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычислительным ресурсам. В этом курсе мы не ставим задачу познакомить слушателей с ОС Multics. Это могло бы быть темой отдельного большого курса. Однако отметим хотя бы некоторые идеи, которые содержались в проекте MAC (так назывался проект ОС Multics).

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

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

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

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

Решение о прекращении участия в проекте Multics было принято на самом верхнем уровне руководства Bell Labs, и сотрудники, по существу, были поставлены перед свершившимся фактом. Более того, руководство компании, разочарованное результатами весьма дорогостоящего проекта, вообще не желало больше вести какие-либо работы, связанные с операционными системами.

Возникновение и первая редакция ОС UNIX

Принято считать, что исходным толчком к появлению ОС UNIX явилась работа Кена Томпсона по созданию компьютерной игры "Space Travel". Он делал это в 1969 году на компьютере Honeywell 635, который до этого использовался для разработки проекта MAC. В это же время Кен Томпсон, Деннис Ритчи и другие сотрудники Bell Labs предложили идею усовершенствованной файловой системы, прототип которой был реализован на компьютере General Electric 645. Однако компьютер GE-645, который был рассчитан на работу в режиме разделения времени и не обладал достаточной эффективностью, не годился для переноса Space Travel. Томпсон стал искать замену и обнаружил, что появившийся к этому времени 18-разрядный компьютер PDP-7 с 4 килословами оперативной памяти и качественным графическим дисплеем вполне для этого подходит.

После того, как игра была успешно перенесена на PDP-7, Томпсон решил реализовать на PDP-7 разработанную ранее файловую систему. Дополнительным основанием для этого решения было то, что компания Bell Labs испытывала потребность в удобных и дешевых средствах подготовки и ведения документации. В скором времени на PDP-7 работала файловая система, в которой поддерживались: понятие inodes, подсистема управления процессами и памятью, обеспечивающая использование системы двумя пользователями в режиме разделения времени, простой командный интерпретатор и несколько утилит. Все это еще не называлось операционной системой UNIX, но уже содержало родовые черты этой ОС.

Название придумал Брайан Керниган. Он предложил назвать эту двухпользовательскую систему UNICS (Uniplexed Information and Computing System). Название понравилось, поскольку, помимо прочего, оно напоминало об участии сотрудников Bell Labs в проекте Multics. В скором времени UNICS превратилось в UNIX (произносится так же, но на одну букву короче).

Первыми реальными пользователями UNIX стали сотрудники патентного отдела Bell Labs. Однако существовали некоторые проблемы, связанные с PDP-7. Во-первых, эта машина не принадлежала компьютерной группе (была только во временном пользовании). Во-вторых, возможности этого компьютера не удовлетворяли потребности исследователей. Поэтому в 1971 году был приобретен новый 16-разрядный компьютер фирмы Digital Equipment PDP-11/20, и на него была перенесена UNIX. Существовавший к этому времени вариант системы был написан на языке ассемблера, так что можно представить, что перенос был совсем не простым делом. На PDP-11 система поддерживала большее число пользователей. Кроме того, была реализована утилита форматирования текстовых документов roff (тоже на языке ассемблера).

В ноябре 1971 года был опубликован первый выпуск документации по ОС UNIX ("Первая редакция"). В соответствии с этой "Первой редакцией" назвали и соответствующий документации вариант системы. Впоследствии это стало традицией: новая редакция ОС UNIX объявлялась при выходе в свет новой редакции документации.

Вторая редакция появилась в 1972 году. Наиболее существенным качеством "Второй редакции" было то, что система была переписана на языке Би ("B"). Язык и интерпретирующая система программирования были разработаны Кеном Томпсоном под влиянием существовавшего языка BCPL. Во второй редакции появились программные каналы ("pipes").

Появление варианта системы, написанного не на языке ассемблера, было заметным продвижением. Однако сам язык Би во многом не удовлетворял разработчиков. Подобно языку BCPL язык Би был бестиповым, в нем поддерживался только один тип данных, соответствующий машинному слову. Другие типы данных эмулировались библиотекой функций. Деннис Ритчи, который всегда увлекался языками программирования, решил устранить ограничения языка Би, добавив в язык систему типов. Так возник язык Си ("C"). В 1973 году Томпсон и Ритчи переписали систему на языке Си. К этому времени существовало около 25 установок ОС UNIX, и это была "Четвертая редакция".

В июле 1974 года Томпсон и Ритчи опубликовали в журнале Communications of the ACM историческую статью "UNIX Timesharing Operating System", которая положила начало новому этапу в истории системы. ОС UNIX заинтересовались в университетах. Этому способствовала политика компании Bell Labs, которая объявила о возможности бесплатного получения исходных текстов UNIX для использования в целях образования (нужно было платить только за носитель и документацию).

Появившуюся к этому времени "Пятую редакцию" ОС UNIX одними из первых получили Калифорнийский университет г. Беркли и университет Нового Южного Уэльса г. Сидней (Австралия).

Исследовательский UNIX

В 1975 году компания Bell Labs выпустила "Шестую редакцию" ОС UNIX, известную как V6 или Исследовательский UNIX. Эта версия системы была первой коммерчески доступной вне Bell Labs. К этому времени большая часть системы была написана на языке Си. Небольшие размеры языка и наличие сравнительно легко переносимого компилятора придавали ОС UNIX V6 новое качество реально переносимой операционной системы. Кроме того, потенциальное наличие на разных аппаратных платформах компилятора языка Си делало возможным разработку мобильного прикладного программного обеспечения.

Помимо широко распространенных машин, проектируемых в соответствии со сложившимися стандартами, часто создаются машины, в которых особо выделяется какое-либо свойство. Так, наибольшее внимание в начале и середине 80-х годов привлекли своими графическими возможностями машины Macintosh и Amiga. В первой из них дисплей был монохромным, во второй - цветным, но обе отличались высокой разрешающей способностью и скоростью вывода графической информации на дисплей.

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

Пи - система

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

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

Операционная система Multics

Итак, все началось в далеком 1965-м... Четыре года компания American Telegraph & Telephone Bell Labs совместно с фирмой General Electric и группой исследователей из Масачусесткого технологического института творила проект Os Multics (также именуемый MAC - не путать с МасOS). Целью проекта было создание многопользовательской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычислительным ресурсам. Эта ОС основывалась на принципах многоуровневой защиты. Виртуальная память имела сегментно-страничную организацию, где с каждым сегментом связывался уровень доступа. Для того, чтобы какая-либо программа могла вызвать программу или обратиться к данным, располагающимся в некотором сегменте, требовалось, чтобы уровень выполнения этой программы был не ниже уровня доступа соответствующего сегмента. Также впервые в Multics была реализована полностью централизованная файловая система. То есть, даже если файлы находятся на разных физических устройствах, логически они как бы присутствуют на одном диске. В директории же указан не сам файл, а лишь линк на его физическое местонахождение. Если вдруг файла там не оказывается, умная система просит вставить соответствующий девайс. Помимо этого, в Multics наличествовал большой объем виртуальной памяти, что позволяло делать имэйджи файлов из внешней памяти в виртуальную. Увы, но все попытки наладить в системе относительно дружественный интерфейс провалились. Было вложено много денег, а результат был несколько иной, нежели хотелось ребятам из Bell Labs. Проект был закрыт. Кстати, участниками проекта значились Кен Томпсон и Денис Ритчи. Несмотря на то, что проект был закрыт, считается, что именно ОС Multics дала начало ОС Unix.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: