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ň