Читаем Just for Fun полностью

Осенью 1992-го меня назначили ассистентом в шведских классах факультета информатики. (Это произошло так. Им был нужен говорящий по-шведски преподаватель для базовых компьютерных курсов. В университете специализировались по информатике всего два шведа-старшекурсника: Ларе и Линус. Особого выбора не было.) Первое время я со страхом выходил к доске решать задачи, но вскоре увлекался и переставал волноваться. Кстати, спустя три года меня перевели в научные сотрудники – я стал получать деньги не за преподавание, а за исследования в компьютерной лаборатории, которые по существу сводились к разработке Linux. Этим было положено начало доброй традиции: мне стали платить за работу над Linux. Именно так в сущности обстоит дело и в Transmeta.

Дэвид:«Ну, и когда это стало важным?»

Я:«До сих пор не стало».

Хорошо, отвечу подробнее. Дело приняло новый оборот, когда я понял, что Linux не просто игрушечная операционная система – на нее всерьез стало полагаться множество людей. Вначале многие ставили себе Linux, просто чтобы поковыряться в ней, а вот когда ее стали использовать как настоящую операционную систему, я понял, что несу ответственность, если что-то случится. Или по крайней мере начал это понимать. (Я и сейчас чувствую такую ответственность.) За 1992 год Linux превратилась из увлекательной игры в важную составляющую жизни людей, стала источником их доходов, средством ведения коммерции.

Скачок произошел весной 1992-го – примерно через год после того, как я занялся программой эмуляции терминала, – когда под Linux заработала первая версия оконной системы X Window. Это значило, что операционка может поддерживать графический интерфейс пользователя и что пользователи могут работать в нескольких окнах одновременно благодаря проекту X Window, зародившемуся в Массачусетском технологическом институте. Это было существенное новшество. Помню, за год до его внедрения я шутил на эту тему с Ларсом: говорил, мол, когда-нибудь мы сможем запустить X Window, и все заработает. Я совершенно не ожидал, что это произойдет так быстро. Хакер по имени Орест Збровски сумел перенести X Window под Linux.

Система X Window работает с помощью Х-сервера, который берет на себя всю графику. Сервер общается с клиентами, чья задача говорить: «Мне нужно окно такой-то величины». Обмен информацией происходит на уровне сокетов, или, точнее, Unix Domain Sockets. Это способ обмена информацией внутри Unix, но он же используется и для передачи информации по Интернету. Орест написал первый уровень сокетов для Linux, просто чтобы перенести под нее X Window. Интерфейс Ореста был сметан на живую нитку и не интегрирован с остальным кодом. Это тот случай, когда я согласился на грубо сработанную заплатку, потому что она была нам нужна.

Я не сразу привык к тому, что у нас есть графический интерфейс пользователя. Думаю, около года я им вообще редко пользовался. А сейчас уке не могу без него: во время работы у меня всегда открыт миллион окон.

Орест не только дал возможность работать с окнами, но и вообще открыл дорогу в будущее. Domain Sockets использовались для организации локальной сети, которая позволяла работать системе X Window. Мы могли воспользоваться теми же самыми Domain Sockets, чтобы обеспечить Linux большой рывок во внешние сети – получить возможность связывать компьютеры. Без включения в сеть Linux была полезна только тем, кто сидел дома и выходил в большой мир по модему или вообще делал все локально. Поэтому мы с большим воодушевлением принялись разрабатывать сети для Linux поверх этих самых Domain Sockets, хотя они вовсе не были для этого предназначены.

Я был настолько уверен, что все получится, что даже сделал скачок в нумерации версий. В марте 1992 года я планировал выпустить версию 0.13. А вместо этого, получив графический интерфейс пользователя, уверился, что мы на 95% достигли цели – выпуска полноценной, надежной операционной системы, пригодной к тому же для работы в сети. И поэтому выпустил версию 0.95.

Господи, как же это было преждевременно! Чтобы не сказать, глупо.

Работа в сети – поганое дело, и в итоге на ее организацию ушло почти два года – только тогда ее можно было выпустить в свет. Переходя в сеть, получаешь целый букет новых проблем. Во-первых, защита. Ты не знаешь, кто работает в сети и что он затеял. Нужно быть очень осторожным, чтобы никто не мог повесить твой компьютер, посылая тебе кучи хлама. Ты уже не можешь контролировать, кто вступает в контакт с твоей машиной. Причем у разных людей могут быть совершенно разные настройки. Используя стандартный сетевой протокол TCP/IP, трудно правильно установить все тайм-ауты. Казалось, процесс будет бесконечным. К концу 1993 года у нас уже была почти работоспособная сетевая система, хотя у некоторых возникали серьезные проблемы с ее использованием. Мы не умели работать с сетями, в которых адрес не укладывался в 8-битные границы.

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

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

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT