Vývoj operačného systému/Keď zlyhá táto príručka

Neexistuje dokonalý návod. Existuje skoro dokonalá referenčná príručka opisujúca všetky funkcie daného produktu podrobne, no ani tá nemusí byť úplne bezchybná. Existuje mnoho manuálov, a pravdu povediac, práca programátora vytvárajúceho drivery pre operačný systém veľmi často spočíva práve v študovaní rôznych manuálov. Môže sa to zdať ako otravná práca (čo často aj bezpochyby je), no dobre urobený manuál sa číta veľmi príjemne a človeku sa často stane, že už pri čítaní manuálu rozmýšľa, ako sa dajú využiť jednotlivé funkcie v ňom popísané.

Poznámka: Známa je aj chyba návrhu starších procesorov od spoločnosti Intel, v ktorých bolo možné manipulovať s registrom CS (pomocou inštrukcií POP a PUSH) bez toho, aby to bolo firmou Intel akokoľvek zdokumentované.

Táto príručka taktiež nie je schopná pokryť všetko, rozhodne ani nie skoro všetko, kedže v oblasti tvorby operačných systémov sa stále postupuje a inovuje, a to na všetkých úrovniach. Preto je nižšie uvedených niekoľko (možno) užitočných rád.

Poznámka: V niektorých prípadoch je lepšie prečítať si staršiu verziu manuálu (napríklad pre staršiu verziu hardvéru), kedže tieto verzie sú často prehľadnejšie a jednotlivé texty manuálu už nepopisujú hardvér zo všetkých perspektív, ale napríklad iba z pohľadu základnej verzie (čo často pomôže preniknúť do zmyslu mnohých naoko nepotrebných komplikácií).


Orientácia v Intel® 64 and IA-32 Architectures Software Developer’s Manual

upraviť

Je nutné poznamenať, že tento manuál je v jednom dokumente dosť rozsiahly (v aktuálnej verzii má okolo 3000 strán) a nezahrňuje len architektúru IA-32, ale aj IA-64 čím sa jednotlivé kapitoly doplňujú o rôzne informácie o 64-bitových úpravách práce procesora. Pri študovaní si teda pozorne pozrite, či naozaj čítate informácie o architektúre, o ktorú máte záujem.

Celý manuál je podľa zamerania rozdelený do 3 troch hlavných celkov (zväzkov - volumes, číslovaných od 1 po 3) podľa zamerania. Niektoré celky sa potom ešte delia na svoje časti, ktoré sa označujú pridaním písmena (napr. Volume 1, Volume 2B, Volume 3C).

Takto vyzerá hierarchia manuálu:

  • Celok 1 (začiatok spojeného manuálu) - Základná architektúra. Obsahuje stručnú (relatívne) históriu procesorov zahrnutých v tejto architektúre. Rozoberá absolútny základ architektúry, čiže registre a ich úlohy, triedenie inštrukcií alebo formáty čísel.
  • Celok 2 (spojený manuál str. 375)- Abecedný zoznam inštrukcií. Bolo by vhodné prečítať si úvodné sekcie, vzhľadom na to, že obsahujú zoznam skratiek používaných v celom (dosť rozsiahlom) celku.
    • 2A - Abecedný zoznam inštrukcí A - L.
    • 2B - Abecedný zoznam inštrukcí M - Z.
    • 2B - Zoznam inštrukcí Rozšírení bezpečnejšieho módu (Safer mode extensions).
  • Celok 3 (spojený manuál str. 1651)- Sprievodca systémovým programovaním.
    • 3A - Prehľad systémovej architekúty, vlastností chráneného módu alebo viacúlohovosti systému.
    • 3B - Úspora energie, overenie stroja, monitorovanie výkonu alebo mód Virtual 8086.
    • 3C - VM štruktúry, podpora VMX pre preklad adries alebo mód systémovej správy.

Jednotlivé celky sú rozložené do kapitol a podkapitol, ktorých prehľad si môžete prezrieť na začiatku každého celku. (V spojenej verzii manuálu však neexistuje obsah celkov, do jednotlivých častí manuálu si teda musíte preskákať sami.)