double arrow

Студент из Хельсинки Линус Торвальдс

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

Линус Бенедикт Торвальдс (Linus Benedict Torvalds) родился 28 декабря 1969 года. Его дед по материнской линии, Лео Вальдемар Тёрнквист был профессором статистики в Университете Хельсинки. В 1981 он купил компьютер Commodore VIC-20. Это был первый компьютер, к которому Линус получил доступ - он помогал деду набивать программы, которые профессор старательно писал на бумаге, потому что не привык делать это непосредственно за компьютером. На этом же компьютере Линус написал свою первую программу - это была традиционная "Hello, World!". Когда дед умер, компьютер достался Линусу. Следующие 4 года он провел за компьютером. Когда он выжал из VIC-20 все, что смог, он стал копить деньги на модель следующего поколения. Основным источником средств на покупку компьютера были школьные стипендии, которые Линус ежегодно получал как лучший математик. В 1987 году он купил Sinclair QL. В этом компьютере был установлен 32-разрядный процессорный чип 68008 компании Motorola с частотой 8 мегагерц. Sinclair имел 128 килобайт (не мегабайт!) памяти, что по тем временам было очень много для домашнего компьютера. У VIC-20, на смену которому он пришел, было всего три с половиной килобайта. В качестве операционной системы использовалась Q-DOS.

Именно в это время Торвальдс заинтересовался работой операционной системы. Как он пишет сам в книге "Just for fun": "Операционками я заинтересовался так: купил флоппи-контроллер,... но к нему прилагался такой поганый драйвер, что пришлось написать новый. Пока писал - обнаружил проколы в самой операционной системе или по крайней мере несоответствие между тем, что обещала документация, и тем, что реально происходило. Я с этим столкнулся, когда моя программа отказалась работать."

На Sinclair QL Торвальдс работал 3 года. За это время он написал собственный редактор и ассемблер, запрограммировал несколько игр. По окончании школы он поступил на отделение компьютерных наук университета г.Хельсинки, столицы Финляндии. После окончания первого курса Торвальдс был вынужден был пойти в армию, где прослужил 11 месяцев. По возвращении из армии он снова вернулся в университет, выбрал себе курсы на осень и с нетерпением ждал лекций по языку Си и системе Unix. В предвкушении этих лекций еще летом он купил книгу "Проектирование и реализация операционных систем" Эндрю С. Таненбаума, в которой описывалась операционная система Minix. В своих воспоминаниях Линус пишет: "Как только я прочел предисловие, познакомился с концепцией Unix и узнал, на что способна эта мощная, строгая и красивая операционная система, я захотел купить такой компьютер, на котором сможет работать Unix. Я решил, что поставлю себе Minix - единственную по-настоящему полезную из известных мне версий."

Начало

2 января 1991 года Линус приобрел в рассрочку новый компьютер, на основе процессора Intel 80386 с 4 мегабайтами ОЗУ и тактовой частотой 33 мегагерца. Он установил на него Minix, которую пришлось заказывать отдельно. Она поставлялась на 16-ти дискетах. Примерно за месяц Торвальдс обжился в системе полностью и у него возникло множество претензий к этой ОС, несмотря на то, что установил в систему усовершенствования, сделанные австралийским хакером Брюсом Эвансом (это был царь и бог Minix 386). Хуже всего была эмуляция терминала, очень важная для Торвальдса программа, потому что именно ее он использовал для подключения к университетскому компьютеру MicroVAX, на котором стояла Ultrix - вариант Unix, созданный корпорацией Digital Equipment. Пришлось писать собственную программу эмуляции.

Когда программа эмуляции терминала заработала, возникла новая проблема. Как пишет Торвальдс "Беда была в том, что я хотел скачивать и закачивать файлы. То есть мне нужно было уметь писать на диск. Для этого моей программе эмуляции нужен был драйвер дисковода. А еще ей был нужен драйвер файловой системы, чтобы она могла вникать в организацию диска и записывать скачиваемые файлы.... разработка драйверов для дисковода и файловой системы казалась интересным делом. И я решил им заняться. Написал драйвер дисковода. А поскольку я хотел записывать файлы в файловую систему Minix, да к тому же эта система была хорошо документирована, я сделал свою файловую систему совместимой с системой Minix. Таким образом я мог читать файлы, созданные в Minix, и писать файлы на тот же диск, так что Minix могла читать файлы, созданные моей программой эмуляции терминала."

В Minix не только была плохая эмуляция терминала, но и не было возможности перевести в фоновый режим программу, которой временно не пользуешься. И тут Торвальдс уже практически взялся за создание собственной операционной системы. Вначале он пытался просто программировать один за другим системные вызовы. Но их около двухсот и эта работа скоро наскучила. Тогда он изменил подход. Он взял оболочку bash, которая свободно распространялась в Интернет, и начал пытаться заставить ядро своей ОС запустить ее. Когда на этапе загрузки или запуска оболочка обращалась к какому-то системному вызову, происходил сбой. Тогда Линус реализовывал необходимый системный вызов и повторял попытку. Наконец, в конце августа или начале сентября 1991 года, оболочка заработала. Это был очень важный момент. Как только оболочка заработала, удалось откомпилировать еще несколько программ. Оболочка была сложнее, чем, к примеру, программа копирования ср или команда выдачи листинга каталогов ls. В какой-то момент готовых компонент оказалось столько, что настал момент, когда можно было сказать, что заложены основы новой операционной системы.

25 августа 1991 года Линус Торвальдс направил первое сообщение о своей разработке в группу новостей comp.os.minix (смотри листинг 2).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: