osto vyjti v onlajn.
     Prishlos' pisat' sobstvennuyu programmu emulyacii. YA peshil ne podstraivat'
ee pod Minix, a opirat'sya pryamo na apparatnyj uroven'. Razrabotka  programmy
pozvolyala,  krome  vsego prochego, detal'no izuchit' rabotu 386-go. Kak  ya uzhe
skazal, v  Hel'sinki stoyala zima. U menya byl krutoj  komp'yuter. Vazhnee vsego
bylo  razobrat'sya, chto  eta mashina mozhet, i  ispol'zovat' eti  vozmozhnosti v
svoe udovol'stvie.
     Poskol'ku ya programmiroval  na golom zheleze, mne prishlos' nachat' s BIOS
--  samoj  pervoj programmy  iz  PZU,  s  kotoroj nachinaetsya  zagruzka. BIOS
nachinaet  schityvat' informaciyu  libo  s diskety, libo  s zhestkogo  diska.  YA
pomestil svoyu programmu na disketu.  BIOS schityvaet pervyj sektor diskety  i
nachinaet ego vypolnyat'. YA vpervye rabotal s PC, i mne nado bylo razobrat'sya,
kak vse eto delaetsya. Vse proishodit v tak nazyvaemom  "real'nom rezhime". No
dlya togo chtoby vospol'zovat'sya vsemi vozmozhnostyami CP i ego 32-razryadnost'yu,
nuzhno bylo vojti  v "zashchishchennyj rezhim". A dlya etogo nuzhno zadat' kuchu raznyh
parametrov.
     Poetomu  dlya postroeniya  programmy emulyacii terminala takim putem nuzhno
bylo znat', kak rabotaet CP. Otchasti imenno poetomu ya pisal na assemblere --
hotel razobrat'sya  v  CP. Eshche  nuzhno bylo znat', kak pisat'  na  ekran,  kak
chitat' s klaviatury, kak chitat' s modema i pisat'  na nego. (Nadeyus', ya  eshche
ne   raspugal   teh  svoih  chitatelej-nespecialistov,   kotorye  muzhestvenno
otkazalis' pereskochit' na stranicu 142.)
     YA  hotel  imet'  dva  nezavisimyh  processa.  Odin  dolzhen  byl  chitat'
informaciyu s modema i vydavat' ee  na ekran. A drugoj -- chitat' s klaviatury
i otpravlyat' modemu. Dlya etogo ya hotel ispol'zovat' dva dvustoronnih kanala.
|to   nazyvaetsya  pereklyucheniem  zadach,  i  apparatnaya  chast'   386-go   ego
podderzhivaet. YA byl v vostorge ot svoego plana.
     Moya  pervaya testovaya programma ispol'zovala odin  process dlya vydachi na
ekran bukvy A, a drugoj  -- dlya vydachi bukvy V. (Zvuchit tosklivo -- ya znayu.)
YA zaprogrammiroval eto tak, chtoby kazhduyu sekundu  pisalos' neskol'ko bukv. S
pomoshch'yu  preryvaniya po tajmeru  ya  sdelal tak,  chto snachala ekran zapolnyalsya
AAAAAAA. Potom neozhidanno bukvy smenyalis' na VVVVVVVVV. S prakticheskoj tochki
zreniya  eto bylo absolyutno bessmyslenno, no zato stanovilos'  ochevidno,  chto
pereklyuchenie rabotaet. Na  eto u menya ushel pochti mesyac,  potomu chto vo  vsem
prihodilos' razbirat'sya s nulya.
     V  konce  koncov ya  nauchilsya pereklyuchat' processy (AAAAAAAA  i VVVVVVV)
tak, chtoby  odin  chital  s modema  i  pisal  na  ekran,  a drugoj -- chital s
klaviatury i pisal na modem. U menya poyavilas' sobstvennaya programma emulyacii
terminala.
     Kogda  ya  hotel pochitat' novosti, ya  vstavlyal  disketu  i  perezagruzhal
mashinu,  chtoby s pomoshch'yu svoej programmy prochest' novosti s universitetskogo
komp'yutera.  Esli zhe ya  hotel vnesti  usovershenstvovaniya  v  paket  emulyacii
terminala, ya zagruzhal Minix i ispol'zoval ee dlya programmirovaniya.
     YA byl ochen' gord.
     Moya sestra Sara byla v kurse moih dostizhenij. YA pozval ee, i ona sekund
pyat' posmotrela  na  moi  AAAAAA i VVVVVV,  potom skazala: "Horosho", i ushla,
ostavshis'  sovershenno ravnodushnoj. YA ponyal, chto eto ne vpechatlyaet. Nikomu ne
ob®yasnish',   chto   pod  vneshnej  nezatejlivost'yu  mogut  skryvat'sya  slozhnye
glubinnye processy. Primerno tak zhe glupo, kak demonstrirovat' kusok dorogi,
kotoryj tol'ko chto pokryl  gudronom.  Kazhetsya, ya pohvastalsya svoimi uspehami
eshche  tol'ko  odnomu  cheloveku  --  Larsu.  |to byl  vtoroj  shvedskogovoryashchij
student, kotoryj specializirovalsya po komp'yuternym naukam i postupil  v odin
god so mnoj.
     Mne  ne  bylo dela, stoit  na  dvore  mart  ili  aprel', taet  sneg  na
Petersgatan  ili  net. Bol'shuyu chast' vremeni ya sidel v  halate,  lihoradochno
priniknuv  k svoemu  novomu strahovidnomu komp'yuteru  v komnate  s  plotnymi
chernymi  shtorami na  okne,  otgorozhennyj  ot  solnechnogo sveta i  voobshche  ot
vneshnego mira. YA s trudom naskrebal den'gi  na  ezhemesyachnye  platezhi za svoj
PK, kotorye  byli  rasschitany  na tri goda. YA eshche ne znal,  chto  platit' mne
ostalos' vsego god. A cherez  god ya uzhe budu avtorom Linux, kotoruyu uvidyat ne
tol'ko Sara i Lare, a kucha raznyh lyudej. I Peter |nvin, s kotorym my  teper'
vmeste  rabotaem v Transmeta, ob®yavit v Internete  podpisku dlya oplaty moego
komp'yutera.
     Vse znali, chto na Linux ya nichego ne zarabatyvayu. Vse prosto skazali: "A
davajte skinemsya Linusu na komp'yuter".
     |to bylo klassno.
     U  menya sovershenno ne bylo  deneg. Mne vsegda kazalos' ochen'  vazhnym ne
trebovat' i ne prosit' deneg, no kogda mne ih prosto dali... nu slov net.
     Vot tak nachinalas' Linux.  S  prevrashcheniya  testovoj  programmy v  paket
emulyacii terminala.
     ZHurnal "Red  Herring"  posylaet menya v  Finlyandiyu,  chtoby  ya napisal ob
