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

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

Наконец, в пятницу днем Minix прибыла, и в тот же вечер я ее установил. Для этого пришлось вставить в компьютер поочередно шестнадцать дискет. Все выходные ушли на освоение новой системы. Я разобрался в ее достоинствах и — что важнее — в недостатках. Их я старался компенсировать, перенося домой те программы, к которым привык в университете. Примерно за месяц я обжился полностью.

Эндрю Таненбаум — тот амстердамский профессор, который написал Minix, — хотел, чтобы система оставалась учебным инструментом. Поэтому она была намеренно изуродована. Существовали заплатки — то есть усовершенствования к Minix, в том числе знаменитая заплатка австралийского хакера Брюса Эванса (это был царь и бог Minix 386). С его заплаткой Minix на 386-м становилась намного лучше. Я начал читать телеконференцию по Minix в онлайне еще до покупки нового компьютера, поэтому с самого начала знал, что хочу установить именно усовершенствованную версию Эванса. Но из-за лицензионных ограничений пришлось сначала купить исходную версию Minix, а потом изрядно повозиться, приделывая заплатки Эванса. Это было целое дело.

У меня возникло множество претензий к Minix. Хуже всего была эмуляция терминала, очень важная для меня программа, потому что именно ее я использовал для подключения к университетскому компьютеру. Я зависел от этой эмуляции каждый раз, когда связывался с университетским компьютером, чтобы поработать с мощной Unix-системой или просто выйти в онлайн.

Пришлось писать собственную программу эмуляции. Я peшил не подстраивать ее под Minix, а опираться прямо на аппаратный уровень. Разработка программы позволяла, кроме всего прочего, детально изучить работу 386-го. Как я уже сказал, в Хельсинки стояла зима. У меня был крутой компьютер. Важнее всего было разобраться, что эта машина может, и использовать эти возможности в свое удовольствие.

Поскольку я программировал на голом железе, мне пришлось начать с BIOS — самой первой программы из ПЗУ, с которой начинается загрузка. BIOS начинает считывать информацию либо с дискеты, либо с жесткого диска. Я поместил свою программу на дискету. BIOS считывает первый сектор дискеты и начинает его выполнять. Я впервые работал с PC, и мне надо было разобраться, как все это делается. Все происходит в так называемом «реальном режиме». Но для того чтобы воспользоваться всеми возможностями ЦП и его 32-разрядностью, нужно было войти в «защищенный режим». А для этого нужно задать кучу разных параметров.

Поэтому для построения программы эмуляции терминала таким путем нужно было знать, как работает ЦП. Отчасти именно поэтому я писал на ассемблере — хотел разобраться в ЦП. Еще нужно было знать, как писать на экран, как читать с клавиатуры, как читать с модема и писать на него. (Надеюсь, я еще не распугал тех своих читателей-неспециалистов, которые мужественно отказались перескочить на страницу 142.)

Я хотел иметь два независимых процесса. Один должен был читать информацию с модема и выдавать ее на экран. А другой — читать с клавиатуры и отправлять модему. Для этого я хотел использовать два двусторонних канала. Это называется переключением задач, и аппаратная часть 386-го его поддерживает. Я был в восторге от своего плана.

Моя первая тестовая программа использовала один процесс для выдачи на экран буквы А, а другой — для выдачи буквы В. (Звучит тоскливо — я знаю.) Я запрограммировал это так, чтобы каждую секунду писалось несколько букв. С помощью прерывания по таймеру я сделал так, что сначала экран заполнялся ААААААА. Потом неожиданно буквы сменялись на ВВВВВВВВВ. С практической точки зрения это было абсолютно бессмысленно, но зато становилось очевидно, что переключение работает. На это у меня ушел почти месяц, потому что во всем приходилось разбираться с нуля.

В конце концов я научился переключать процессы (АААААААА и ВВВВВВВ) так, чтобы один читал с модема и писал на экран, а другой — читал с клавиатуры и писал на модем. У меня появилась собственная программа эмуляции терминала.

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

Я был очень горд.

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

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

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

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

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

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

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

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

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

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

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

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