История создания и развития операционной системы UNIX



UNIX - торговая марка Bell Labs. подразделения AT&T. Кроме того, это родовое имя семейства UNIX-подобных операционных систем. История Unix началась на фоне проекта операционной системы MULTICS, который разрабатывался в Bell Labs., подразделении гиганта AT&T.
К 1968 г. разработка MULTICS окончательно зашла в тупик и D.Ritchie, K.Thompson, J.Ossana M.McLloy были вынуждены искать альтернативу MULTICSу. Были сделаны попытки найти машины среднего класса для решения своих задач. Это был также период формирования и разработки основных идей новой операционной системы. Thompson, Canaday, Ritchie разработали структуру файловой системы иерархического типа, которая явилась прототипом файловой системы Unix. Thompson выполнил практическую реализацию модели такой файловой системы в MULTICS.
Одновременно, в течение 1969 Thоmpson разрабатывал игровую программу "Космическое путешествие" - моделирование перемещения об'екта (игрока) в солнечной системе с учетом движения небесных тел. Эта программа вначале была написана в MULTICS, а затем переведена на FORTRAN компьютера General Electric 635, который работал под управлением операционной системы GECOS. Игра, однако была неэффективной из-за трудоемкости ввода данных в пакетноориентированной операционной системы GEOS.
Высокая стоимость машинного времени на большой ЭВМ, также исключала возможность широкого использования этой программы. И тогда, Thompson нашел старую, малоиспользуемую мини-ЭВМ PDP-7, которая, правда, имела интерактивный графический дисплей. С помощью Ritchie, он переписал игру для мини-ЭВМ, используя кросс-транслятор, работавший на GE-635. Некоторое время спустя, Thompson начал реализацию разработанной им идеи файловой системы на PDP-7, которая и явилась базисом для новой операционной системы. Затем были добавлены простые утилиты копирования, печати и управления файлами. Следом, в новом операционом окружении был реализован и ассемблер. До этого момента собственно разработка программы велась на General Electric, под управлением GEOS с последующим переносом программ на PDP-7 при помощи перфоленты. Появление ассемблера на PDP-7 сделало новую систему автономной. В 1970г. B.Kernighan предложил назвать новую систему Unix. Базовые структуры этой операционной системы сохранились в неизменном виде до наших дней. В 1970 г. для Bell Labs была куплена новая минимашина - знаменитая PDP-11, и первый в истории перенос системы Unix с одного типа архитектуры на другую был выполнен. В процессе переноса было полностью переписано ядро для новой машины на ассемблере.
В это время Kernighan и Ritchie разработали язык С, который сочетает две, казалось бы взаимоисключающие особенности: с одной стороны - это язык высокого уровня, имеющий все необходимые конструкции для структурированного подхода к программированию, что позволяет разрабатывать и сопровождать сложные программные проекты, а с другой стороны - он обеспечивает гибкость и эффективность сравнимую с ассемблерами. Вскоре большая часть Unix была переведена на новый язык.
Это обеспечило высокую мобильность системы по отношению к переносу на новые технические средства. Переводу на ассемблер нового компьютера должна подвергаться только небольшая часть программ нижнего уровня, которая работает непосредственно с аппаратурой. До середины 1970 гг. Unix в основном применялся внутри Bell&Labs, в системе подготовки текстовой документации.
Однако, начиная с середины 1970 гг. AT&T начала продавать Unix вместе с исходными текстами для колледжей и университетов по символической для того времени цене - 2000$. В результате, операционная система Unix к концу 1970 гг. получила широкое распространение в университетских и академических кругах. Этот процесс был облегчен тем, что K.Thompson получил должность приглашенного профессора в Калифорнийском университете в Беркли.
Студенты и профессора продолжили совершенствование и доработку Unix. Версии этого варианта Unix стали доступны в большом количестве университетов по обе сторолны Атлантики, также были выполнены адаптации ситемы для коммерческих применений. Вне университетских кругов, их приверженность операционной системе Unix об'ясняли высокой квалификацией соответствующих специалистов. Но на самом деле такое объяснение было бы слишком односторонним. В то время были доступны несколько операционных систем не худших, если не лучших, чем Unix. Были, однако, факторы, которые не были свойственны исключительно системе Unix, но котрые значительно повлияли на распространение и адаптацию Unix. Во-первых, хотя она и не распространялась бесплатно, по сравнению с другими операционными системами ее стоимость была чисто номинальной.
Во-вторых, и это более важно, те, кто адаптировал Unix получали копию исходных текстов системы и могли их в дальнейшем модифицировать. С точки зрения университетских компьютерных центров, этот фактор был важнее, поскольку давал возможность играться с Unix и дорабатывать ее в соответствии с собственными желаниями.
Последним, и также важнейшим фактором, была возрастающая мобильность операционной системы Unix. Университеты, зачастую, имели ряд несовместимых машин различных приозводителей с собственными операционными системами. Использование одной операционной системы для разнотипных машин вместо большого количества разнородных фирменных разработок было намного выгоднее для университетов, которые не обладали достаточными ресурсами. В настоящее время, в результате этих адаптаций, выполненных в академической среде к концу 1970гг., операционная система Unix стала главной операционной системой, в которой студенты обучаются программированию. Фактически, в конце 1970 гг. большинство студентов не имело опыта работы в иных операционных окружениях.
Эта ситуация несколько изменилась к настоящему времени, благодаря низкой цене персональных компьютеров. Поэтому современные студенты, обычно, имеют опыт работы в двух или трех операционных системах, дополнительно к системе Unix. К этому моменту (конец 1970гг.) коммерческие применения системы Unix были незначительными. Это было так, поскольку Unix создавался в Bell Labs. как среда для программирования и его первоначальное предназначение в университетах было аналогичным.
В начале 1980-ых годов произошли события, комбинация которых создала пpинципиально новую ситуацию. Первое - значительное падение стоимости компьютеров, которое происходило в тот период если не каждый день, то, практически, каждый месяц. Второе - появление большого количества типов мощных микропроцессоров с нестандартными на то время архитектурами.
Это было вызвано технологическим прогрессом в создании микропроцессоров, достигнутым фирмами Motorolla, Intel, National Semicondactor и др. На этой элементной базе создавались рабочие станции, которым были необходимы мощные многозадачные многопользовательские операционные системы. Разработка оригинальных операционных систем для каждого нового типа микропроцессора было бы дорогостоящим делом, а для фирм не имевших соответствующего опыта и вовсе нереальным. Мобильность Unix, оказалась в тот период как никогда кстати. Наконец первая волна обученных на Unix студентов стала занимать важные посты в промышленных компаниях и бизнесе, и в ситуациях, связанных с выбором операционной системы они, естественно, отдавали предпочтение системе, которую они знали - и это был Unix.
Эти факторы привели к широчайшему распространению системы на самых различных аппаратных средствах. Ниже приводится список наиболее известных платформ, на которых реализован Unix. Всего же к настоящему времени известно более 80 платформ, на которых функционирует Unix.

