Выбрать главу

Два года спустя Питер Вэйнер (Peter Weiner) и Гейнц Ликлама (Hienz Lycklama) создали компанию Interactive Systems, которая тоже принялась продавать UNIX. Правда, продавалась она под другим именем — Irdis (это первый клон UNIX).

Вернемся к нумерации Vn. Прекратилась она в 1979 году — в этом году вышла последняя «настоящая» UNIX — UNIX V7. В ее состав входили компилятор С, программы awk, make, uucp, find, cpio и командная оболочка Bourne (и, разумеется, много других программ, которых здесь перечислять нет смысла). Именно эта система была перенесена Дэннисом Ричи и Стивом Джонсоном (оба — сотрудники AT&T) на платформу Interdata, а чуть позже несколько программистов из австралийского университета перенесли ее на платформу Interdata 8. Правда, после переноса на другую платформу немного пострадала производительность системы — за все нужно платить. Университет Беркли занялся решением этой проблемы и решил ее. В 1982 году вышла версия 2.8.1BSD, которая работала значительно быстрее предшествующей.

Бурное развитие UNIX

В 1980 году агентству DARPA (the Defense Advanced Research Projects Agency) потребовалось увеличить мощность компьютеров, на которых базировалась сеть ARPANET (предок сети Интернет). Ресурсы стареньких PDP-10 были уже полностью исчерпаны, поэтому решено было перейти на более мощные компьютеры — VAX. Но для этих компьютеров нужен был стек протоколов TCP/IP. Реализация TCP/IP от DEC отпала по ряду причин, поэтому агентству DARPA ничего другого не оставалось, как выбрать систему BSD. Данный факт положительно отразился на развитии UNIX — ее выбрали основной системой для интернета.

Рис. 3. PDP-10

Рис. 4. VAX

Благодаря тому, что UNIX сделалась основой интернета, темпы ее развития возросли. В начале 80-х вышло много различных версий UNIX. Выпускали их разные компании, по основными конкурентами были компания AT&T и университет Беркли. Первая выпустила системы Programmer's Workbench (рабочее место программиста) и UNIX System III. Университет Беркли тоже не отставал — с октября 1980 года по сентябрь 1983 года было выпущено 6 версий системы — 4, 4.1, 4.1a, 4.1b, 4.1c, 4.2. Последняя версия отличалась высокопроизводительной файловой системой и встроенной поддержкой сети (TCP/IP). До этого сеть в UNIX поддерживалась, мягко говоря, весьма слабо. Но после реализации стека TCP/IP для UNIX все изменилось. В 1983 году большинство подключенных к интернету компьютеров составляли компьютеры VAX с ОС UNIX.

Какие бывают UNIX'ы?

Как только компании осознали, что на UNIX можно заработать, причем заработать неплохо, на рынке появилось множество клонов UNIX под разными названиями. Например, компания Sun Microsystems (основана в 1982 году, а одним из основателей был автор редактора ex — Билл Джой) перенесла BSD на платформу, разработанную в Стенфорде, чем положила начало новому типу рабочих станций.

Наверное, вы когда-нибудь слышали об операционных системах IRIX, XENIX, HP-UX — все эти системы UNIX-подобные, их создали, соответственно, компании SGI, SCO, Hewlett-Packard. О XENIX можно вообще долго говорить, но все, что вам нужно знать об этой системе — это то, что она является первым коммерческим UNIX'ом для платформы Intel. ОС IBM HP-UX 1.0 основана на системе System III от AT&T. Кстати, в 1983 году с компании AT&T был снят запрет заниматься компьютерным бизнесом, после чего компания сразу же принялась продавать свою систему System V от Bell Labs (не забываем, что это подразделение AT&T). Выпускала UNIX и компания IBM. Правда, она немного опоздала: продажи ее UNIX — системы AIX — начались только в 1990 году.

Обилие различных версий UNIX стало причиной так называемых UNIX-войн, когда конкурирующие компании выпускали все новые и новые версии UNIX'a.

Это далеко не вся история UNIX, но рассмотренного материала вполне хватит, чтобы заполнить пробел в ваших знаниях относительно истории развития этой операционной системы. Если вы заинтересовались, в Интернете есть множество статей, посвященных истории UNIX. Правда, большая их часть написана на английском языке.

Происхождение Linux

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