Oulu,  novom  centre  vysokih  tehnologij,  gde,  nesmotrya  na  otpugivayushchee
mestopolozhenie (neskol'ko chasov ezdy ot Polyarnogo  kruga),  razmestilas' 141
nachinayushchaya  kompaniya.  Prekrasnaya  vozmozhnost'  vstretit'sya  v  Hel'sinki  s
roditelyami Linusa i sestroj Saroj.
     Ego  otec  Nil's (kotorogo vse  zovut  Pike)  vstrechaet  menya  v  holle
gostinicy  "Sokos  Vaakuna",  naprotiv  vokzala.  On podtyanut, nosit  ochki s
tolstymi  steklami   i   leninskuyu   borodku.   Nedavno  u  nego  zakonchilsya
chetyrehletnij  kontrakt  s  finskoj   teleradioveshchatel'noj  korporaciej,  po
kotoromu on rabotal v Moskve, i teper' on pishet knigu o Rossii i razmyshlyaet,
stoit li prinyat' priglashenie  na rabotu  v Vashingtone,  kotoryj kazhetsya  emu
neinteresnym  mestom. Za neskol'ko mesyacev do etogo  on  poluchil  prestizhnuyu
gosudarstvennuyu premiyu v oblasti zhurnalistiki,  i eta nagrada, po slovam ego
byvshej zheny Anny, "znachitel'no smyagchila ego".
     Rannim  vecherom on  vezet menya na svoem  "Vol'vo-U40" na  ekskursiyu  po
zasnezhennym "linusovskim"  mestam,  pokazyvaya vnushitel'noe  zdanie nachal'noj
shkoly, gde uchilis' i otec, i syn, proezzhaya mimo kvartiry babushki s dedushkoj,
gde Linus provel pervye tri mesyaca svoej zhizni, i mimo doma s vidom na park,
gde  sem'ya zhila sleduyushchie sem'  let.  Odin god  iz etih semi -- Linusu togda
bylo pyat' --  Nike provel v Moskve:  uchilsya kommunizmu.  Potom on pokazyvaet
mne  bledno-zheltoe  zdanie,  gde raspolozhena  kvartira, v  kotoruyu  Linus  s
sestroj pereehali posle razvoda  roditelej -- na  pervom  etazhe  tam  teper'
videomagazin  dlya  vzroslyh vmesto  magazina  elektroniki,  kotoryj  byl  vo
vremena detstva Linusa. I nakonec, my proezzhaem mimo samogo vnushitel'nogo iz
zdanij --  pyatietazhnogo doma,  v kotorom  zhili  babushka s dedushkoj Linusa po
materinskoj linii i  gde rodilas' Linux. Mat' Linusa Anna  po-prezhnemu zhivet
tam. Rajon napominaet verhnyuyu chast' manhettenskogo Ist-Sajda v dekabre.
     Nike vesel, umen i polon samoironii. U nego mnogo obshchih zhestov  s synom
--  naprimer,  oni  odinakovo   obhvatyvayut  podborodok  ladon'yu   vo  vremya
razgovora.  I  ulybki  u  nih  pohozhie.  V  otlichie  ot syna, on  vsyu  zhizn'
zanimaetsya  sportom  --  socialisticheskaya  zakalka. On igraet  v  basketbol,
begaet  po vosem' kilometrov v den' i  polyubil po utram  plavat'  v  ledyanoj
ozernoj    vode.    V   pyat'desyat    pyat'   u   nego    sportivnaya   pohodka
tridcatipyatiletnego. Eshche  odno  otlichie  ot Linusa: u  Nike,  pohozhe, burnaya
lichnaya zhizn'.
     My uzhinaem v shumnom restorane v centre Hel'sinki, i Nike rasskazyvaet o
trudnostyah,  kotorye   Linusu  prishlos'  perezhit'  kak  synu  superaktivnogo
kommunista,  postoyanno vystupavshego s rechami, a odno  vremya dazhe zanimavshego
nebol'shoj obshchestvennyj post. On ob®yasnyaet,  chto  Linusa chasto draznili iz-za
radikalizma  ego  otca,  a  nekotorym  detyam  dazhe  zapreshchali s  nim igrat'.
Poetomu, govorit Nike, ego syn vsegda stremilsya derzhat'sya podal'she ot levogo
dvizheniya, kotoroe bylo fonom  ego detstva. "On ne  daval mne govorit' na eti
temy. On  vyhodil iz  komnaty, --  rasskazyvaet  Nike. --  Ili  zhe  staralsya
podcherknut',  chto priderzhivaetsya  protivopolozhnogo  mneniya. YA  znayu,  Linusa
draznili v shkole iz-za menya.  On staralsya dat'  mne ponyat', chto ya  ne dolzhen
stavit' ego v takoe slozhnoe polozhenie".
     Nike  privozit  menya  k sebe  domoj,  chtoby ugostit' pivom. On  zhivet k
severu ot delovogo centra v odnom iz  domov,  postroennyh  v  20-e gody  dlya
rabochih. My podnimaemsya po stupen'kam v kvartiru i snimaem obuv'  pri vhode.
ZHilishche vyderzhano v  stile  kontrkul'tury konca 60-h  s  pletenymi abazhurami,
nastennymi  ukrasheniyami i  tret'ego mira, domashnimi rasteniyami. My sidim  za
kuhonnym  stolom, Nike razlivaet pivo, my  razgovarivaem o detyah. "Ne  nuzhno
dumat', chto  imenno my  delaem detej  tem,  chto oni est'",  --  govorit  on,
dostavaya mobil'nyj, chtoby pozvonit' zhenshchine, s kotoroj zhivet. Nike zamechaet,
chto  Linus tol'ko  sejchas  nachinaet  chitat'  istoricheskie knigi, kotorye  on
podsovyval synu godami, a  prochitat' stihi  sobstvennogo  dedushki, veroyatno,
tak i ne udosuzhilsya. YA sprashivayu Nike, vyrazhal li on  kogda-nibud' interes k
programmirovaniyu, prosil li Linusa ob®yasnit' azy.  On  otvechaet, chto nikogda
etogo ne delal.  Otcy  i  deti --  raznye lichnosti,  poyasnyaet  on.  Lezt'  v
uvlechenie Linusa tak zhe nedopustimo, kak "posyagat' na ego dushu". Pohozhe, emu
nravitsya byt' otcom izvestnogo cheloveka. V ocherke, napechatannom o Nike posle
polucheniya premii,  privoditsya ego rasskaz o tom, kak -- eshche kogda on zabiral
Linusa s detskoj  ploshchadki --  deti, pokazyvaya na  nego  pal'cami,  krichali:
"Smotrite, von otec Linusa!"
     Sara Torval®ds priehala na poezde iz malen'kogo gorodka, raspolozhennogo
k zapadu ot  Hel'sinki, gde nazvaniya ulic pishut snachala na shvedskom, a potom
uzhe na finskom, gde u nee hvataet deneg na kvartiru s vannoj i saunoj  i gde
--  k ee radosti -- na  ulicah zvuchit shvedskaya, a ne finskaya  rech'. Kak  ona
ob®yasnyaet, ona otnositsya  k  men'shinstvu sredi  men'shinstva:  v  yunosti  ona
pereshla  v  katolicizm,  v  rezul'tate  chego okazalas'  sredi  10  procentov
nelyuteranskogo  naseleniya  Finlyandii  i  vynudila  svoego agnostika  otca na
neskol'ko nedel' otrech'sya ot nee.
     Ona  segodnya  priehala v  Hel'sinki  uchit' detej  katehizisu  v  ramkah
finansiruemoj  pravitel'stvom   programmy.  Mila,  zhizneradostna  i  v  svoi
dvadcat'   devyat'   iskrennost'yu   i    ser'eznost'yu   napominaet    delovuyu
starsheklassnicu. Svetlaya  kozha- i  krugloe lico delayut ee  smutno pohozhej na
starshego  brata,  no  ochevidno,  chto  ona gorazdo  obshchitel'nee ego: vo vremya
nashego  razgovora  ona vse  vremya perekidyvaetsya  tekstovymi  soobshcheniyami  s
druz'yami, s  kotorymi nametila  vstretit'sya  v  tot  zhe den'. Ona  s uspehom
rukovodit sobstvennym byuro perevodov.
     Polden',  i  Sara  vezet  menya  poobedat' s mater'yu,  ostanavlivayas' po
doroge v raznyh pamyatnyh ej s detstva mestah: Koshachij park, nachal'naya shkola.
"Moi  roditeli byli chlenami kommunisticheskoj  partii, poetomu  v detstve nam
vnushali, chto  Sovetskij Soyuz  --  horoshaya  strana.  My ezdili v  Moskvu,  --
rasskazyvaet ona. -- Mne bol'she vsego zapomnilsya ogromnyj magazin igrushek --
v Hel'sinki takih bol'shih net". Kogda roditeli razvelis', ej bylo shest' let.
"Pomnyu, kak nam skazali, chto papa teper' vsegda budet zhit' otdel'no. YA togda
podumala -- vot horosho, ssory konchatsya. Voobshche-to on  podolgu  zhil v Moskve,
poetomu my privykli,  chto on uezzhaet", -- govorit Sara. V desyat'  ona reshila
pereehat' k otcu, v gorod |spoo, raspolozhennyj nepodaleku ot Hel'sinki, a ne
zhit' s mater'yu i Linusom. "Ne to chtoby ya ne hotela zhit' s mamoj. YA prosto ne
hotela zhit' s Linusom. Posle etogo my s nim ssorilis'  tol'ko po vyhodnym. A
obychno my ssorilis' vse vremya. I tol'ko kogda my stali starshe, my postepenno
stali men'she ssorit'sya".
     My  zaezzhaem k Anne Torval'ds v  ee  kvartiru na  pervom  etazhe, i  ona
radostno vstrechaet nas.  Vse zovut ee  Mikke. Ona ne daet mne snyat' obuv' po
finskomu obychayu: "CHto  za  gluposti!  Zdes'  vse  ravno gryazno.  Huzhe uzhe ne
budet". Ona nevysokaya, temnovolosaya, shvatyvaet vse na letu. CHerez neskol'ko
sekund  posle  nashego priezda  zvonit telefon. Agent  po  nedvizhimosti hochet
pokazat' mne svobodnuyu kvartiru nepodaleku ot  Mikke, chtoby ya mog opisat' ee
Linusu i peredat' emu materialy o nej na sluchaj, esli tot zahochet kupit' etu
kvartiru,  chtoby imet' sobstvennoe  pristanishche  v  Hel'sinki.  My  vhodim  v
prostornuyu   kvartiru,  gde  agent  --  vylitaya  Annet   Benine  v  "Krasote
po-amerikanski" -- velit nam pered osmotrom nadet'  na obuv' sinie tryapichnye
tapochki. Vskore  ona narochito  bodrym tonom  zayavlyaet: "A vot eta komnata --
ideal'noe  mesto  dlya  hraneniya starinnyh  proizvedenij  iskusstva,  kotorym
opasen  solnechnyj  svet". Mikke  smotrit  na  menya  zagovorshchicheski  i ehidno
govorit: "Kakoj izyashchnyj sposob soobshchit', chto eto temnaya komnata!"
     Vernuvshis' k sebe na kuhnyu, Mikke  saditsya okolo  pryamougol'nogo stola,
nakrytogo  cvetastoj skatert'yu,  i  nalivaet  kofe  v  ogromnuyu  kruzhku.  Ee
kvartira,  kak  i  kvartira  ee  byvshego muzha,  polna  knig  i  proizvedenij
narodnogo tvorchestva. Tam est' cherno-belye zanaveski Marimekko. Ran'she zdes'
bylo  tri  komnaty i kuhnya.  Kogda  deti uehali,  Mikke pereehala  v  byvshuyu
komnatu   Sary,   a  steny  dvuh   drugih  snesla  --  poluchilas'   ogromnaya
gostinaya-kuhnya. Ona pokazyvaet na pustoe mesto i govorit:  "Vot zdes'  stoyal
ego komp'yuter.  Mozhet,  mne  tut  povesit'  kakuyu-nibud' tablichku'?  Kak  vy
dumaete?" Ona kurit  sigaretu  za  sigaretoj.  S  nej legko govorit',  i ona
nastol'ko  svobodno  vladeet  anglijskim, chto bez  zapinki  vypalivaet frazy
tipa:  "On ne kakaya-nibud'  shval' podzabornaya!"  Na  stene ee  spal'ni visit
bol'shoj sovetskij flag. Ego podaril  Linusu  Jouko  Vierumaki, kotoryj kupil
ego na mezhdunarodnyh sorevnovaniyah po pryzhkam s tramplina na lyzhah. U Linusa
flag godami valyalsya v shkafu, a Mikke povesila ego nad svoej postel'yu.
     Mikke  dostaet  al'bom s nemnogochislennymi semejnymi fotografiyami. 'Tam
est' Linus  golyshom na plyazhe v vozraste 2--3 let. Linus  v  tom zhe vozraste,
sverkaet  goloj zadnicej vozle  starinnogo zamka pod Hel'sinki. Vot  toshchij i
neskladnyj  Linus-podrostok.  Vot Mikke  na  shestidesyatiletii  svoego  otca,
professora statistiki. Mikke pokazyvaet na svoyu starshuyu sestru i brata. "Ona
psihiatr v N'yu-Jorke.  On -- yadernyj fizik. A ya --  parshivaya ovca. Verno? No
zato u menya  u pervoj  rodilas' vnuchka", -- govorit ona i zazhigaet ocherednuyu
sigaretu.
     My  obedaem  v  restorane,  nosyashchem  imya  Uilta  CHemberlena  (Uilt
CHemberlen                             (Wilt
Chamberlain) -- amerikanskij  basketbolist.
--  Prim. per).  Poka Sara  chitaet soobshcheniya na mobil'nike,
Mikke  vypivaet  neskol'ko chashek  kofe. Mikke  vspominaet, kak  oni  s  Nike
sporili  o tom, nuzhno li otnimat' u Linusa pustyshku:  oni pisali drug  drugu
zapiski i ostavlyali na stole. Potom my govorim o plohoj  pamyati  Linusa, ego
nesposobnosti zapominat' lica. "Esli geroj fil'ma smenil krasnuyu  rubashku na
zheltuyu, Linus  obyazatel'no  sprosit: "Kto  etot tip?", --  govorit Sara. Oni
rasskazyvayut o  velosipednoj poezdke po SHvecii. Nochevkah na nochnom parome. O
tom, kak u Sary v pervyj zhe den' ukrali velosiped i prishlos'  potratit' kuchu
deneg  na novyj. Kak postavili palatku na skale. I Linus celyj den'  lezhal v
nej, chitaya knizhki, poka mat' s docher'yu plavali i lovili rybu. A potom, kogda
naletel moshchnyj shkval,  oni ponyali,  chto palatku ne uneslo v Baltijskoe  more
tol'ko  potomu,  chto  v nej spal  Linus,  ne  obrativshij vnimaniya  na rezkuyu
peremenu pogody.
     Mikke  smeetsya,  vspominaya o teh  godah,  kogda  Linus  sidel  v  svoej
komnate,  pogloshchennyj  komp'yuterom.  "Nike  vse  govoril mne:  "Vypihni  ego
naruzhu, zastav' najti sebe rabotu", no mne Linus ne meshal. Emu  bylo nemnogo
nuzhno. A so svoim komp'yuterom  on mog delat' chto ugodno -- eto ego pravo.  YA
ponyatiya ne imela, chto tam proishodit".
     Sejchas  ona  --  kak  i  vse  --  v kurse  del Linusa. Mikke  i  drugie
rodstvenniki  poluchayut   grudu   zaprosov  ot   zhurnalistov.   |ti   zaprosy
napravlyayutsya Linusu, a  on  obychno prosit mat', otca ili  sestru otvetit' po
sobstvennomu usmotreniyu. Odnako, prezhde chem otpravlyat' svoj otvet reporteru,
oni obychno posylayut ego na utverzhdenie Linusu.
     Za  neskol'ko  mesyacev  do  etogo,  kogda  ya  poslal  Mikke  zapros  po
elektronnoj  pochte  o  detstve   Linusa,  ona  otvetila  dlinnym,  masterski
napisannym poslaniem pod nazvaniem "Kak iz malen'kogo botanika vyros Linus".
Ona  pisala,  kak  zametila  v   edva   nauchivshemsya  hodit'  malyshe  nauchnye
naklonnosti, kotorye nablyudala u svoego otca i starshego brata.
     "Esli u cheloveka zagorayutsya glaza pri poyavlenii problemy i on perestaet
slyshat'  to, chto  ty govorish',  ne  mozhet  otvetit'  na  prostejshie voprosy,
polnost'yu  pogloshchen tem,  chem  zanyat  v nastoyashchij  moment, vo vremya  resheniya
zadachi gotov obhodit'sya bez sna i edy  i nikogda  ne  sdaetsya (ego, konechno,
mozhno prervat', i v obydennoj zhizni tak chasto i sluchaetsya, no potom on snova
prodolzhaet svoyu rabotu, ne dumaya  ni o chem  drugom)  -- eto vernyj priznak".
Ona pisala o  beskonechnoj vojne mezhdu  Linusom  i Saroj,  ob ih neprimirimyh
protivorechiyah. (Sara: "YA NE LYUBLYU  griby  /pechenku/eshche chto-to". Linus: "NET,
LYUBISHX/") I sderzhannoe  uvazhenie.  "Odnazhdy -- eshche v rannem detstve -- Linus
chetko vyrazil svoe  voshishchenie sestroj. Emu  bylo let  shest'-sem', kogda  on
ochen' ser'ezno skazal mne: "Znaesh', ya  nikogda ne dumayu novye mysli. YA dumayu
te mysli, kotorye lyudi uzhe dumali do menya. YA ih  prosto perestavlyayu.  A Sara
dumaet takie mysli, kotoryh ran'she ne bylo".
     Iz etih vospominanij sleduet, chto ya  po-prezhnemu ne dumayu, chto u Linusa
est' kakoj-to  special'nyj dar -- i uzh tochno  ne k  komp'yuteram.  Esli by ne
komp'yutery, on  by uvleksya chem-to eshche. V drugoj den' i v  drugom vozraste on
by uvleksya resheniem  kakoj-to  drugoj zadachi. Lumayu  -- eto eshche vperedi.  (YA
imeyu  v  vidu, chto  on, nadeyus', ne zastryanet na vsyu zhizn'  na  obsluzhivanii
Linux.) Potomu chto, kak mne kazhetsya, im dvizhet ne lyubov' k komp'yuteram i, uzh
konechno, ne stremlenie proslavit'sya ili razbogatet', a iskrennee lyubopytstvo
i zhelanie pobedit' voznikayushchie trudnosti. Prichem sdelat' eto  tak, kak nado,
potomu chto inache nel'zya i on ne sdastsya.
     YA uzhe,  po-moemu, otvetila na vopros, kakim synom byl Linus -- ego bylo
legko  rastit'. Stoilo emu postavit' sebe zadachu -- i  on zabyval  obo vsem.
Kogda eshche  rebenkom on uvleksya komp'yuterami, vse stalo sovsem prosto. Kak my
s  Saroj govorili:  dajte Linusu  chulan s horoshim  komp'yuterom,  kormite ego
suhimi makaronami, i on budet sovershenno dovolen.
     Odno tol'ko  menya trevozhilo: kak zhe pri takom obraze zhizni on  vstretit
horoshuyu devushku? YA mogla lish' eshche raz pribegnut' k ispytannomu roditel'skomu
sredstvu:  derzhat'  pal'cy  skreshchennymi.  I,  k schast'yu,  eto srabotalo!  On
vstretil Tuve na zanyatiyah v universitete, i kogda iz-za  nee on na neskol'ko
dnej zabyl i kota, i komp'yuter, stalo yasno, chto Priroda -- kak i polozheno --
vzyala svoe.
     YA tol'ko  nadeyus',  chto fimiamy slavy ne slishkom otvlekut ego. (Pohozhe,
slava ne  izmenila Linusa, no on dejstvitel'no smyagchilsya i teper' vstupaet v
besedu  s lyud'mi, kotorye  k nemu obrashchayutsya. Kazhetsya, chto emu stalo  trudno
govorit' "net".  No ya podozrevayu, chto  eto bol'she svyazano  s tem, chto  Linus
stal muzhem i otcom, chem so vsej etoj shumihoj, podnyatoj pressoj.)
     Ochevidno, chto i mat'  i doch'  polnost'yu v kurse  vsej etoj  shumihi.  My
vstrechalis' v  konce  yanvarya  2000  goda, na sleduyushchij den'  posle togo, kak
Transmeta  publichno ob®yavila o svoih planah i  v nachale obeda Mikke sprosila
Saru: "V segodnyashnej gazete bylo chto-nibud', sama znaesh' o kom i sama znaesh'
o chem?"
     Vecherom po doroge  na  rabotu  Mikke zaezzhaet na taksi ko mne v  otel',
chtoby zavezti sosnovyj stul'chik, kotoryj hochet  peredat' Patricii. Vmeste  s
planom kvartiry dlya Linusa.
     Vot, kazhetsya,  moe pervoe vospominanie o  tom, chto  Linus sdelal chto-to
primechatel'noe.
     Delo bylo, dumayu, v nachale 1992 goda. YA priehal  k Linusu na velosipede
bez  osoboj  celi.  My  sideli v ego  vsegdashnem  bardake, smotreli MTV, i ya
sprosil, kak idet razrabotka Linux. Obychno on otdelyvalsya pustymi frazami. V
etot raz  on povel menya k  komp'yuteru (iz  zamusorennoj  kuhni  v sovershenno
zahlamlennuyu komnatu).
     Linus vvel imya pol'zovatelya i parol' i popal v rezhim  komandnoj stroki.
