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