Gestió de memòria: Partició, Paginació i Reubicació
Clasificado en Informática
Escrito el en catalán con un tamaño de 4,33 KB
Partició Fixa i Dinàmica
Partició fixa:
Avantatges:
- Implementació senzilla.
- Requereixen un programari de SO i una sobrecàrrega de processament mínimes.
Inconvenients:
- El nombre de particions limita els processos actius.
- La longitud de les particions es fixa en la generació del sistema, cosa que pot portar a ineficiències.
És una tècnica que gairebé no s'utilitza actualment.
Partició dinàmica:
- Les particions són variables en nombre i longitud.
- Cada procés rep l'assignació de memòria que necessita.
- Pot aparèixer fragmentació externa (forats a la memòria principal).
- S'utilitzen tècniques de compactació per reubicar els processos i ajuntar l'espai disponible.
Algorismes d'Ubicació amb Particions Dinàmiques
Permeten decidir quin dels blocs lliures contindrà el procés. L'objectiu és minimitzar l'ús de la compactació.
Algorismes possibles:
- Best-fit: Selecciona el forat més petit.
- First-fit: Selecciona el primer bloc prou gran.
- Next-fit: Selecciona el següent bloc al darrer seleccionat.
First-fit: És el més senzill i, normalment, el més ràpid i millor. Afavoreix l'assignació dels blocs inicials de la memòria, però va creant noves particions.
Next-fit: Pitjors resultats que First-Fit. Tendeix a fragmentar la memòria ràpidament.
Best-fit: Presenta els pitjors resultats. Genera molts blocs petits que no permeten assignar-hi cap procés.
Algorismes de Substitució
Quan tots els processos en memòria principal estan bloquejats, han de transferir-se a memòria secundària (s'explicaran en veure memòria virtual).
Exemple de Paginació Simple
Quan els processos A i C estan bloquejats, el gestor de pàgines vol carregar un procés D de 5 pàgines. El procés D no ocupa pàgines consecutives de memòria. No hi ha fragmentació externa. Només apareix fragmentació interna a la darrera pàgina de cada procés. Problema: la traducció d'adreces requereix taules de pàgines.
Reubicació
A causa del swapping i la compactació, un procés pot ocupar diferents blocs de memòria. Per tant, les referències a memòria física no poden fixar-se. La solució és diferenciar adreces lògiques d'adreces físiques.
Tipus d'Adreces
- Adreça física (adreça absoluta): Correspon a una posició real dins la memòria principal.
- Adreça lògica: És una referència a memòria independent de l'organització física.
Els compiladors generen codi amb adreces lògiques. Una adreça relativa és un exemple d'adreça lògica (posició relativa a un punt conegut del programa).
Traducció d'Adreces
Les adreces relatives són el tipus d'adreces lògiques més freqüent. Les adreces físiques es calculen en el moment de l'execució de la instrucció (càrrega dinàmica en execució). Per rendiment, la traducció es realitza per hardware.
Traducció d'Adreces per Hardware
Quan un procés passa a l'estat d'execució:
- El registre base del processador es carrega amb l'adreça física d'inici del procés.
- El registre límit es carrega amb l'adreça física de final del procés.
- Quan es troba una referència a una adreça lògica, es suma al registre base per obtenir l'adreça física.
- El resultat es compara amb el registre límit. Si l'adreça està dins dels límits, s'executa la instrucció; altrament, es produeix una interrupció.
Aquesta tècnica proporciona protecció per hardware.
Paginació Simple
- Models anteriors: Particions fixes (fragmentació interna) / Particions dinàmiques (fragmentació externa).
- La memòria principal es divideix en particions d'igual longitud (marcs de pàgina).
- Cada procés es divideix en pàgines de la mateixa longitud que els marcs.
- Els processos no requereixen un espai contigu de memòria.
- No hi ha fragmentació externa.
- Només hi ha fragmentació interna en la darrera pàgina de cada procés.