On  pokazal mne  nekotorye  bazovye  funkcii interpretatora  komand,  nichego
osobennogo. Potom povernulsya ko mne so svoej harakternoj ulybkoj: "Pohozhe na
DOS, pravda?"
     YA  udivilsya  i  kivnul.  YA  ne byl potryasen, potomu chto  eto uzh slishkom
pohodilo na DOS, pri etom nichego osobenno novogo. Mne nuzhno bylo dogadat'sya,
chto Linus ne stanet tak ulybat'sya bez osoboj prichiny. Linus snova povernulsya
k  komp'yuteru  i  nazhal  kakuyu-to  kombinaciyu  klavish  --   poyavilos'  novoe
priglashenie dlya  vvoda  parolya.  Novyj  parol'  --  i snova  rezhim komandnoj
stroki. Linus  pokazal mne chetyre raznyh  komandnyh stroki i ob®yasnil, chto v
budushchem oni budut dostupny chetyrem razlichnym pol'zovatelyam.
     V etot moment ya ponyal, chto  Linus sozdal nechto chudesnoe. Menya eto nikak
ne zadelo -- v snuker-to ya u nego po-prezhnemu vyigryvayu.
     Jouko Vierumaki (Avuton)
     Dlya menya eto v pervuyu ochered' znachilo, chto telefon vse vremya zanyat i  k
