Иллюстрированный самоучитель по теории операционных систем. История операционных систем

Помимо широко распространенных машин, проектируемых в соответствии со сложившимися стандартами, часто создаются машины, в которых особо выделяется какое-либо свойство. Так, наибольшее внимание в начале и середине 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.

МИНОБРНАУКИ РОССИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

КАФЕДРА АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ

Индивидуальное домашнее задание

по дисциплине

«Алгоритмические языки»

«Общие сведения о UNIX-подобной операционной системе. Описание и использование заданной группы команд командной строки Windows»

подпись, дата

фамилия, инициалы

Тищенко А.Д.

ученая степень, звание

подпись, дата

фамилия, инициалы

Липецк 2010

Задание кафедры

    Общие сведения об операционной системе и интерфейсе, представленном интерпретатором языка командной строки.

    Описание и примеры использования заданной группы команд.

Аннотация

Работа содержит 27 страниц

Рисунков нет

Общие сведения о UNIX:

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

    Возникновение и первая редакция ОС UNIX…………………………………………….стр.6

    Пользователь………………………………………………………………………………...стр.9

    Интерфейс пользователя и интерфейсе, представленном интерпретатором языка командной строки………………………………………………………………………….....................стр.10

    Общая организация ядра………………………………………………………………… .стр.13

1)Основные функции……………………………………………………………………стр.13

2)Принципы взаимодействия с ядром………………………………………………………………...................................стр.14

    Файловая система…………………………………………………………………………..стр.15

1)Структура файловой системы………………………………………………………...стр.16

2)Монтируемые файловые системы……………………………………………………стр.17

3)Защита файлов…………………………………………………………………………стр.17

    Драйверы устройств………………………………………………………………………..стр.18

    Управление памятью……………………………………………………………………….стр.19

    Описание и примеры использования заданной группы команд………………………... стр.20

1)Команда PAUSE………………………………………………………………………..стр.20

2)Команда POPD………………………………………………………………………….стр.21

3)Команда PRINT…………………………………………………………………………стр.21

4)Команда PROMT………………………………………………………………………..стр.22

5)Команда PUSHD………………………………………………………………………...стр.23

6)Команда RD……………………………………………………………………………...стр.24

7)Команда RECOVER…………………………………………………………………….стр.24

8)Команда REM……………………………………………………………………………стр.25

9)Команда REN…………………………………………………………………………….стр.25

10. Библиографический список……………………………………………………………….стр.27

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

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

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

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

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

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

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б но, к сожалению, эта операционка так и не получила распространения в СССР.

Обширное и бурно развивающееся семейство Unix оказало огромное идейное влияние на развитие операционных систем в 80-е и 90-е годы XX столетия. Генеалогия систем семейства опубликована на сайте [perso.wanadoo.fr ] и слишком обширна для того, чтобы ее можно было полностью привести в книге.

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

Родоначальником семейства следует, по-видимому, считать не первую версию Unix, а Multics , совместно разрабатывавшуюся в 1965-1969 гг. General Electric и Bell Laboratories . За это время General Electric выделило подразделение, занимавшееся работами над Multics и аппаратной платформой для нее (GE-645), в отдельную компанию Honeywell .

Multics была первой из промышленных систем, предоставлявших:

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

Multics оказала огромное влияние не только на разработчиков Unix - значительные следы идейного влияния этой системы прослеживаются так же в RSX-11 и VAX/VMS фирмы DEC. Последние Multics-системы были доступны в Internet в 1997 г.

В 1969 г. Bell Laboratories отказалась от работ над Multics и начала разработку собственной ОС для внутренних нужд. По-видимому, основной причиной этого шага было осознание несоответствия между амбициозными целями проекта Multics (ОС была весьма требовательна к ресурсам и могла работать только на больших компьютерах Honeywell), в то время как материнской компании Bell Labs - American Telephone & Telegraph - требовалась единая операционная среда, способная работать на различных миникомпьютерах, используемых в подразделениях телефонной сети США.

В Bell Laboratories был объявлен внутренний конкурс на разработку переносимой ОС, способной работать на миникомпьютерах различных поставщиков. К проекту были предъявлены следующие основные требования:

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

Один из участников работ над Multics , К. Томпсон, разработал крайне упрощенное ядро ОС, названное UNIX, для миникомпьютера PDP-7. К 1972 г. К. Томпсон и Д. Ритчи переписали ядро системы в основном на языке С и продемонстрировали возможность переноса ОС на миникомпьютеры PDP-11. Это обеспечило выполнение всех требований конкурса, и UNIX была признана основной платформой для вычислительных систем, эксплуатируемых в AT&T.

