Книги-online
UNIX
Операционная система UNIX
По материалам гипертекстового пособия "ОС UNIX",
http://base1.spiiras.nw.ru/univer/unix
В 1965 году Bell Telephone Laboratories (подразделение компании AT&T)
совместно с General Electric Company и Массачусетским технологическим
институтом начали разрабатывать новую операционную систему, названную
Multiсs Multiplexed Information and Computing Service (другой вариант
расшифровки аббревиатуры Multiсs Multi-user Timesharing Interactive
Computing System).
Целью проекта было создание многозадачной операционной системы,
способной обеспечить
одновременную работу нескольких сотен пользователей.
Но система Multiсs так и не была завершена, поскольку в 1969 году
Bell Labs вышла и проекта. Однако специалисты Bell Labs, принимавшие участие
в проекте Кен Томпсон
(Ken Tompson) и Дэннис Ритчи (Dennis Ritchie) продолжили
вместе с другими сотрудниками Bell Labs работу над созданием удобной среды
программирования.
Используя идеи и разработки, появившиеся в результате работы над Multiсs,
они создали в 1969 году небольшую операционную систему, получившую имя
Unix, созвучное Multiсs и придуманное другим членом группы разработчиков,
Брайаном Керниганом (Brian Kernigan). Система была целиком написана на
ассемблере и применялась на компьютере PDP-7. К 1971 году в Bell Labs Unix
была перенесена на более мощный компьютер PDP-11.
Вскоре после создания первых ассемблерных версий UNIX Томпсон начал работу
над компилятором FORTRAN, а в результате разработал язык B. Это был
интерпретатор со всеми свойственными интерпретаторам ограничениями, и Ритчи
переработал его в другой язык, названный C, позволявший генерировать
машинный код.
В 1973 году ядро Unix было переписано на C.
В отличие от всех предыдущих ОС, на 100 процентов написанных
на ассемблере для определенной машины, ядро UNIX имело только 10 процентов
(1000 строк) кода на ассемблере. Для того, чтобы работать на произвольной машине,
новая ОС нуждалась в написании всего лишь нескольких страничек на ассемблере и
в компиляторе языка C. Это позволяло за считанные месяцы переносить
операционную систему
на другие аппаратные платформы и достаточно легко вносить в нее серьезные
изменения и дополнения.
В дальнейшем популярность UNIX росла, и в 1975 году
вышла первая версия UNIX, разработанная за пределами Bell Labs. Поскольку
исходные тексты ОС на языке C были общедоступны, многие компании взялись за
адаптацию UNIX под свои компьютеры, в результате чего появилось
большое количество различных версий этой операционной системы.
Подобные шаги, естественно, привели к росту популярности UNIX и, начиная с
1977 года, UNIX переносится на различные аппаратные платформы. Помимо
этого, происходит усовершенствование операционной системы, расширение ее
возможностей и модификация.
UNIX стала первой действительно переносимой операционной системой,
и в этом одна из причин ее успеха. Как в ранние, так и в сегодняшние версии UNIX
постоянно вносятся изменения. С одной стороны, это расширяет возможности
системы, делает ее мощнее и надежнее, с другой ведет к появлению различий
между существующими версиями. В связи с этим возникает необходимость
стандартизации различных свойств системы. Наличие стандартов облегчает
переносимость приложений между различными версиями UNIX и защищает как
пользователей, так и производителей программного обеспечения. Поэтому в 80-х
годах возникло несколько организаций, ставивших свое целью стандартизацию
отдельных элементов UNIX, и был разработан ряд стандартов, оказывающих
влияние на развитие UNIX.
Сейчас существуют десятки операционных систем, которые можно объединить
под общим названием UNIX. В основном, это коммерческие версии, выпущенные
производителями аппаратных платформ для компьютеров своего производства.
Причины популярности UNIX:
- Код системы написан на языке высокого уровня C, что сделало ее
простой для понимания, изменения и переноса на другие платформы. Можно смело сказать,
что UNIX является одной из наиболее открытых систем.
- UNIX многозадачная многопользовательская система.
Один мощный сервер может
обслуживать запросы большого количества пользователей. При этом необходимо
администрирование только одно системы. Кроме того, система способна
выполнять большое количество различных функций, в частности, работать, как
вычислительный сервер, как сервер базы данных, как сетевой сервер,
поддерживающий важнейшие сервисы сети и т.д.
- Наличие стандартов. Несмотря на разнообразие версий UNIX, основой всего
семейства являются принципиально одинаковая архитектура и ряд стандартных
интерфейсов. Для администратора переход на другую версию системы не
составит большого труда, а для пользователей он может и вовсе оказаться
незаметным.
- Простой, но мощный модульный пользовательский интерфейс. Имея в своем
распоряжении набор утилит, каждая из которых решает узкую
специализированную задачу, можно конструировать из них сложные комплексы.
- Использование единой, легко обслуживаемой иерархической файловой системы.
Файловая система UNIX это не только доступ к данным, хранящимся на диске.
Через унифицированный интерфейс файловой системы осуществляется доступ к
терминалам, принтерам, сети и т.п.
- Очень большое количество приложений, в том числе свободно распространяемых,
начиная от простейших текстовых редакторов и заканчивая мощными системами
управления базами данных.