Operačný systém, ktorý by pracoval s objektami - to nie je nová myšlienka. Systém pracujúci nad segmentovanou pamäťou taktiež nie. Čo teda považujem za zvláštne na myšlienke operačného systému pracujúceho s objektami, ktorý je implementovaný nad segmetami? Na túto odpoveď nejestvuje jednoduchá - a už vôbec nie presvedčivá odpoveď. Je to asi chyba, mal by som jasne pomenovať veci, ktoré ma vedú týmto smerom.
Pokúsim sa aspoň trochu priblížiť to, čo ma láka na tejto práci. Hneď úvodom prezradím, že hoci nie som nepriateľ segmentovania, považujem plochý model pamäte za vhodný pre dnešný typ aplikácií. Aby som bol presnejší - pre spôsob, akým sa dnes aplikácie zvyknú implementovať. Moja predstava segmentov sa ale jasne spája s predstavou o objekte podporovanom operačným systémom. Aby som túto vetu osvetlil - predstavme si "beh metódy". Chápem, že je to zvláštna predstava, ale poďme na to. Typicky potrebujeme kód - metódu - a dáta - čo je samotný objekt. Prečo ich nemať zvlášť v segmentoch? Položíte otázku: A prečo áno?
Objekt je údajová štruktúra (segment dát), ktorý má nejaké chovanie. Chovanie realizujú metódy (metóda je jeden kódový segment). Segmentovanie je okrem iného aj mechanizmom ochrany. Pri naznačenom "rozsegmentovaní" objektu nám vyplynú tieto výhody:
Dúfam, že niektoré z bodov sú aspoň na zamyslienie. Položím samozrejme ešte druhú rečnícku otázku - na čo vôbec ťahať objekty do operačného systému? Alebo inak: Akú má výhodu práca s objektami? Na akej úrovni už majú byť objekty? Má byť objektové rozhranie s užívateľom, alebo operačný systém celý? Alebo má byť objektové už (mikro)jadro, prípadne HW?!
Na tieto otázky sú opäť neľahké - a navyše nejednoznačné - odpovede. Vždy je to vec istého rozhodnutia. Sám cítim, že mnohé z rozhodnutí boli skôr vecou citu (hoci premysleného :-)), ako čisto logickej úvahy. Na otázky položené naposledy odpovedám v jednom dokumente - vo svojom záverečnom projekte. Samotný projekt sa nedostal veľmi k OS, ale zaoberá sa pomerne slušne vrstvami pod politikami: mikrojadrom, navrhovaným HW, apod.
Práca na operačných systémoch si priam hovorí o otázky. Je isté, že niečo, čo radšej než OS nazývam "výpočtovým prostredím", na počítači byť musí. Užívateľ musí mať priestor na prácu - každá práca vyžaduje réžiu, manažment... a na počítačoch je to funkciou OS. Filozofickými otázkami o OS sa moja správa dosť zaoberá, lebo napr. nasledujúci komentár pána majstra Daniela H. H. Ingallsa si o akademickú debatu vyslovene koleduje:
Operating system: An operating system is a collection of things that don't fit into a language. There shouldn't be one.
A je to tu! Musí byť výpočtové prostredie postavené na jazyku? Aký je skutočný rozdiel medzi Smalltalkovým virtuálnym strojom a bežným počítačom s OS? Myslím tým principiálny rozdiel, samozrejme... no a už sme v akademickej debate. :-) Ale aj o to snáď na škole ide, nie?
Odkazy - bibliografia, materiály, články, inšpirácia...
Posledné zmeny: 4. 8. 2001
OS pre objekty
Moje štúdium
Odviate vetrom
Moje osobné stránky
Hlavná stránka