Objavljeno: 26.3.2005 12:17 | Avtor: Uroš Mesojedec | Monitor Oktober 2004

Uroš Mesojedec: Srž je v jedru

Uroš Mesojedec: Srž je v jedru

Dnevi po težko pričakovani nadgradnji najbolj priljubljenega operacijskega sistema niso prinesli kakšne hude novosti. Nekaj programja je z namestitvijo XP SP2 prenehalo delovati, Okna so postala nekoliko bolj škripajoča, varnost pa se, vsaj sodeč po zadnjih odkritih ranljivostih, verjetno ni povečala dovolj, da bi bili uporabniki zadovoljni s ceno nezdružljivosti, ki so jo morali plačati. Ali pa jo bodo šele morali. Microsoft je namreč najavil, da bo nepokrpana Okna dopuščal le še nekaj mesecev, potem pa bodo vsi uporabniki Oken XP prisiljeni namestiti SP2 ali pa za zmeraj ostati brez popravkov.

Razlog za prisiljeno namestitev SP2 je v naravi paketov popravkov, kot smo jih vajeni nekaj zadnjih let. Včasih se je nova, pokrpana različica programa preprosto označila "inženirsko", z desetinko ali dvema več v oznaki različice (pika v njej namreč ne pomeni nič drugega kot ameriško decimalno ločilo; no vsaj nekoč je bilo tako, danes je krpanja že toliko, da imamo pik v zapisu različice že cel kup). Potem je po Microsoftovem zgledu postalo modno popravljeno različico označiti kot "service pack". Sama Okna XP, ki so tako ali tako v resnici Okna NT 5.1, so z SP2 tako postala Okna NT 5.1.2. Torej imamo opravka z novo različico programa, še eno izdajo že tako obsežne družine. Vzdrževati popravke za tako veliko število različic Oken pa je prezahtevno celo za Microsoft. Aprila prihodnje leto bo tako uradno podprta le ena različica Oken XP, XPSP2.

Ne glede na naše (ne)navdušenje nad stalnim nameščanjem popravkov, bi bilo zanimivo ugotoviti, kje se pravzaprav skrivajo vzroki takšne ranljivosti operacijskih sistemov in kaj je pravzaprav mogoče storiti, da bo boljše. Oziroma, ali je z nameščanjem popravkov sploh mogoče zagotoviti varno in zanesljivo delovanje, če so vzroki težav mnogo globlji?

Kadar se pogovarjamo o učinkovitosti in zanesljivosti operacijskih sistemov, ne moremo mimo desetletja starega spora med zagovorniki monolitnih in mikro jeder. Najbolj razvpit tovrsten konflikt je znana debata profesorja Andreasa Tanenbauma in "učenca" Linusa Torvaldsa, ki sta v začetku devetdesetih let soočila svoje poglede na bodoči razvoj operacijskih sistemov. Tedaj se je zdelo gotovo, da je monolitnim jedrom odklenkalo in je prihodnost na strani mikro jeder. Danes lahko ugotovimo, da so prevladala hibridna jedra, ki jih najdemo tako v Oknih NT, Mac OS X in navsezadnje tudi v Linuxu, čeprav je ta še najbolj monoliten od vseh.

V srži se monolitna jedra razlikujejo od mikro jeder po tem, da vse svoje module in gonilnike izvajajo v enotnem pomnilniškem prostoru. Na drugi strani so mikro jedra sestavljena iz medsebojno povezanih, a neodvisnih strežnikov, ki skrbijo za temeljne storitve računalnika. Glavna prednost monolitnih jeder je hitrost, saj ni zamudnega izmenjevanja sporočil med neodvisnimi enotami, ampak se za komunikacijo med enotami jedra uporabljajo preprosti podprogramski klici. Iz tega posredno sledi tudi dejstvo, da je monolitna jedra laže načrtovati in po potrebah nadgrajevati. Ravno to je bil razlog, da se je Torvalds odločil za monolitno jedro Linuxa. Resnici na ljubo na začetku celo sam ni verjel v večji uspeh monolitnega jedra, saj je namigoval, da bo "igračkasti" Linux tako ali tako kasneje zamenjal "resni" HURD. Bistvena slabost monolitnih jeder je namreč potencialna nezanesljivost. Napaka v gonilniku tiskalnika, na primer, ki se izvaja v istem pomnilniškem prostoru kakor najbolj občutljiva koda operacijskega sistema, lahko sesuje celoten računalnik ali kako drugače ogrozi njegovo varnost.

Kar nas pripelje do Oken NT. Microsoft je za njihov razvoj najel skupino razvijalcev podjetja Digital, ki so imeli bogate izkušnje v razvoju zanesljivih operacijskih sistemov. Seveda so se odločili za mikro jedro in NT 3.5 je bil svojevrsten triumf modularne zasnove. Strojna oprema je bila modelirana z vmesnim slojem, nad njim je kraljevalo mikro jedro, ki je lahko gostilo številne podsisteme - win32 je bil le eden izmed njih -, ki so izvajali uporabniške programe. Prva Okna NT so prenesli na najrazličnejše strojne podlage, BillG pa je celo najavil, da bodo postali najbolj priljubljena različica Unixa.

Svet pa se vrti po svoje. Okna NT 4 so prinesla izvirni greh: obsežni del izoliranega podsistema win32, v glavnem njegov grafični del, se je preselil v samo jedro. Takšno ni bilo nič več mikro, hkrati pa je bilo veliko bolj izpostavljeno različnim zlorabam. Vse za ceno učinkovitosti. BillG je večkrat izjavil, da strank ne zanimajo hrošči, temveč zmožnosti. Danes verjetno misli drugače.

A v tej zgodbi manjka pomemben del. Zakaj že od vsega začetka monolitni Linux slovi po svoji varnosti, ko pa je "monolitizacija" Oken prinesla toliko težav? Del odgovora se skriva v gonilnikih. V monolitnih in večini hibridnih jeder se gonilniki izvajajo v skupnem prostoru z jedrom. Težava v gonilniku lahko pomeni katastrofo za sistem. Številna sesutja Oken so bila zmotno pripisana Microsoftu, velikokrat so bili krivi slabo napisani gonilniki (seveda posredna krivda leti tudi na tvorca operacijskega sistema, ki takšne grožnje dopušča). In zdravilo? Žal tipično Microsoftovo ranocelstvo namesto odprave vzrokov. Okna zdaj protestirajo, če gonilniki niso preverjeni (digitalno podpisani) in ustvarjajo obnovitvene točke, da je mogoče sistem povrniti v delujoče stanje. Linux na drugi strani zahteva za svoje jedro gonilnike v obliki izvirne kode. Le tako je mogoče ugotoviti njihovo skladnost in z ustreznim prevajanjem zagotoviti delovanje gonilnika v različnih jedrih, saj se ta znotraj še precej spreminjajo, da o različnih strojnih podlagah niti ne govorimo. Seveda so nekateri ponudniki strojne opreme vse prej kot navdušeni. Gonilniki nemalokrat skrivajo poslovne skrivnosti. Število gonilnikov, ki so na voljo le v prevedeni obliki, tako vztrajno narašča in vprašanje je, kako bo mogoče ohranjati zanesljivost delovanja pri sedanji, monolitni naravi jedra.

Drugi del odgovora pa je precej pomembnejši. Microsoft, zaradi želje po ohranjanju monopola, na jedro veže vedno večje število programskih storitev ("spletni brskalnik/branje e-pošte/predvajalnik videa/ je neločljivi del operacijskega sistema"), kar sicer samo po sebi s stališča zanesljivosti ne bi bilo velik problem. Večja težava je v tem, da morajo ti programi, ker pač izkoriščajo privilegirane storitve operacijskega sistema, najpogosteje teči pod računom, ki ima visoke, običajno administrativne pravice na sistemu. Zalega virusov, črvov in trojancev je tu našla izjemno gojišče. Linux, BSD, Mac OS X..., bolj ali manj monolitni, pa so ostali le jedra. Nad njimi je cel kup slojev, ki ne morejo ogroziti njihove zanesljivosti. Tudi uporabniški programi ne potrebujejo administrativnih pravic, da bi lahko služili svojemu namenu. Napaka v OpenOffice.org, na primer, tako še zdaleč ne more povzročiti takšnega razdejanja, kot ga lahko preprosta, zlonamerna skripta v Wordu.

Vprašanje je, kako bo mogoče ohranjati zanesljivost delovanja pri sedanji, monolitni naravi jedra.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

Najbolj brano

  • Redka zmaga malega rudarja kriptovalut

    V času, ko rudarjenje bitcoina obvladujejo velika podjetja s specializirano opremo in ogromnimi viri, je neodvisnemu solo rudarju uspel izjemen podvig. 

    Objavljeno: 27.7.2025 13:00
  • Šibko geslo in hekerski vdor pogubila 158 let staro podjetje

    Britansko podjetje KNP iz Northamptonshira, ki se je ukvarjalo s prevozi, je po 158 letih obratovanja zaprlo vrata, zaradi česar je brez dela ostalo 700 ljudi. Razlog ni slabo poslovanje, težke tržne razmere, izgube ali celo poneverbe, temveč precej bolj banalen. Podjetje je opustošil hekerski napad, v katerem so napadalci odnesli podatke o vseh strankah.

    Objavljeno: 23.7.2025 05:00
  • ChatGPT je bogatejši za pravega raziskovalnega agenta

    ChatGPT agent je nova generacija digitalnega pomočnika, ki združuje sposobnosti vizualnega in tekstovnega brskanja ter neposredne interakcije z zunanjimi platformami, kot so Google Drive, GitHub in SharePoint.

    Objavljeno: 18.7.2025 08:00
  • Tehnologija je orodje za množično nadzorovanje

    Ko je minuli teden kamera na koncertu skupine Coldplay v Bostonu prikazala par, ki objet posluša Chrisa Martina, bi bil lahko to le še eden izmed množice povsem običajnih in dolgočasni prizor. A ker se je ženska na posnetku obrnila proč in obraz zakopal v roke, moški pa se je sklonil pod kader, je posnetek vzbudil veliko pozornosti. Pevec Chris Martin ga je na odru komentiral z besedami, da sta bodisi zelo sramežljiva bodisi razmerje skrivata – in ostalo je bilo zgodovina.

    Objavljeno: 21.7.2025 05:00
  • ChatGPT je slab v šahu

    Najboljši šahist sveta Magnus Carlsen je v spletnem dvoboju premagal umetno inteligenco ChatGPT v vsega 53-ih potezah, pri čemer sam ni izgubil niti ene same figure. 

    Objavljeno: 21.7.2025 09:00
  • ChatGPT-5 bo na voljo avgusta

    Sam Altman, izvršni direktor OpenAI, je potrdil, da bo model GPT-5 izšel že v začetku avgusta. 

    Objavljeno: 25.7.2025 09:00
 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji