Protected mód a virtuální paměť -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Unix gives you just enough rope to hang yourself -- and then a couple of more feet, just to be sure. -- Eric Allman ... We make rope. -- Rob Gingell on Sun Microsystem's new virtual memory. Protected mód je to, co se většinou skrýva pod reklamou na 32 bitový operační systém. Správnému operačnímu systému by mělo být vpodstatě jedno, na kolikabitovém procesoru běží (vyjma limitů na některé věci - jako soubory. Jednou z mála výhod "64 bitových" operačních systému je to, že soubor může být delší než 4GB). Protected mód ale dává systému nové a netušené možnosti. Protected mód umožňuje jednomu řídícímu programu mít kontrolu nad ostatními. Může jim povolovat a zakazovat nejrůznější věci a různě je tahat za nos. Může jim například říct, že mají sound blaster, všechny jejich přístupy na sound blaster chytit a provádět na GUSovi. Také umožňuje multitásking - operační systém může procesu nakukat, že běží na počítači sám, ale přesto ho kykoliv přerušit a předat řízení jinému atd... Jednou z nejkrásnějších věcí protected módu je virtuální paměť. Paměť, kterou program vidí vůbec nemusí být pamětí počítače. Paměť se rozdělí na stránky (4KB) a při přístupu k ní, se nejprve zjistí o jakou stránku se jedná a potom se v tabulce vyhledá, kde daná stránka ve fyzické paměti je a podstrčí se programu. Je tím tedy možné nakukat procesu, že má paměť sám pro sebe. Od adresy 0 že začíná jeho kód a od nějaké další adresy že začíná neomezená volná paměť. Ostatní věci v paměti - systém, bios, další procesy, videoram se před programem schová. Nemůže tedy tyto věci nijak ohrozit. Také je ke stránkám dávat přístupová práva - dát programu nějakou část pouze pro čtení (například kód sdílené knihovny), nebo pouze pro provádění apod. Navíc se operační systém dozví v případě, že tyto přístupová práva byla porušena. Toho lze využít pro virtuální paměť. Pokud není dost fyzické paměti, uloží se nějaké části na disk. Zablokuje se potom přístup k této části paměti. V případě, že tam proces znova vleze, paměť se opět načte z disku a proces tak nic nepozná. Volná paměť potom může být stejně velká, jako fyzická plus volné místo na disku dohromady. Pokud proces chce přistupovat například k videoram, může to sdělit operačnímu systému a ten mu potom vidoram může přidat do jeho paměti ("namapovat") tam, kam si proces řekl. Bohužel ale DOS podle Microsoftí terminologie "není 32 bitový operační systém" a proto dosáhnout protected módu není vůbec žádná legrace. výheň