1. DEC
- PDP-11 (Ultrix)
- VAX-11 (Ultrix-32)
- Dec Station (MIPS R3000,R2000) (Ultrix)

2. HP
- 9000/340/360/370 (Motorola 680X0) HP/UX
- HP 9000/834 (HP-PA) HP/UX

3. Data General
- DG 32-bit original architecture DG-UX
- Motorola 88000 DG-UX

4. CDC (MIPS R3000, R6000) Unix

5. Sun
- (Motorola 680X0) SunOS
- i386 SunOS
- Sparc 1,2 SunOS

6. Apollo (Motorolla 680X0) Apollo Domain (включает свои дополнения)

7. IBM Power Station RS/6000 AIX

8. Amdahl (IBM370 - совместимая аpх.) -

9. Convex -

10. Cray -

11. ICL, Tandem (MIPS) -

14 Silicon Graphics -

15. На компьютерах, совместимых с IBM РC 386
доступен целый спектр операционных систем:

1.Xenix 286, 386 (SCO)
2.Unix 3.2 Open Desкtop (SCO)- v 4.0
3.Interactive system Unix 3.2 - v 4.0.
4.Intel 3.2. AT&T
5.Esix
6.Microport
7.Coherent Sys V (Работоспособен на 640k
Оперативной памяти!)

Однако кроме субъективных факторов действовавших в пользу Unix были, конечно, и объективные - собственно качества операционной системы как таковой. В 1983 г. на вручении премии Association for Computing Machinery K.Thompson и D.Ritchie ими было сказано: "Успех Unix - подобных операционных систем заложен в правильно сделаном выборе ключевых моментов и их элегантной реализации. Благодаря своим особенностям, Unix вырастила новое поколение программистов, которым она дала возможность работать, сконцентрировавшись на своей проблеме."
К этим основным идеям могут быть отнесены следующие :
- файловая система в виде перевернутого дерева, отражющая естественный иерархический подход к структуризации данных;
- идея виртуальности: возможность видеть и одинаковыми средствами работать с всеми информационными структурами : данными, программами, командными процедурами, директориями и даже устройствами (как с файлами специального типа);
- представление любого файла как одномерного массива без какой-либо дополнительной внутренней структуризации;
- идея процесса, как единицы работы, управления и потребления ресурсов. Последовательность процесса. Развитые механизмы логического и информационного взаимодействия процессов. Конвейеры.
- мощность и гибкость языка пользователей оболочки (языка управления заданиями или интерпретатора команд). Известные бухгалтерские системы и даже целые СУБД работающие и написанные на языке оболочки - shell.

