Třicet let MINIXu

V březnovém čísle časopisu Communications of the ACM vyšel článek A. S. Tanenbauma „Lessons Learned from 30 Years of MINIX“. Pro ty, kdo nepamatují pohnuté události přelomu 80. a 90. let minulého století, připomenu, že MINIX byl v jistém smyslu přechůdcem Linuxu, a jeho autorem je právě (dnes již emeritní) profesor Andrew Tanenbaum.

Článek je bezpochyby velmi poučný a stojí za přečtení, i když se nemohu zbavit dojmu, že některé pasáže jsou podány poněkud jednostranně, a že, při vší úctě, Tanenbaum kapku přeceňuje historický význam svého opusu. Přehnané je třeba tvrzení, že bez MINIXu by nebyl Linux, a bez Linuxu by nebyl Android. Jistě, jsou to všechno jenom kdyby, jsem ale přesvědčen, že doba byla v obou případech pro něco podobného zralá, a proto by operační systém srovnatelný s Linuxem i Androidem tak jako tak vznikl, byť třeba se zpožděním.

S odstupem čtvrtstoletí je také čím dál zřejmější, jakou měl Linus Torvalds kromě všech svých schopností ohromnou kliku, že byl v pravý čas na správném místě. Tanenbaum správně připomíná, že kromě řady jiných příznivých okolností dal Linuxu potřebný čas na rozjezd také soudní spor firmy AT&T – tehdy vlastníka autorských práv k Unixu – s univerzitou v Berkeley, který na několik let zablokoval rozvoj konkurenčního BSD Unixu, šířeného právě touto univerzitou, a v posledku málem zahubil Unix jako takový.

MINIX byl opravdu jen nepřímým předchůdcem Linuxu: studentík Torvalds si něm vybrousil svá dláta, pak ale začal tesat Linux podle svého. Ostatně už tehdy mu Tanenbaum ve známé debatě vmetl do úsměvu, že s takovým výtvorem by u něj při zkoušce z operačních systémů neobstál. Inu, jsou to paradoxy! Jádrem sporu je softwarově-filosofická otázka, zda je lepší monolitické jádro operačního systému (což je případ Linuxu), anebo mikrokernel, v němž běží jen nezbytné minimum funkcí v kernel módu. Ačkoli Tanenbaum tvrdí, že budoucnost patří mikrokernelům, já o tom nejsem úplně přesvědčen. Spíš to bude tak, že každá z obou architektur se hodí pro jiné účely: systémy s vysokými požadavky na bezpečnost a robustnost mohou dát přednost mikrokernelu i za cenu snížení rychlosti, které s sebou mikrokernel přináší.

Za zmínku stojí, že MINIX verze 3 je k dispozici pod BSD licencí. Jde o extrémně čistý mikrokernel, nad nímž všechny ovladače a dokonce i větší část scheduleru běží jako uživatelské procesy. Počítám, že až budu mít chvilku, také si ho sám vyzkouším. Budu na to ovšem potřebovat trochu nadupanější železo než to, na němž běžel MINIX 1: IBM PC XT s 256 kilobajty RAM a floppy disketou.

Myslím si, že bez ohledu na to, zda dáváme přednost mikrokernelu anebo monolitickému kernelu, můžeme popřát MINIXu ještě mnoho úspěšných let a řádově víc uživatelů, než kolik jich oslovily předchozí verze.

Autor:

Komentáře (1)

  1. Tom říká:

    Diky za pekny clanek!

Zanechte komentář