Читаем Just for fun. Рассказ нечаянного революционера полностью

Я крутился как белка в колесе: программирование — сон — программирование — еда (соленые сухарики) — программирование — сон — программирование — душ (на скорую руку) — программирование. К концу работы стало ясно, что моя программа превращается в операционную систему. И я стал думать о ней не как о программе эмуляции терминала, а как об операционной системе. Этот сдвиг произошел, вероятно, в дурмане одного из затянувшихся сеансов программирования. Было это днем или ночью? Не знаю. Сижу я в своем старом халате и работаю с программой эмуляции, снабженной дополнительными функциями. А потом вдруг понимаю, что этих функций стало так много, что программа превратилась в рабочую версию операционной системы.

Я называл ее «программой эмуляции терминала типа gnu-emacs». Gnu-emacs начинался как редактор, но его создатели встроили в него кучу разных функций. Они хотели, чтоб это был редактор, который можно программировать, но потом программистская часть выросла до невообразимых размеров и редактор стал настоящим кошмаром. В него входит все, кроме разве что кухонной раковины, именно поэтому кухонная раковина часто служит его значком. Программа известна как чудовищный монстр, который включает больше функций, чем в принципе может понадобиться редактору. То же самое происходило с моим эмулятором терминала. Он превращался в нечто гораздо большее.

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

To: Newsgroup: comp.os.minix

Subject: Gcc-1.40 и вопрос о posix

Message-ID: <1991 Ju 13,100050. 9886@klaava.Helsinki.Fi>

Date: 3 Jul 91 10:00:50 GMT

Привет, сетяне!

Я сейчас делаю один проект (под minix) , и мне нужно

определение стандартов posix. Кто-нибудь знает, где

можно взять их последнюю версию, желательно в

электронном виде? Ftp-сайты годятся.

Это самое раннее публичное свидетельство того, что некий хакер из Финляндии хочет проверить границы своих возможностей. Стандарты POSIX — это подробнейшие правила для каждого из сотен системных вызовов в Unix — что нужно для того, чтобы заставить компьютер выполнить эту операцию, начиная с Read, Write, Open и Close. Они вырабатываются специальной организацией, состоящей из представителей компаний, которые хотят договориться об общих стандартах для Unix. Стандарты нужны для того, чтобы программисты могли писать приложения, которые будут работать под разными версиями Unix. Из списка системных вызовов, особенно наиболее важных, я хотел узнать, какие функции нужны операционной системе. После этого я смог бы написать свои собственные коды для выполнения всех этих функций. А соответствие стандартам POSIX позволило бы другим, людям пользоваться моими программами.

В то время я не знал, что печатную версию этих стандартов можно было купить непосредственно у разработчиков POSIX, но это в любом случае не имело значения. Даже если бы покупка была мне по карману, пересылка книги в Финляндию заняла бы слишком много времени. Поэтому я и просил указать версию, которую можно бесплатно скачать с FТР-сайта.

На мой вопрос о стандартах POSIX никто не ответил, поэтому я перешел к запасному плану. Я стал исследовать документацию Unix версии Sun Microsystems — эта система стояла на университетском сервере. Там нашлась базовая версия системных вызовов — для начала мне этого было достаточно. Можно было посмотреть, что должны делать системные вызовы, а потом заняться их реализацией. В документации не говорилось, как получить результат, просто показывалось, каким он должен быть. Часть системных вызовов мне удалось откопать в книге Эндрю Таненбаума и в некоторых других. В конце концов кто-то прислал мне толстые тома со стандартами POSIX.

Однако мое сообщение не прошло незамеченным. Каждый знающий человек (а кто еще станет читать сайт Minix?) понял, что я пишу операционную систему. Иначе зачем бы мне понадобились правила POSIX? Мое сообщение вызвало любопытство Ари Лемке, преподавателя из Технического университета Хельсинки (где бы я непременно стал учиться, если бы меня не так привлекали теоретические занятия). Ари по-дружески обратился ко мне, предложив выделить на университетском FTP-сервере каталог, в который я смогу поместить свою операционную систему, когда она будет готова, чтобы каждый при желании мог ее оттуда скачать.

VII

Перейти на страницу:

Похожие книги

Девочка из прошлого
Девочка из прошлого

– Папа! – слышу детский крик и оборачиваюсь.Девочка лет пяти несется ко мне.– Папочка! Наконец-то я тебя нашла, – подлетает и обнимает мои ноги.– Ты ошиблась, малышка. Я не твой папа, – присаживаюсь на корточки и поправляю съехавшую на бок шапку.– Мой-мой, я точно знаю, – порывисто обнимает меня за шею.– Как тебя зовут?– Анна Иванна. – Надо же, отчество угадала, только вот детей у меня нет, да и залетов не припоминаю. Дети – мое табу.– А маму как зовут?Вытаскивает помятую фотографию и протягивает мне.– Вот моя мама – Виктолия.Забираю снимок и смотрю на счастливые лица, запечатленные на нем. Я и Вика. Сердце срывается в бешеный галоп. Не может быть...

Адалинда Морриган , Аля Драгам , Брайан Макгиллоуэй , Сергей Гулевитский , Слава Доронина

Детективы / Биографии и Мемуары / Современные любовные романы / Классические детективы / Романы
Русская печь
Русская печь

Печное искусство — особый вид народного творчества, имеющий богатые традиции и приемы. «Печь нам мать родная», — говорил русский народ испокон веков. Ведь с ее помощью не только топились деревенские избы и городские усадьбы — в печи готовили пищу, на ней лечились и спали, о ней слагали легенды и сказки.Книга расскажет о том, как устроена обычная или усовершенствованная русская печь и из каких основных частей она состоит, как самому изготовить материалы для кладки и сложить печь, как сушить ее и декорировать, заготовлять дрова и разводить огонь, готовить в ней пищу и печь хлеб, коптить рыбу и обжигать глиняные изделия.Если вы хотите своими руками сложить печь в загородном доме или на даче, подробное описание устройства и кладки подскажет, как это сделать правильно, а масса прекрасных иллюстраций поможет представить все воочию.

Владимир Арсентьевич Ситников , Геннадий Федотов , Геннадий Яковлевич Федотов

Биографии и Мемуары / Хобби и ремесла / Проза для детей / Дом и досуг / Документальное
Клуб банкиров
Клуб банкиров

Дэвид Рокфеллер — один из крупнейших политических и финансовых деятелей XX века, известный американский банкир, глава дома Рокфеллеров. Внук нефтяного магната и первого в истории миллиардера Джона Д. Рокфеллера, основателя Стандарт Ойл.Рокфеллер известен как один из первых и наиболее влиятельных идеологов глобализации и неоконсерватизма, основатель знаменитого Бильдербергского клуба. На одном из заседаний Бильдербергского клуба он сказал: «В наше время мир готов шагать в сторону мирового правительства. Наднациональный суверенитет интеллектуальной элиты и мировых банкиров, несомненно, предпочтительнее национального самоопределения, практиковавшегося в былые столетия».В своей книге Д. Рокфеллер рассказывает, как создавался этот «суверенитет интеллектуальной элиты и мировых банкиров», как распространялось влияние финансовой олигархии в мире: в Европе, в Азии, в Африке и Латинской Америке. Особое внимание уделяется проникновению мировых банков в Россию, которое началось еще в брежневскую эпоху; приводятся тексты секретных переговоров Д. Рокфеллера с Брежневым, Косыгиным и другими советскими лидерами.

Дэвид Рокфеллер

Биографии и Мемуары / История / Образование и наука / Документальное