Стандартизация операционной системы Unix.

С 1981 г. фирмой AT&T была начата поставка OC Unix как важнейшего программного продукта - этот вариант был назван System V. Стандарт системы описан в документе SVID (System V interface description). В дальнейшем, однако, развитие и стандартизация системы фирмой AT&T не развивались достаточно энергично, что и привело впоследствии к появлению несовместимых друг с другом новых вариантов системы. В 1978 г. у AT&T куплена лицензия на систему Unix фирмой Microsoft. В начале 1980 г. Microsoft создает версию Unix для младших моделей PDP-11, а затем и IBM-совместимых персональных компьютеров.
Название новой системы - Xenix. В версии Xenix были учтены особенности архитектуры процессоров 80X86 - сегментация памяти, динамическая перемещаемость кодов, разделение данных и команд. Введены интерактивная генерация системы, автоматическое восстановление файловой системы и ряд пользовательских комманд и средств для администратора системы.
Полная совместимость Xenix и SVID отсутствуют. Впоследствии права на разработку и распространение Xenix передано Micrisoft фирме SCO (Santa Orus Operating).
В начале 1980 г. параллельно с AT&T проводились исследования в Университете Berkly. В рамках группы CSRG (Computer systems research group). по заказу Министерства обороны США эта группа разработала две версии Unix: BSD-2 (PDP-11) и BSD-4 (VAX-11). Основное отличие этих операционных систем - включение в них сетевых средств на базе TCP/IP - сетевого протокола, также разработанного по заданию Министерства обороны США, высокая эффективность, а также целый ряд новых команд и системных вызовов. С 1982 фирма Sun оснащает свои рабочие станции версией операционной системы BSD-4 с фирменным наименованием SunOS. Последние редакции Unix System V - версии 3.2 и, особенно, 4 сочетают в себе черты System V v3, Berkeley 4.3 и Xenix. Таким образом, кнастоящему времени существование как стандарта системы Xenix фактически прекращено. Объявлена следующая версия System V v.5, которая должна содержать существенную переработку системы.
К концу 1980 г. сложилось несколько "почти канонизированных" версий Unix, которые имели значительные отличия друг от друга, кроме того, зачастую производители компьютерного оборудования вносили собственные дополнения. Операционная система Unix стала терять свое основное свойство - независимость операционной среды от аппаратных средств.

Следующие группы стандартизации возникли для изменения этого положения: OSF (Open System Foundation) была официально зарегистрирована 17.05.88, в нее вошли фирмы Apollo, Bull, DEC, HP, IBM, Nixdorf и Siemens. Эта группа была организована, в значительной мере, как ответ на союз AT&T и Sun, который создал угрозу монополизации в разработке и стандартизации новых версий Unix. Декларированная цель OSF - создание стандартизованной версии Unix, которую будут распространять и использовать ее члены.
Соответственно, Unix International Inс. была создана - 30.10.88. в противовес OSF. UI не разрабатывает программное обеспечение, но разрабатывает рекомендации для AT&T по развитию и реализации системы Unix.
X/Open - с 1984 г. комитет только по стандартизации. В него входят DEC, AT&T, Unisys, NCR, HP, Bull, Siemens, Nixdorf, Philipps, Olivetty, Ericson, ICL, Sun, IBM - а также 20 членов - совет пользователей. XPG3 (X/Open Portability Guide Version 3) - 1989г. сочетание SVID (2) и Posix 1003/1 - на сегодня наиболее предпочтительный стандарт. Posix 1003/1 - это стандарт на системные вызовы и библиотечные вызовы OС.
Этот набор стандартов, поддерживаемый IEEE/ANSI, призван обеспечить поддержку переносимости прикладных систем. Впрямую POSIX не связан с Unix. Перенос программ между системами, удовлетворяющими Posix должен обеспечиваться только компиляцией и сборкой системы в новом операционном окружении.

Дальнейшие направления развития стандарта Posix :

Posix 1003.2 - оболочка, вспомогательные команды.
Posix 1003.3 - тесты для проверки 1003.1 и 1003.2
Posix 1003.4-7 - администрирование, реальное время, языки ADA, Fortran, секретность, распределенная обработка.

В целом, появление и pазвитие pазличных веpсий системы Unix можно пpедставить в виде такого деpева:

Дата Событие Беpкли Bell Labs AT&T Microsoft


1969 Ken Thompson PDP-7
pазpабaтывает |
Unix |
|
1971 появление языка В PDP-11/20
|
1973 Пеpвая веpсия Bell Labs
на языке C Ritchie
|
1976 Пеpвый лиценз. Version 6 ------
pелиз | |
| |
1977 Пеpвый сопpовож- | Programmer
даемый внутpи AT&T | Work Bench
pелиз | |
| |
1978 Пеpвая мобильная Version 7 ------ |
веpсия | | |
| | |
1979 Пеpвая веpсия 32V Внутpенние
для DEC VAX Homdel Релизы AT&T
| |
------------- |
| |
1979 Bill Joy вводит Berkeley |
Беpклеевские 3BSD |
pасшиpения | |
1980 Berkeley |
4.1BSD --------------- |
| | | |
1982 AT&T начинает | | | System III---
пpодажу Unix | | | | |
| ------------ | | |
| | | | |
1983 AT&T начинает Berkeley Version 8 ---- System V |
пpодажу Unix 4.2BSD | | |
System V, как | | | |
пpомышленного | | | |
стандаpта | | | |
| | | |
1984 | | System V Xenix
| | Release 2 |
| | | |
1986 Berkeley Version 9 System V |
4.3BSD | Release 3 |
| | | |
| System V |
1987 ----------------------- Release 4 ----

|

|

Unix и архитектура микропроцессора Intel 80386.
-----------------------------------------------

32 bit registers
Адресация 4 Tb - физическая 2.32.
64 Tb - визуальная 2.46.
Реальный режим адресации
Защищенный режим адресации
Каждая задача до 1683 сегментов по 4 Гб, те 64 Тбайт
1.Сплошная память - сегмент до 4 Гб
2.Сегментирование

Аппаратные средства многозадачности - требуется менее 16 Mks для сохранения содержания регистрoв одной задачи, загрузки другой и продолжения выполнения.

Особенности реализации Unix на персональнальных компьютерах.
---------------------------------------------------------

- наличие VP/ix - среды для разработки и выполнения MS DOS-овских программ в среде Unix, как подзадач, выполняющихся параллельно с обычными задачами Unix. Эта возможность обеспечивается виртуальным режимом V86 процессора Intel-80386.
- Использование видеосистемы IBM PC-совместимых компьютеров обеспечивает подключение до 8 виртуальных терминалов к одномы видеоадаптеру и клавиатуре.
Следует отметить, что перенос программ вычислительного типа из DOS в Unix приводит помимо возможности использовать неограничнное количество оперативной памяти к снижению на 25-35% времени вычислений.

Общая характеристика системы Unix.
----------------------------------

1.Многозадачность

Под управлением Unix одновремено может выполняться значительное количество заданий, которые в Unix называются процессами. Процессы получают доступ к центральному процессору в соответствии с системой проритетов.

2. Многопользовательский режим.

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

3. Сетевое обеспечение Unix.

4.1 Протокол TCP/IP. Это означает для пользователя 4 рода услуг:
1. Виртуальный терминал ( работа на удаленной машине как на своей локальной)
2. Передача файлов между удаленными и локальной машиной.
3. Информационные: статистика, пользователи и др.
4. Удаленное выполнение команд.
4.2 На базе TCP/IP работает сетевая файловая система NFS аналогично монтированию системы томов (систем)

Например:

5. Графическое обеспечение. X-windows.
1. Оболочка (графическая)
2.Функционально подобная GKS библиотеки для работы в среде X
3. Сеть и Xwindows. TCP/IP
клиент- сервер

1. Запуск X serverа на Unix1
2. Подключение к Xclunet Telnet на Unix2
3. Запуск графической программы с указанием сервера (Unix1) Xwindows может работать также и под другими ОС.

6. Использование оснащений DOS рабочих станций как интеллектуальных терминалов для Unix host-компьютеров. Доступ к файловой системе Unix из DOS.

Сферы применения Unix
1. Разработка переносного программного обеспечения
2. Машинная графика (рабочие станции) САПР.
3. Основа для СУБД Orade, Informix, Unify, Ingress^ и др. в Т.Ч. распределение клиент-сервер.
4. Unix - обеспечение среды для "сетевых" операционных систем 1.Netware 2.Lan/manager
5. Коммуникационные: почтовые серверы, FAX-....
6. Супервычисления
7. Обучение.

Обновлено: 12.03.2015