nam nikto  ne  mozhet  dozvonit'sya... Potom stali  prihodit' otkrytki so vseh
koncov  sveta.   Navernoe,  togda  ya  nachala  ponimat',  chto  ego  tvoreniem
dejstvitel'no
     pol'zuyutsya real'nye lyudi v real'nom mire.
     Sara Torval'ds
     V.
        Krasota programmirovaniya
     Ne znayu, kak opisat' moyu lyubov' k programmirovaniyu, no ya poprobuyu. Esli
etim  zanimaesh'sya,  kazhetsya, chto  v  mire  net  nichego  interesnee. |ta igra
gorazdo   uvlekatel'nee  shahmat,   igra,  v  kotoroj   mozhno   ustanavlivat'
sobstvennye pravila i gde konechnyj rezul'tat mozhno ponimat' po-svoemu.
     A so storony kazhetsya -- net na svete nichego skuchnee.
     Pervoe,  chto  privlekaet   v  programmirovanii,  ob®yasnit'  prosto:  ty
govorish' komp'yuteru chto-to  sdelat', i  on  eto delaet. Bezoshibochno. Vsegda.
Bez vozrazhenij.
     |to samo po sebe interesno.
     No  takoe slepoe  poslushanie hotya i uvlekaet  snachala,  vryad  li  mozhet
