Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Odpověď na názor

Odpovídáte na názor k článku Programujeme OS: jak na GDT a IDT.

I/O
I/O (neregistrovaný) 147.32.68.---
13. 8. 2009 12:00

Re: To je hrozný mektání!

celé vlákno

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. ;-)

   
Chcete přispět jako registrovaný uživatel? Přihlaste se ke svému účtu.
Ochrana proti spamovacím robotům. Odpovězte prosím na následující otázku: Jaký je letos rok?
 

Pravidla pro diskutující

Přidáním čtenářského příspěvku do diskusí či fóra souhlasíte s tím, že budete dodržovat následující pravidla. Při jejich hrubém porušení se vystavujete riziku smazání příspěvku, jeho modifikaci, v krajním případě i zablokování přístupu do diskusí.

Redakce ze zásady nezasahuje do čtenářských diskusí a zavazuje se, že nebude mazat ani modifikovat příspěvky, kromě případů, kdy tyto porušují některé z následujících pravidel. V takové situaci je na zvážení redakce, zda příspěvek modifikuje s viditelným upozorněním, či přímo smaže. Redakce nikdy nemaže „nesouhlasné komentáře“ jen proto, že jsou nesouhlasné. Vítáme střet názorů, ale vždy v rámci slušné a kultivované debaty.

Příspěvky nesmí obsahovat:

  1. Vulgární či hrubé výrazy.
  2. Urážlivé výroky na adresu druhé osoby či skupiny osob.
  3. Texty, které mají za cíl jen vyprovokovat emotivní reakci (trolling).
  4. Rasové útoky či útoky na jakoukoliv jinou menšinu či skupinu obyvatel.
  5. Komerční nabídky a affiliate odkazy.
  6. Odkazy na warez, sériová čísla, licenční kódy, pornografii a další nevhodný materiál stejně jako žádosti o poskytnutí tohoto obsahu.
  7. Prokazatelně protiprávní obsah.

Informace o soukromí: U všech přidaných komentářů provozovatel ukládá IP adresu a hostname odesílatele. U neregistrovaných uživatelů se na webu zobrazuje část hostname, případně IP adresy, neumožňující identifikovat konkrétní počítač.

Povolené značky XHTML: a, br, code, em, li, ol, p, pre, strong, sub, sup, ul