В 80-х годах мощности персональных компьютеров не хватало для запуска на них ОС UNIX, по к началу 90-х ситуация радикально изменилась. Вычислительные мощности персональных компьютеров достигли нужного уровня, что позволило запускать UNIX на обычном PC. К этому же времени начали появляться версии UNIX для PC. Одной из таких систем была система Minix. Система Minix была разработана в 1987 году Эндрю Таненбаумом (Andrew S. Tannenbaum) как учебная программа: ее назначением была демонстрация устройства и принципа работы реальных операционных систем.

Поскольку Minix была больше демонстрационной, нежели реальной системой, она была далека от совершенства. К тому же она была ориентирована на процессор 80286, который был более доступным в то время. Исходные коды (12 000 строк) этой операционной системы были опубликованы в книге А. Таненбаума «Операционные системы», которую мог прочитать любой желающий. Одним из читателей этой книги оказался Линус Торвальдс — будущий создатель Linux.

Линус Торвальдс

Линус Бенедикт Торвальдс (Linus Benedict Torvalds) родился 28 декабря 1969 года в г. Хельсинки, Финляндия. Первым компьютером Линуса был Commodore VIC-20, который купил его дед Лео Вальдемар Тёрнквист. Лео Вальдемар был профессором в Университете Хельсинки.

На «Коммодоре» Линус написал первую программу «Hello, World!». Наверно, все мы начинали именно с этой программы. За 4 года (компьютер был куплен в 1981 году) Линус выжал из него все, что мог, поэтому он стал копить деньги на новый компьютер. Основным источником его доходов в то время были школьные стипендии. В 1987 году он купил компьютер Sinclair QL. Это был очень мощный на то время компьютер. На Sinclair QL был установлен 32-разрядный процессор Motorola 68008 и 128 Кб оперативной памяти. Не удивляйтесь: именно 128 Кб. Это было очень много: для сравнения, на «Коммодоре» было установлено всего 3,5 Кб. На новом компьютере была установлена операционная система Q-DOS.

За четыре года Линус основательно освоил компьютер и заинтересовался работой операционной системы. В своей книге «Just for fun» он пишет: «Операционками я заинтересовался так: купил флоппи-контроллер, но к нему прилагался такой поганый драйвер, что пришлось написать новый. Пока писал — обнаружил проколы в самой операционной системе или, по крайней мере, несоответствие между тем. что обещала документация, и тем, что реально происходило. Я с этим столкнулся, когда моя программа отказалась работать.»

Sinclair QL «прожил» у Линуса 3 года — на год меньше, чем его предшественник. За эти три года Линус написал собственный ассемблер, текстовый редактор и несколько компьютерных игр.

После школы Линус поступил в Хельсинский университет на факультет компьютерных наук. На первом курсе ему немного не повезло — он вынужден был пойти служить в армию и прослужил там 11 месяцев. После возвращения из армии он продолжил учебу в университете. На втором курсе он прочитал книгу Таненбаума, посвященную операционным системам. Потом Линус писал: «Как только я прочел предисловие, познакомился с концепцией UNIX и узнал, на что способна эта мощная, строгая и красивая операционная система, я захотел купить такой компьютер, на котором сможет работать UNIX. Я решил, что поставлю себе Minix — единственную по-настоящему полезную из известных мне версий.»

С этого все и началось…

Рис. 5. Линус Торвальдс

Линус недоволен Minix

В январе 1991 года Линус приобрел в кредит компьютер на базе процессора Intel 80386@33Mhz с 4 мегабайтами оперативной памяти. На компьютер была установлена операционная система Minix. Но установленная система не совсем оправдала его ожидания. Больше всего ему не нравилась программа эмуляции терминала, которая была для него просто необходима — ведь с ее помощью он подключался к университетскому MicroVAX'y. Линус писал: «Беда была в том, что я хотел скачивать и закачивать файлы. То есть мне нужно было уметь писать на диск. Для этого моей программе эмуляции нужен был драйвер дисковода. А еще ей был нужен драйвер файловой системы, чтобы она могла вникать в организацию диска и записывать скачиваемые файлы.... разработка драйверов для дисковода и файловой системы казалась интересным делом. И я решил им заняться. Написал драйвер дисковода. А поскольку я хотел записывать файлы в файловую систему Minix, к тому же эта система была хорошо документирована, я сделал свою файловую систему совместимой с системой Minix. Таким образом, я мог читать файлы, созданные в Minix, и писать файлы на тот же диск, так что Minix могла читать файлы, созданные моей программой эмуляции терминала»