privyazat'  nadolgo. Na samom dele  ono  kak raz  bystro naskuchit. Interesnee
vsego drugoe: chtoby zastavit' komp'yuter delat' to,  chto hochesh', sperva nuzhno
pridumat' kak.
     Dlya menya  programmirovanie vo  mnogom pohozhe na fiziku. Obe nauki imeyut
delo s  ustrojstvom mira  na bazovom  urovne. Raznica, konechno,  v  tom, chto
fizik issleduet,  kak  sdelan  mir, a programmist  ego  sozdaet. V  predelah
komp'yutera ty tvorec. Ty mozhesh' bezrazdel'no upravlyat' vsem, chto proishodit.
Esli hvataet umeniya, to ty -- bog. Mestnogo znacheniya.
     Vozmozhno, ya oskorbil etimi slovami okolo poloviny naseleniya Zemli.
     No eto pravda. Ty sozdaesh' svoj  sobstvennyj mir, i  tebya  ogranichivayut
tol'ko  vozmozhnosti  tvoej mashiny ili  -- v  nashe  vremya  vse chashche  --  tvoi
sobstvennye sposobnosti.
     Voz'mem, k primeru, shalash na dereve. Mozhno postroit'  prochnyj  shalash so
vsemi neobhodimymi veshchami, vklyuchaya lyuk. No vsem izvestno, chto krasivyj shalash
otlichaetsya  ot prosto  prochnogo tem, chto pri ego  sozdanii uchli  osobennosti
samogo  dereva.  To  est' nuzhno sochetanie  iskusstva i  tehniki. |to odna iz
prichin,  pochemu  programmirovanie  obladaet  takoj  prityagatel'noj  siloj  i
yavlyaetsya takim  blagodarnym  zanyatiem. Funkcional'nost' chasto  otstupaet  na
vtoroj plan pered uvlekatel'nost'yu, krasotoj ili neordinarnost'yu. |to  ochen'
tvorcheskoe zanyatie.
     Snachala ya prosto hotel uznat',  kak rabotaet komp'yuter. I menya  strashno
obradovalo, chto tut -- kak i v matematike -- mozhno postroit' sobstvennyj mir
so svoimi  zakonami. V fizike tebya ogranichivayut uzhe sushchestvuyushchie zakony. A v
matematike, kak  i  v  programmirovanii,  goditsya  vse, chto neprotivorechivo.
Vneshnyaya  logika ne  nakladyvaet  na  matematiku nikakih  ogranichenij  -- vse
dolzhno  byt'  logichno  samo  po  sebe.  Kak  znaet  vsyakij  matematik, mozhno
ustanovit' nabor pravil, po kotorym tri plyus tri ravnyaetsya dvum. Po sushchestvu
mozhno  delat' vse, chto  hochesh',  vazhno  tol'ko  po mere  uslozhneniya  sistemy
tshchatel'no   sledit',   chtoby   ne  sozdavat'  nichego,  protivorechashchego   uzhe
postroennomu miru.  CHtoby  tvoj mir  byl prekrasen, on  ne dolzhen  soderzhat'
iz®yanov. Tochno tak zhe i v programmirovanii.
     Odna  iz  ego privlekatel'nyh  storon  zaklyuchaetsya  v  tom,  chto  mozhno
eksperimentirovat' s sozdannymi toboj  mirami i vyyasnyat'  ih  vozmozhnosti. V
matematike  mozhno  zanimat'sya  umstvennoj  gimnastikoj, proveryaya,  chto mozhet
byt'. Naprimer,  bol'shinstvo  lyudej pod  geometriej  podrazumevayut Evklidovu
geometriyu.   Odnako  komp'yutery  pozvolyayut  uvidet'  i   drugie   --  sovsem
neevklidovy  --  geometrii.  S  pomoshch'yu komp'yuterov  mozhno  posmotret',  kak
vyglyadyat eti pridumannye miry. Pomnite mnozhestvo Mandel'brota -- fraktal'nye
izobrazheniya,  v osnove  kotoryh  lezhat  uravneniya  Benua  Mandel'brota?  |to
naglyadnye predstavleniya chisto matematicheskih ponyatij, kotorye stali vozmozhny
tol'ko  blagodarya  komp'yuteram.  Mandel'brot  prosto  pridumal  proizvol'nye
pravila  dlya  nesushchestvuyushchego mira,  kotoryj  ne imeet nikakogo otnosheniya  k
real'nosti,  no okazalos', chto oni porozhdayut zamechatel'nye uzory.  S pomoshch'yu
komp'yuterov  i programmirovaniya mozhno sozdavat' vse  novye miry, i nekotorye
voznikayushchie pri etom uzory po-nastoyashchemu prekrasny.
     No  osnovnoe  vremya  uhodit sovsem  ne  na  eto.  Nuzhno  prosto  pisat'
