Ime vam možda zvuči poznato, a možda i ne, ali Andrew S. Tanenbaum On je jedan od onih akademika koji su uticali na nekoliko generacija informatičara. U nedavnom razgovoru koji su prenijeli mediji poput Clarína, a koji je ponovljen u specijaliziranim biltenima, dao je snažnu izjavu o Windowsu: Microsoftov sistem muči previše grešaka jer je njegova složenost učinila nešto što čak ni njegovi inženjeri ne razumiju u potpunosti.
Osim upečatljivog naslova, postoji nešto iza njega kritika arhitekture i filozofije razvoj. Tanenbaum, tvorac MINIX-a i autor ključnog djela kao što je „Operativni sistemi: Dizajn i implementacija“, decenijama brani modularnost u odnosu na monolitne dizajne. Njegovi argumenti nisu samo tehničke preferencije: oni se povezuju sa svakodnevne greške s kojima se korisnici suočavaju i sa sigurnosna pitanja koji dopiru do kritične infrastrukture.
Ko je Andrew S. Tanenbaum i zašto je njegov glas važan?
Ako postoji nastavnik koji je objasnio kako operativni sistem funkcioniše od vrha do dna, to je on. TanenbaumNjegova akademska karijera i rad popularizatora bili su fundamentalni za razumijevanje osnova modernog operativnog sistema, kao i njegov MINIX Rođen je upravo s tim obrazovnim ciljem: da svako može proučavati stvarni sistem i testirati ga bez straha.
Nije slučajno to Linus Torvalds MINIX ga je inspirisao da pokrene Linux: proučavao je njegov dizajn, oslanjao se na filozofiju GNU alata i, s tim poticajem, stvorio jezgro koje danas upravlja serverima, superračunarima, mobilnim telefonima i dobrim dijelom clouda. MINIX sjeme bio je ključan u nastanku modernog pokreta otvorenog koda.
U pripremi za tehnološke događaje kao što su Nerdearla 2025. u Buenos Airesu, a u intervjuu reprodukovanom u Clarínu i komentiranom od strane glasova poput biltena Dark News Juana Brodersena, Tanenbaum se vratio na velika pitanja: sigurnost, stabilnost i vječna borba između monolitnih jezgara i mikrojezgara.
Njegov pristup nije samo akademski. Prema njegovoj vlastitoj metafori, mnogi trenutni sistemi su na kraju postali "Ogroman tanjir špageta" gdje se sve dodiruje. I kada je sve tako povezano, nuspojave promjene postati nepredvidivi.

