Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské poradenské zařízení a zařízení pro další vzdělávání pedogických pracovníků (NÚV).
režim chráněné virtuální paměti využívají multitáskové systémy procesor pracuje v režimu chráněné virtuální paměti využívá plně své možnosti kapacita operační paměti až 4GB (32b adresová sběrnice) až 64TB virtuální paměti až 16k segmentů proměnné velikosti (max 4GB) organizace podle potřeb a struktury programu umístění segmentu v OP je pro proces transparentní hardwarová ochrana přístupových práv aplikační programy jsou odděleny od OS i od sebe operační systémy - úvod
schéma adresace + offset selektor 31 3 2 1 0 15 RPL TI GDT/LDT 63 8k 31 3 2 1 0 15 RPL TI + GDT/LDT 63 8k deskriptor 32bitová bázová adresa 32bitový offset 32bitová reálná (lineární) adresa operační paměť 4GB operační systémy - úvod
popis adresace Tento režim opět používá pro tvorbu adresy dvou složek (selektor, offset) Selektor je rozdělen do tří částí: 13b adresa do tabulky deskriptorů TI vybírá mezi tabulkou lokálních deskriptorů LDT, nebo globálních deskriptorů GDT 2b RPL které určují úroveň oprávnění (privilegovanosti) operační systémy - úvod
Deskriptor popisuje jednotlivý segment obsahuje: bázovou adresu (32 bitů): adresa začátku segmentu limit segmentu (20 bitů): maximální velikost segmentu, která je brána buď v bytech (max. 1 MB), nebo v násobcích 4 kB (max. 4 GB) atributy segmentu: např. přístupová práva, limit segmentu operační systémy - úvod
Segmentace paměti reálná adresa = bázová adresa + offset zkontrolují se přístupová práva k segmentu převod zajišťuje MMU → typicky uvnitř CPU segment i offset uloženy ve speciálních registrech CPU offset používá proces segmentové deskriptory nastavuje OS jeden proces může mít i více segmentů: pro kód programu, data, zásobník, … vyžaduje více segment registrů v CPU operační systémy - úvod
Úrovně oprávnění (bity RPL) úroveň 0 - jádro operačního systému (řízení procesoru, plánování procesů, správa paměti) úroveň 1 - služby poskytované operačním systémem (organizace V/V, přidělování prostředků, souborový systém) úroveň 2 - systémové programy a podprogramy z knihoven (správa knihoven) úroveň 3 - uživatelské aplikace operační systémy - úvod