programmy dlya vypolneniya opredelennyh zadanij. Pri etom  ne sozdaetsya  novyj
mir, a prosto reshaetsya problema v mire komp'yutera. Ty dumaesh' nad zadachej --
i ona reshaetsya. No daleko ne kazhdyj sposoben  sidet', ustavivshis' v ekran, i
obdumyvat' zadachu. Tol'ko choknutye hakery vrode menya.
     Operacionnaya sistema  -- eto osnova vsego, chto proishodit  v mashine. Ee
sozdanie --  samaya slozhnaya zadacha. Sozdavaya operacionnuyu sistemu, ty stroish'
mir, v kotorom budut zhit' vse ostal'nye programmy, rabotayushchie na komp'yutere.
Po suti ty  zadaesh'  pravila: chto dopustimo  i mozhet byt' sdelano, a  chto --
net. Tak mozhno skazat' pro lyubuyu programmu, no k operacionke eto otnositsya v
pervuyu  ochered'.  Ona  podobna  konstitucii sozdannoj  toboj  strany,  a vse
ostal'nye programmy -- lish' obychnye zakony.
     Nekotorye  zakony  okazyvayutsya  bessmyslennymi.  Takie  tebe ne  nuzhny.
Vazhno,  chtoby,  posmotrev  na reshenie,  mozhno  bylo ponyat',  chto  ty poluchil
pravil'nyj otvet pravil'nym sposobom.
     Pomnite  togo  svoego   odnoklassnika,   u  kotorogo  vsegda  poluchalsya
pravil'nyj  otvet? On  reshal zadachu  bystree vseh, i u nego  eto  poluchalos'
imenno  potomu,  chto on  k  etomu ne stremilsya.  On ne vyyasnyal, kak  sleduet
reshat' etu zadachu. On prosto nahodil pravil'nyj podhod. I, uslyshav otvet, vy
srazu ponimali, chto eto tak.
     To  zhe samoe  i s komp'yuterami. Mozhno dobit'sya chego-to s pomoshch'yu gruboj
sily,  po-duracki peremalyvaya  problemu,  poka ot nee nichego ne ostanetsya. A
mozhno najti vernyj podhod, i problema sama vnezapno ischeznet. Vdrug  udaetsya
vzglyanut'  na  nee   pod  novym  uglom,  i  nastupaet   prozrenie:  problema
sushchestvovala tol'ko potomu, chto ty na nee nepravil'no smotrel.
     Vot ochen' naglyadnyj primer ne iz komp'yuternoj oblasti, a iz matematiki.
Legenda glasit, chto, kogda velikij nemeckij matematik Karl Fridrih Gauss eshche
uchilsya v shkole,  ego uchitel', chtoby zanyat' uchenikov, velel  im  slozhit'  vse
celye chisla  ot 1 do 100. Uchitel' rasschityval, chto rebyata provozyatsya  s etim
celyj den'. No budushchij matematik  uzhe cherez pyat' minut poluchil vernyj otvet:
5050. Nastoyashchee reshenie ne v tom, chtoby tupo skladyvat' vse eti chisla -- eto
glupo i skuchno. Gauss prosto zametil, chto 1 i 100 v summe dayut 101, a 2 i 99
snova dayut 101.  Kak i 3 plyus 98. I tak do 50 plyus 51. Za schitannye  sekundy
on ponyal, chto takih par 50, kazhdaya v summe daet 101, poetomu otvet -- 5050.
     Mozhet byt', eta istoriya i nedostoverna, no ideya yasna: velikij matematik
ne stanet reshat' zadachu dolgim i nudnym sposobom, potomu  chto uvidit lezhashchuyu
v osnove shemu i s ee pomoshch'yu reshit zadachu bystro  i  effektno. To zhe samoe,
bezuslovno, primenimo i k komp'yuternoj nauke. Konechno, mozhno prosto napisat'
programmu,  kotoraya  vychislyaet  summu.   Dlya   sovremennyh  komp'yuterov  eto
elementarnaya zadacha.  No velikij programmist uznaet otvet prosto potomu, chto
u  nego  golova na plechah. On pridumaet  krasivuyu programmu,  kotoraya  budet
reshat' zadachu po-drugomu -- pravil'no.
     Ochen' trudno ob®yasnit', chto  interesnogo v tom, chtoby bit'sya golovoj ob
stenu tri dnya podryad, ne znaya,  kak luchshe, krasivee  reshit' zadachu. No kogda
ty nashel reshenie -- eto chuvstvo nel'zya sravnit' ni s chem v mire.
     VI.
     Moj  emulyator  terminala  obrastal navorotami. YA  regulyarno ispol'zoval
ego, chtoby  podklyuchit'sya k universitetskomu komp'yuteru i  poluchit' pochtu ili
pouchastvovat' v konferencii po Minix. Beda byla v tom, chto ya hotel skachivat'
i zakachivat' fajly.  To est' mne nuzhno bylo umet'  pisat' na disk. Dlya etogo
moej programme emulyacii  nuzhen byl  drajver diskovoda. A  eshche  ej byl  nuzhen
drajver  fajlovoj  sistemy,  chtoby ona  mogla vnikat'  v organizaciyu diska i
zapisyvat' skachivaemye fajly.
     Tut ya  chut' bylo  ne sdalsya:  mne  pokazalos',  chto vozni budet slishkom
mnogo i delo togo ne  stoit. No  zanyat'sya vse ravno bylo  osobenno  nechem. V
universitete toj vesnoj ne bylo  nichego slozhnogo. Razvlekalsya ya tol'ko raz v
nedelyu  --  po  sredam  hodil  na  sobraniya  "Spektruma".  YA  byl  nastol'ko
antiobshchestvennym zhivotnym,  chto eto byla dlya  menya edinstvennaya  vozmozhnost'
otvlech'sya  ot ucheby i programmirovaniya. Bez  etih  vecherinok  ya byl  by v tu
vesnu  polnym  otshel'nikom,  a tak  --  byl  pochti  otshel'nikom.  "Spektrum"
otkryval  mne put' k obshcheniyu, poetomu ya vryad li propustil hot' odnu vstrechu.
|ti sobraniya  byli  dlya  menya  nastol'ko  vazhny,  chto inogda  ya  teryal son v
ozhidanii ocherednogo vechera, nadeyas', chto ne budu tam postoyanno dumat' o tom,
kakoj ya nekontaktnyj, kakoj u menya nos i chto u  menya  net  devushki.  |to vse
standartnye dlya hakerov zamorochki.
     Odnim  slovom,  zhizn'  moya  ne  blistala  raznoobraziem.  A  razrabotka
