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