Prozori pod mikroskopom: ogromna složenost i malo kontrole
Tanenbaum je bio jasan: „Windows je pun grešaka jer ga čak ni Microsoft ne razumije u potpunosti.“Ono što bi moglo izgledati kao izliv bijesa zasnovano je na poražavajućoj činjenici: sistem prevazilazi 100 milion linija koda, napisan u nekoliko programskih jezika (C, C++ ili C#, između ostalih), a nijedan inženjer ne savladava više od malog dijela ukupnog broja.
Kada niko ne zna više o 10% sistema, svaka lokalna modifikacija može imati neočekivane posljedice na globalnom nivou. Stoga, zakrpe su konstantne i često, uvesti nove greške ili rupe dok oni popravljaju stare. To je teško prekinuti petlju: veličina i povezanost otežavaju samo održavanje. izvor nestabilnosti.
Da bi to ilustrovao, Tanenbaum koristi metaforu tanjir špagetaAko povučete rezance, cijeli tanjir se pomiče. U kodu gdje je sve isprepleteno, predvidjeti efekte aranžmana je gotovo nemoguća misija, i sedmična ažuriranja Oni postaju istovremeno i potreba i rizik.
Ovo je cijena sistema koji je decenijama rastao kako bi pokrio potrebe hiljade slučajeva upotrebe, podrška za heterogeni hardver, unatrag kompatibilna i sve vrste integracija. Zbir komponenti, slojeva i zavisnosti na kraju je podigao račun zbog složenosti do sadašnje tačke.
Mikrojezgra i modularnost: Tanenbaumov recept
Alternativa koju predlaže i koju utjelovljuje MINIX, je modularna arhitektura s jasnim granicama između komponenti. U njoj svaki dio - na primjer, drajver - radi u svom vlastitom prostoru, sa ograničene dozvole i odgovornostiRezultat je da lokalni kvar ne dovodi do pada cijelog sistema.
Klasičan primjer koji Tanenbaum nudi je onaj od audio drajverU modularnom dizajnu, najgori mogući scenario nakon greške je da zvuk prestane raditi ili zvuči loše. Ne smije dodirnuti pak ili mrežu, niti ugroziti globalnu sigurnost. To je gotovo hirurško ograničavanje štete.
Suočeni s ovim, sistemi tradicionalni monolitni (kao što su Windows ili Linux) koncentrirati veći dio logike u jednom prostoru, s čvrsto povezanim komponentama. Ova operativna blizina olakšava performanse i jednostavnost određenih interakcija, ali pojačava efekte greške.
Problem s modularnošću? Obično postoji trošak performansiViše koraka, više prebacivanja, više poruka između procesa ili servera u sistemu. Za Tanenbauma, kompromis se isplati: bolje malo sporiji sistem, ali mnogo stabilniji i sigurniji nego onaj koji leti, ali pada ili je izložen.
Licem u lice s Linusom Torvaldsom: Performanse nasuprot sigurnosti
Ova napetost između monolitnog i mikrokernel dizajna nije nova. U 90-ima, Tanenbaum i Torvalds Vodili su poznatu debatu: Linus je branio monolitni kernel (jednostavniji za izgradnju i s dobrim performansama), dok je Andrew Kladio sam se na mikrojezgra (sigurniji i otporniji na greške).
Prekovremeno, Linux je "pobijedio" u usvajanju i postao de facto standard na serverima, u oblacima i uređajima. Međutim, Tanenbaum postavlja jedno nezgodno pitanje: s obzirom na današnju nesigurnost, Je li ta pobjeda toliko očigledna? Možda bi bilo bolje žrtvovati nekoliko bodova za performanse dobiti robusnost na planetarnom nivou.
U svakom slučaju, njegovo razmišljanje ne poriče tehničke prednosti Linuxa niti ogromno inženjerstvo Windowsa; ono se fokusira na činjenicu da model sigurnosti po dizajnu sve više teži u hiperpovezanom svijetu, gdje kvar u podsistemu može postati globalni incident.
Greške koje korisnici doživljavaju: od upravljačkog programa do crnog ekrana
Ono što u teoriji zvuči kao arhitektura, u praksi se prevodi u svakodnevne smetnjeIzvještaji alata poput Wondershare Recoverit navode niz uobičajenih grešaka u Windows 10 i 11 to će vam zvučati poznato ako često koristite sistem.
- Ažuriranja koja se ne dovršavajuAžuriranje procesa koji se zaglave i prisilno ponovno pokretanje ili vraćanje sistema u prvobitno stanje.
- Problemi s vozačimaKonflikti nakon instaliranja ili ažuriranja upravljačkih programa hardvera.
- Crni ekraniSistem se pokreće, ali radna površina se ne pojavljuje ili ostaje nedostupna.
- Zvučne greške: Zvukovi sa prekidima, uređaji koji nestaju ili prestaju reagovati.
- Promjene u zadanim aplikacijamaPostavke koje se mijenjaju bez dozvole nakon zakrpa ili novih verzija.
Prema Tanenbaumu, korijen mnogih od ovih problema je unutrašnja međuzavisnost: dodirnete jednu komponentu i slučajno promijenite drugu. Na kraju, svaki patch postaje na maloj avanturi, i lanac ažuriranja kao da nikad ne prestaje.
Oni koji upravljaju voznim parkom opreme to dobro znaju: zakazati periode održavanja, testirati drajvere i provjeriti kompatibilnost i rezervne kopije s kritičnim aplikacijama potrebno je vrijeme i metoda. Kada ponašanje nije predvidljivo, operativni troškovi se povećavaju, a time i rizik nedostupnosti.
Sigurnost: kada kvar više nije domaće prirode
Dolazi do tačke kada razgovor napušta domaću sferu i prelazi na nacionalno. Tanenbaum naglašava da glumci koje sponzorira država Uspjeli su infiltrirati kritičnu infrastrukturu više od 80 zemlje, iskorištavanje ranjivosti u ključnom softveru, s posebnim osvrtom na Windows.
Njegovim riječima, određene komponente „Gube podatke kao kroz sito„To je gruba slika, ali efikasna za razumijevanje obima: ako je sistem toliko složen da nije moguće predvidjeti interakcije, površine za napad se umnožavaju a protivnici imaju više prilika.
Začarani krug zakrpe koje popravljaju i otvaraju druga vrata stvara složenu dinamiku. Čak i ako Microsoft brzo rješava probleme, pozadinska arhitektura i dalje nameće njegove granice predvidljivosti.
To ne znači da nema napretka u sigurnosti - industriji se uveliko poboljšao— ali Tanenbaum nas podsjeća da „kako“ je dizajniran može biti jednako odlučujuće kao i, ili čak i više, od „koliko“ resursa je uloženo u lijek.
Vidljiva poboljšanja koja ne dotiču suštinu problema
Microsoft je predstavio mnoštvo novih funkcija za korisnike: Cortana (sada ukinut), virtuelne radne površine, Hyper-V za virtualizaciju i sve vrste poboljšanja interfejsa i produktivnosti. To su korisni napredci koji dodana vrijednost za mnoge profesionalne i domaće profile.
Ali, Tanenbaum upozorava, osnovni izazov je strukturalniAko srce sistema ostane gigantski monolitni blok, sposobnost da se to razumije od početka do kraja je ograničeno. A bez tog sveobuhvatnog razumijevanja, predviđanje nuspojava postaje stvar vjerovatnoće više od sigurnosti.
Drugim riječima, možete poboljšati iskustvo, dodati funkcije i poboljšati tokove, ali ako ne promijenite model spajanja, troškovi složenosti su i dalje prisutni. Zato se on zalaže za viziju u kojoj modularnost To postaje prvorazredna potreba, a ne luksuz.
Ovaj pristup odgovara onome što mnogi sigurnosni timovi danas zahtijevaju: izolacija greške, najmanje privilegija, segmentacija i dobro definirane granice između usluga. Sve što smanjuje radijus eksplozije usklađeno je sa moderne dobre prakse.
Transparentnost, zajednica i uloga otvorenog koda
Još jedna ključna tačka je transparentnostTanenbaum tvrdi da je veliki dio komercijalnog softvera - Windows, macOS i, posljedično, popularne aplikacije - neprozirno čak i za svoje tvorcePostavlja sarkastično pitanje: "Da li iko zna šta oni rade?" Facebook, Instagram, TikTok ili Photoshop "Stvarno unutra?"
S druge strane, otvoreni kod je više kao naučno istraživanjeIdeje se dijele, reproduciraju i poboljšavaju u javnosti. Linux, BSD i drugi projekti održavaju vitalnost koja potiče inovacije i često omogućava "amaterima" da doprinesu rješenjima koje konkuriraju onima velikih korporacija.
Za Tanenbauma, otvoreni kod nije samo pitanje filozofije, već i kvaliteta i sigurnostKada više očiju posmatra i testira, greške se otkrivaju brže, a dizajni se brže usavršavaju. Očigledno, to nije čarobni štapić, ali smanjuje informacionu asimetriju koji postoji u zatvorenim proizvodima.
U ovom scenariju, njegova posvećenost modularnim arhitekturama se dobro integriše sa distribuirana saradnjaSvaki modul može imati jasne održavatelje, definirane granice i specifične procese pregleda, promovirajući odgovornost i kontrola.
Šta industrija može (i treba) naučiti
Bez pretenzija da nudim magične recepte, iz Tanenbaumove analize proizlazi nekoliko ideja. razumne linije djelovanja koje bi svaka organizacija mogla razmotriti ako želi izbjeći sindrom „gigantskih špageta“.
- Modularnost sa strogim ograničenjima: definirati granice odgovornosti, minimalne dozvole i dobro definirane komunikacijske kanale.
- Uočljivost po dizajnuPratiti, mjeriti i korelirati događaje kako bi se razumio utjecaj promjena.
- Upravljanje tehničkim dugomEliminišite nepotrebne spojnice i refaktorišite kritične dijelove prije nego što se uruše pod vlastitom težinom.
- Preventivna sigurnostIzolujte drajvere i servise, ojačajte izložene površine i postepeno validirajte promjene.
- Transparentnost i pregledUsvojite prakse otvorenog pregleda ili, gdje je to moguće, prihvatite komponente otvorenog koda s aktivnom zajednicom.
Usvajanje ovih principa ne zahtijeva repliciranje MINIX-a ili odbacivanje onoga što je izgrađeno; to znači postavljanje kursa tako da se, sa svakim korakom, sistem manje krhki i razumljivijiTo je već opipljiv dobitak na srednji rok.
Gledajući sliku koju je naslikao Andrew S. Tanenbaum, teško je ne vidjeti obrazac: ogroman kod, čvrsto povezivanje i djelimično razumijevanje Oni su savršen recept za ponavljajuće greške. Modularnost, izolacija grešaka i kultura transparentnosti ukazuju na mirniji put: možda nije najbrži, ali je onaj koji vas vodi najdalje, a da se ne zaglavite na pola puta.