Легенды доносят до нас более колоритные детали ранних этапов истории новой системы. Так, одна из очень популярных легенд, излагаемая в той или иной форме несколькими источниками, утверждает, что история UNIX началась с разработанной для Multics игровой программы под названием Star Wars (звездные войны - сама эта программа и даже правила игры до нас не дошли). Уволенный из группы разработчиков Multics за разгильдяйство (мы приводим здесь наиболее радикальный вариант легенды, не заботясь о его согласовании с историческими фактами), Томпсон занялся "оживлением" неиспользуемой PDP-7, стоявшей в углу машинного зала. Оживление заключалось в написании ядра ОС, реализующего подмножество функциональности Multics, достаточное, для того чтобы перенести и запустить его любимые Star Wars [Бах 1986].

Первые версии UNIX были рассчитаны на машины без диспетчера памяти. Процессы загружались в единое адресное пространство. Ядро системы размещалось в нижних адресах ОЗУ, начиная с адреса 0, и называлось сегментом реентерабельных процедур . Реентерабельность обеспечивалась переустановкой стека в момент системного вызова и запретом переключения задач на все время исполнения модулей ядра. На машинах с базовой адресацией выполнялось перемещение образов процессов по памяти и сброс образа процесса на диск (задачный своппинг).

В Multics и современных системах Unix, fork реализуется посредством копирования страниц при модификации. Ранние версии UNIX физически копировали образ процесса. Большая часть (по некоторым оценкам, до 90%) fork немедленно продолжается исполнением системного вызова exec , поэтому одной из первых оптимизаций, придуманных в университетских версиях системы, было введение системного вызова vfork . Порожденный этим вызовом процесс исполнялся на самом образе родителя, а не на его копии. Создание нового образа процесса происходило только при исполнении exec . Для того чтобы избежать возможных проблем взаимоисключения (например, при вызове нереентерабельных функций стандартной библиотеки), исполнение родителя приостанавливалось до тех пор, пока потомок не выполнит exec или не завершится.

Выделяют [Баурн 1986] следующие отличительные особенности системы.

  • Порождение процессов системным вызовом fork , который создает копию адресного пространства в пользовательской области процесса.
  • Результат завершения процесса хранится в его дескрипторе и может быть считан только родителем. В списке процессов такой дескриптор выглядит как процесс в специальном состоянии, называемом зомби (zombie ).
  • Процессы-сироты (продолжающие исполнение после завершения родителя) усыновляются процессом с идентификатором, равным 1.
  • Процесс с идентификатором 1 запускается при загрузке системы (по умолчанию это /bin/ink ) и запускает все остальные обязательные задачи в системе. Наличие такого процесса иногда объявляют необходимым и достаточным критерием для причисления той или иной системы к семейству Unix.
  • Древовидная структура пространства имен файловой системы: дополнительные ФС монтируются в те или иные точки корневой ФС и идентифицируются затем точкой монтирования, а не именем устройства, на котором расположены.
  • Файлы рассматриваются ОС как неструктурированные потоки байтов и не типизованы на уровне ОС (в частности, на уровне ОС нет деления файлов на записи).
  • Файловая система поддерживает множественные имена файлов в виде жестких и, у более поздних версий, символических связей.
  • Отложенное удаление файлов: если процесс открыл файл, а другой процесс его удалил, то первый процесс может продолжать работу с файлом, и физическое удаление происходит только после того, как первый процесс его закроет.
  • Лозунг "все - файл", который, впрочем, последовательно реализован только в экспериментальной системе Plan 9 - в реальных Unix системах практически всегда присутствуют объекты, к которым не применимы файловые операции: переменные среды, структуры данных ядра в ранних версиях (позднее они были оформлены в виде псевдофайловой системы /ргос ), объекты SysV IPC и примитивы взаимоисключения POSIX Thread Library в современных системах.
  • Своеобразный командный язык, основанный на широком применении переназначения ввода-вывода и конвейеров (последовательностей задач, соединенных трубами).

Некоторые из перечисленных особенностей были позаимствованы другими ОС. Так, переназначение ввода-вывода и конвейеры реализуются командными процессорами ОС семейства СР/М, начиная с MS DOS 3.30. cmd.exe - командный процессор OS/2 и Windows NT/2000/XP - даже правильно понимает конструкцию cmdiine | more 2>&1 . Стандартные командные процессоры UNIX портированы практически на все современные ОС. Функциональный аналог Korn Shell включен в стандартную поставку Windows 2000.

Жесткие связи файлов (однако, без отложенного удаления) поддерживаются FCS2 (файловой системой VAX/VMS), NTFS и jfs при использовании под OS/2. Точки монтирования (подключение дополнительных ФС в дерево каталогов существующей ФС) реализованы в Windows 2000 и Toronto Virtual File System для OS/2.

Системный вызов CreateProcess Windows NT/2000/XP может имитировать семантику fork: для этого достаточно передать в качестве имени программы для нового процесса пустой указатель.

Библиотека ЕМХ для OS/2 реализует fork при помощи собственного обработчика страничного отказа.



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

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

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