nechápu, jakto, že tím, že se neuloží čtvrtina adresy(která je samozřejmě naprosto zbytečná - za starých dob bývalo přece paměť adresovaná segment:offset a segment byl pro celý kod/data/zásobník stejný, a tím se šetřilo prostorem) no, ale jak se může vynecháním zbytečné čtvrtiny ušetřit tři čtvrtiny místa? Ono to nebude jen šetřením v ukládání ukazatelů, že? (Buď jsem nečetl důkladně, nebo jsem měl číst ještě něco navíc)
Uklada se jen polovina adresy tj. 32 bitu namisto 64 bitu (navic posunuta o tri bity doprava). O usetreti 3/4 jsem snad nikde nepsal, jestli to z textu nekde plyne, tak je to spatne ;-)
Jinak segment:offset - to platilo za dob 16bitoveho realneho rezimu, kde to byl ale peknej opruz, protoze Intel evidentne okopiroval tuto funkcionalitu z jinych procesoru aniz by si uvedomil, ze proste 16bitu na offset je na osobnich pocitacich malo (a jiz pri navrhu programu bylo nutne uvazovat o datovem modelu tiny, large, huge atd.).
A v chranenem rezimu s 32bitovymi offsety se na pointerech nic neusetrilo, ovsem zde mel segmentovy registr (resp. po novem selektor) jiny vyznam - urcovat jak bazovou adresu a limit "segmentu", tak i pristupova prava. S flat adresami to trosku ztratilo vyznam.
No, meli jsme 32/16 bitu hybrid - vyse zminenou segmentovanou architekturu 8086. Jestli je to posledni slovo - to asi neni uplne presne, podobne jako distribuovane systemy nejsou posledni slovo nad centralizovanymi. Oboji ma sve vyhody a nevyhody, takze to patrne vznikne a bude koexistovat.
Ale napriklad takovy z/OS by bylo mozne oznacit za hybridni 32/64 bitovy operacni system.