Já teda o tom právě po přečtení tohohle dílu přesvědčen nejsem. Je to napsané stylem, jako když student mlží u zkoušky. Navíc – jak už tu poznamenali jiní – některé pasáže jsou přímo zavádějící:
„Můžeme jim říkat popisovače tabulek“ – jakých tabulek? Snad tabulky popisovačů, ne? Vlastně celé to souvětí je jakési pomatené.
Zmínka o stránkování a segmentaci je příliš zjednodušená i na pouhý laický popis, natož na článek údajně pojednávající o psaní OS.
„Stránkování se také využívá pro účel virtuální paměti“ – cože? Stránkování je mechanismus, kterým se virtuální paměť realizuje! To je jako říct, že motor v autě slouží k vytápění a také se využívá pro účel pohonu vozidla.
„Proměnná gran je velikosti 1 bajt a představuje masku k nastavení granularity. Slouží tedy k nastavení několika klíčových parametrů segmentu, podobně jako proměnná attrib“ – a které nejsou ty klíčové? Nehledě k tomu, že čtenář z článku nezjistí, co to ta granularita vlastně je.
„Vidíme před sebou jeden záznam, který tvoří onu GDT – my jich budeme potřebovat 5“ – a proč? To by snad stálo za nějaký komentář, ne? Kromě toho, že jeden je nulový a další jsou datové a kódové pro R 0 a 3.
„Teď nastala otázka, jak oznámit procesoru, aby naši GDT použil – naštěstí existuje instrukce lgdt“ – to ale máme štěstí! No představte si, kdybychom takové štěstí neměli a instrukce lgdt by nějakou shodou náhod neexistovala – to bychom měli po žížalkách.
„Občas se nám může hodit tzv. přerušení, ať už vnější nebo vnitřní – to si lze představit jako nečekaný impuls procesoru, který říká, že se něco stalo. Máte např. uživatelský program, ve kterém nemůžete přistupovat na adresy jako 0×b0000, apod. ale máte za cíl vypsat text na obrazovce. Jak to tedy udělat ? Použijeme přerušení :) – jeho instrukce se jmenuje int a jako parametr se používá hodnota, která označuje jeho druh.“ – to jako autor myslí vážně? S prominutím – byl střízliv a plně při smyslech, když tuto nesmyslnost psal?
„usmyslíme si, že přerušení s ID 0×80 bude vypisovat znak, který předáme pomocí registru, může ho náš program směle zavolat“ – autor čtenářům dokonale zamlžuje (nebo si to sám plete?) rozdíl mezi hardwarovým a softwarovým přerušením. Začne psát o hardwarové žádosti o přerušení (IRQ) a pak, bez jakéhokoliv varování, pokračuje (hodně zjednodušeným) popisem mechanismu softwarových přerušení (nebo-li programových výjimek). Přitom se jedná o dost odlišné věci – jedno je asynchronní, druhé je synchronní, na neinteláckých procesorech se to často vůbec neimplementuje (není to nezbytné), nebo se tomu (jak je vidět, tak docela prozíravě) raději říká úplně jinak – viz třeba instrukce TRAP na 68K.
„Každý záznam v tabulce zaregistruje funkci, která se vykoná, když se zavolá konkrétní přerušení.“ – „zavolá“? To asi nebude nejvhodnější slovo. Snad „…když dojde k přerušení“, ne?
„důležitý general protection fault (GPF), který nám říká, že došlo v paměti k chybě.“ – opravdu? Jako že třeba při čtení nesouhlasí parita dat kvůli nějakému rušení na sběrnici?
„Dnes jsme si tedy vytvořili užitečnou ochranu našeho jádra proti poškození paměti či dalším nežádaným vlivům.“ – tak to asi ještě ne. Zatím jen víme, jak eventuálně na to. ;-)