drajverov dlya  diskovoda i  fajlovoj sistemy kazalas'  interesnym delom. I ya
reshil im zanyat'sya. Napisal drajver diskovoda. A poskol'ku ya hotel zapisyvat'
fajly v  fajlovuyu  sistemu Minix,  da k  tomu  zhe  eta  sistema  byla horosho
dokumentirovana, ya  sdelal  svoyu fajlovuyu  sistemu  sovmestimoj  s  sistemoj
Minix.  Takim obrazom ya mog chitat' fajly, sozdannye v Minix, i  pisat' fajly
na tot zhe  disk, tak chto Minix mogla chitat' fajly, sozdannye moej programmoj
emulyacii terminala.
     YA   krutilsya   kak  belka   v   kolese:  programmirovanie   --  son  --
programmirovanie -- eda (solenye suhariki)  --  programmirovanie  --  son --
programmirovanie -- dush (na skoruyu ruku) -- programmirovanie. K koncu raboty
stalo yasno, chto moya programma prevrashchaetsya v operacionnuyu sistemu. I  ya stal
dumat' o  nej ne kak  o programme emulyacii terminala,  a kak ob operacionnoj
sisteme. |tot  sdvig proizoshel, veroyatno,  v durmane  odnogo iz zatyanuvshihsya
seansov  programmirovaniya. Bylo eto dnem  ili noch'yu? Ne znayu. Sizhu ya v svoem
starom halate i  rabotayu s  programmoj emulyacii, snabzhennoj  dopolnitel'nymi
funkciyami.  A  potom  vdrug ponimayu,  chto etih funkcij  stalo tak mnogo, chto
programma prevratilas' v rabochuyu versiyu operacionnoj sistemy.
     YA nazyval ee "programmoj emulyacii terminala  tipa gnu-emacs". Gnu-emacs
nachinalsya  kak  redaktor,  no  ego  sozdateli  vstroili  v nego kuchu  raznyh
funkcij. Oni hoteli, chtob eto  byl redaktor,  kotoryj mozhno programmirovat',
no potom programmistskaya chast'  vyrosla do nevoobrazimyh razmerov i redaktor
stal  nastoyashchim  koshmarom.  V  nego vhodit  vse, krome  razve  chto  kuhonnoj
rakoviny,  imenno  poetomu  kuhonnaya  rakovina  chasto  sluzhit  ego  znachkom.
Programma izvestna  kak chudovishchnyj monstr, kotoryj  vklyuchaet bol'she funkcij,
chem v principe  mozhet ponadobit'sya redaktoru. To zhe samoe proishodilo s moim
emulyatorom terminala. On prevrashchalsya v nechto gorazdo bol'shee.
     From: torvalds@klaava.Helsinki.Fi (Linus Benedict Torvalds)
     To: Newsgroup: comp.os.minix
     Subject: Gcc-1.40 i vopros o posix
     Message-ID: <1991 Ju 13,100050. 9886@klaava.Helsinki.Fi>
     Date: 3 Jul 91 10:00:50 GMT
     Privet, setyane!
     YA sejchas delayu odin proekt (pod minix) , i mne nuzhno
     opredelenie standartov posix. Kto-nibud' znaet, gde
     mozhno vzyat' ih poslednyuyu versiyu, zhelatel'no v
     elektronnom vide? Ftp-sajty godyatsya.
     |to  samoe  rannee  publichnoe svidetel'stvo togo,  chto  nekij  haker iz
Finlyandii hochet proverit' granicy svoih vozmozhnostej. Standarty POSIX -- eto
podrobnejshie  pravila  dlya kazhdogo iz soten  sistemnyh vyzovov v Unix -- chto
nuzhno  dlya togo, chtoby zastavit' komp'yuter vypolnit' etu operaciyu, nachinaya s
Read,  Write, Open  i  Close.  Oni vyrabatyvayutsya  special'noj organizaciej,
sostoyashchej iz  predstavitelej  kompanij, kotorye hotyat dogovorit'sya  ob obshchih
standartah  dlya Unix.  Standarty nuzhny  dlya  togo, chtoby  programmisty mogli
pisat' prilozheniya,  kotorye  budut rabotat' pod  raznymi  versiyami Unix.  Iz
spiska sistemnyh  vyzovov, osobenno naibolee  vazhnyh, ya hotel uznat',  kakie
funkcii  nuzhny  operacionnoj  sisteme. Posle etogo ya  smog by napisat'  svoi
sobstvennye kody dlya vypolneniya vseh etih funkcij. A sootvetstvie standartam
POSIX pozvolilo by drugim, lyudyam pol'zovat'sya moimi programmami.
     V to vremya  ya  ne znal, chto pechatnuyu versiyu etih standartov  mozhno bylo
kupit' neposredstvenno u razrabotchikov POSIX, no eto v lyubom sluchae ne imelo
znacheniya. Dazhe esli  by  pokupka byla  mne  po karmanu,  peresylka  knigi  v
Finlyandiyu  zanyala  by  slishkom mnogo  vremeni.  Poetomu ya i  prosil  ukazat'
versiyu, kotoruyu mozhno besplatno skachat' s FTR-sajta.
     Na moj vopros o standartah POSIX nikto ne otvetil, poetomu  ya pereshel k
zapasnomu  planu.   YA   stal  issledovat'   dokumentaciyu  Unix   versii  Sun
Microsystems --  eta sistema stoyala na  universitetskom servere. Tam nashlas'
bazovaya versiya sistemnyh vyzovov  -- dlya  nachala mne  etogo bylo dostatochno.
Mozhno bylo posmotret', chto dolzhny delat' sistemnye  vyzovy, a potom zanyat'sya
ih realizaciej. V dokumentacii ne govorilos', kak poluchit' rezul'tat, prosto
pokazyvalos', kakim on dolzhen  byt'.  CHast'  sistemnyh  vyzovov mne  udalos'
otkopat'  v  knige  |ndryu Tanenbauma  i  v nekotoryh drugih. V  konce koncov
kto-to prislal mne tolstye toma so standartami POSIX.
     Odnako moe  soobshchenie ne proshlo nezamechennym. Kazhdyj znayushchij chelovek (a
kto eshche stanet  chitat' sajt Minix?)  ponyal, chto ya pishu operacionnuyu sistemu.
Inache  zachem  by  mne  ponadobilis'  pravila POSIX?  Moe  soobshchenie  vyzvalo
lyubopytstvo Ari Lemke, prepodavatelya  iz Tehnicheskogo universiteta Hel'sinki
(gde  by  ya  nepremenno  stal  uchit'sya,  esli  by  menya  ne  tak  privlekali
teoreticheskie zanyatiya). Ari po-druzheski obratilsya ko mne, predlozhiv vydelit'
na universitetskom  FTP-servere katalog,  v kotoryj ya smogu  pomestit'  svoyu
operacionnuyu  sistemu, kogda  ona budet gotova, chtoby kazhdyj pri zhelanii mog
ee ottuda skachat'.
     VII.
     Pohozhe, Ari  Lemke  stradal  izlishnim  optimizmom.  On  sozdal  katalog
(ftp.funet.fi)  zadolgo do togo, kak  u menya poyavilos'  chto tuda polozhit'. U
menya byl  parol', i vse bylo  gotovo dlya togo,  chtoby ya mog  prosto vojti  v
sistemu  i zakachat' svoyu  programmu.  No proshlo dolgih chetyre mesyaca, prezhde
chem  mne  zahotelos' chem-nibud'  podelit'sya s mirom  ili hotya  by  s  Ari  i
neskol'kimi   drugimi   fanatami   operacionnyh   sistem,   s   kotorymi   ya
perepisyvalsya.
     Ishodno ya hotel napisat' takuyu operacionku, kotoruyu mog by ispol'zovat'
vmesto Minix. Mne ne nuzhno bylo, chtoby ona mogla  delat'  bol'she, chem Minix,
no  ona dolzhna  byla vypolnyat'  te funkcii Minix,  kotorymi ya pol'zovalsya, a
takzhe  koe-chto  eshche.  Naprimer,  v  Minix  ne  tol'ko  byla plohaya  emulyaciya
terminala,  no i  ne  bylo vozmozhnosti  perevesti v fonovyj rezhim programmu,
kotoroj vremenno ne pol'zuesh'sya.  I upravlenie pamyat'yu bylo ochen' uproshchennym
-- v Mac OS ono i sejchas takoe, kstati.
     Kak sozdat' operacionku?  Nado vyyasnit',  chto  dolzhny  delat' sistemnye
vyzovy,  i napisat'  programmy,  kotorye budut  eto  delat'.  Voobshche govorya,
sistemnyh vyzovov okolo  dvuh soten. Nekotorye iz  nih mogut sootvetstvovat'
celomu  naboru  funkcij.  Drugie -- sovsem prosty. Naibolee  fundamental'nye
sistemnye vyzovy mogut byt' ves'ma slozhnymi i v znachitel'noj mere zavisyat ot
imeyushchejsya infrastruktury.  Voz'mem sistemnye  vyzovy Write  (zapis')  i Read
(chtenie). Dlya  zapisi  na  disk  i chteniya  s  diska  nuzhno  sozdat'  drajver
diskovoda. Voz'mem vyzov Open (otkryt'). Nuzhno sozdat' ves' uroven' fajlovoj
sistemy, kotoryj budet analizirovat' imena i opredelyat',  gde chto  lezhit  na
diske. Na odin  etot sistemnyj vyzov ushlo neskol'ko mesyacev. No kogda on byl
uzhe gotov, tot zhe samyj programmnyj kod mozhno bylo ispol'zovat' i dlya drugih
funkcij.
     Tak shla razrabotka na rannih etapah. YA chital standarty v rukovodstvah k
Sun OS  i  drugih knizhkah, bral sistemnye vyzovy  odin  za drugim i staralsya
napisat' chto-nibud' rabotayushchee. |to bylo dovol'no iznuritel'no.
     A vse potomu,  chto,  kogda nichego ne  proishodit, trudno  ocenit' ob®em
sdelannogo. Mozhno pisat'  malen'kie testiki, kotorye budut proveryat' to, chto
ty  tol'ko chto  dobavil.  No  pri etom  real'no nichego ne vypolnyaetsya. CHerez
nekotoroe vremya  ya brosil  perebirat' sistemnye vyzovy po spisku i pereshel k
drugomu  metodu.  Poluchilas'  dovol'no  polnaya  sistema,  i  mne  zahotelos'
vypolnit' nastoyashchuyu programmu. Pervym delom nuzhno zapustit' obolochku, potomu
chto bez nee dovol'no trudno zapustit' chto-nibud' eshche. A krome togo, obolochka
sama  po  sebe  soderzhit  mnozhestvo  sistemnyh  vyzovov,  kotorye vse  ravno
ponadobyatsya. Stoit ee zapustit', i mozhno poluchit'  tekushchij  spisok sistemnyh
vyzovov, kotorye eshche ne realizovany.
     V  Unix obolochka  -- eto  svoego  roda mat' vseh programm.  Ona  vsegda
nagotove, chtoby zapustit' lyuboj drugoj binarnik. (Binarnik -- eto programma,
sostavlennaya iz nulej i edinic -- na yazyke, kotoryj ponimaet mashina. Esli vy
napisali programmu na kakom-to yazyke programmirovaniya, nuzhno otkompilirovat'
ishodnyj kod, chtoby poluchit' binarnik.) Prezhde  vsego obolochka pozvolyaet vam
vojti v  sistemu.  Nu  horosho, v real'noj  Unix-sisteme po  tradicii  pervaya
programma, kotoruyu vy zapuskaete,  eto  init, no dlya raboty  init neobhodima
bol'shaya infrastruktura. |to svoego roda kontroller proishodyashchego. No  esli u
vas net nichego rabotayushchego, to vam i init ne nuzhna.
     Poetomu  moe  yadro zapuskalo ne  init, a  obolochku. K  tomu  vremeni  ya
realizoval  okolo dvadcati pyati  sistemnyh vyzovov i, kak ya uzhe  pisal,  eto
byla pervaya nastoyashchaya programma, kotoruyu  ya hotel zapustit'. Obolochku ya  sam
ne  pisal. YA zagruzil  k sebe na disk  klon Bourne Shell, odnoj iz  ishodnyh
obolochek  Unix.  On  besplatno rasprostranyalsya po Internetu,  i ego nazvanie
predstavlyalo soboj plohoj kalambur. Ishodnuyu obolochku napisal chuvak po imeni
Bourne,       poetomu       klon      nazyvalsya      Bourne-Again      Shell
(Bourne-Again  proiznositsya
kak   born  again  --
ukrepivshayasya v vere. -- Prim. per). Obychno ego sokrashchali do
bash.
     Stoit nachat'  zagruzhat' s diska nastoyashchuyu programmu, kak obnaruzhivaetsya
prokol v drajvere diskovoda  ili v zagruzchike, tak  chto tot ne ponimaet, chto
schityvaet.  Poetomu on vydaet  kommentarii po hodu svoih dejstvij. |to ochen'
vazhno, potomu chto tol'ko tak mozhno uznat', v chem beda.
     YA  doshel  do  toj stadii,  kogda  moya  programma  zagruzhala obolochku  i
vydavala na pechat' soobshchenie o kazhdom sistemnom vyzove, kotoryj soderzhalsya v
obolochke, no kotoryj ya eshche ne realizoval. YA zagruzhalsya, zapuskal obolochku, a
ona vyplevyvala chto-nibud' tipa: "Sistemnyj vyzov 512  ne vypolnen". Den'  i
noch' ya vchityvalsya v raspechatki  sistemnyh vyzovov,  pytayas' ponyat',  kakie ya
napisal nepravil'no.  No eto bylo namnogo  uvlekatel'nee, chem idti po spisku
sistemnyh vyzovov i realizovyvat' ih odin za drugim. Teper' prodvizhenie bylo
bolee naglyadnym.
     Nakonec, v  konce avgusta  ili  nachale  sentyabrya, obolochka  zarabotala.
Posle etogo vse stalo namnogo proshche.
     |to byl vazhnyj moment.
     Kak tol'ko obolochka zarabotala, ya  pochti  srazu zhe smog otkompilirovat'
eshche neskol'ko programm. Obolochka byla  slozhnee,  chem,  k  primeru, programma
kopirovaniya sr ili komanda vydachi listinga katalogov Is. Vse nuzh