Чтение онлайн

ЖАНРЫ

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Рис. 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 могла читать файлы, созданные моей программой эмуляции терминала»

Линусу ничего другого не оставалось, как написать собственную программу эмуляции терминала, что он и сделал, как видно из приведенной выше цитаты.

Кроме отвратительной терминальной программы Линусу не нравилось то, что в Minix нельзя было перевести текущую программу в фоновый режим. После написания своей программы эмуляции терминала Линус фактически взялся за написание своей операционной системы.

Сначала он принялся писать различные системные вызовы, но эта работа ему быстро надоела — ведь заранее нельзя знать, что именно тебе понадобится. Поэтому он взял оболочку Bourne Again Shell (bash) и попытался запустить ее на своей системе методом научного «тыка» (в математике этот метод называется методом Коши). Он запускал оболочку, она требовала какой-то системный вызов и завершала свою работу с ошибкой. Линус анализировал, какой вызов был нужен оболочке, и реализовывал его. В 1991 году оболочка все-таки запустилась. Это был очень важный момент в развитии новой ОС: был заложен ее фундамент.

25 августа Линус написал в группу новостей comp.os.minix первое сообщение о создании новой операционной системы. Сохранился даже оригинал этого сообщения:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)

Newsgroups: comp.os.minix

Subject: What would you like to see most in minix?

Summary: small poll for my new operating system

Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>

Поделиться с друзьями: