TEMA 2. GESTIÃN DE PROCESOS - Universidad de AlmerÃa
TEMA 2. GESTIÃN DE PROCESOS - Universidad de AlmerÃa
TEMA 2. GESTIÃN DE PROCESOS - Universidad de AlmerÃa
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Diseño <strong>de</strong> Sistemas Operativos<br />
Tema <strong>2.</strong> Gestión <strong>de</strong> Procesos<br />
• Entrada en la tabla <strong>de</strong> regiones (Figura <strong>2.</strong>7).<br />
– Puntero a una tabla <strong>de</strong> números <strong>de</strong> página físicas, <strong>de</strong>nominada tabla <strong>de</strong> páginas.<br />
Tabla regiones por proceso<br />
Código 8K<br />
Datos 32K<br />
Pila 64K<br />
Dir. virtuales<br />
Página lógica<br />
0<br />
1<br />
2<br />
3<br />
Tablas <strong>de</strong> páginas (direcciones físicas)<br />
Página física<br />
541K<br />
783K<br />
986K<br />
897K<br />
87K<br />
552K<br />
727K<br />
941K<br />
1096K<br />
2001K<br />
vacío<br />
137K<br />
852K<br />
764K<br />
433K<br />
333K<br />
Figura <strong>2.</strong>7. Tabla <strong>de</strong> páginas <strong>de</strong> la región.<br />
Puesto que una región es un conjunto continuo <strong>de</strong> direcciones virtuales, el número <strong>de</strong> página<br />
<strong>de</strong>ntro <strong>de</strong> una región es utilizado como un índice a una tabla <strong>de</strong> páginas <strong>de</strong> la región en la<br />
cual se almacena la dirección <strong>de</strong> la página física. Para ello, <strong>de</strong>s<strong>de</strong> la tabla <strong>de</strong> regiones se<br />
apunta a la tabla <strong>de</strong> páginas <strong>de</strong> dicha región (recuer<strong>de</strong> que la tabla <strong>de</strong> páginas contiene<br />
a<strong>de</strong>más información <strong>de</strong>l tipo <strong>de</strong>pendiente-<strong>de</strong>l-hardware para implementar algoritmos <strong>de</strong><br />
reemplazo, bits <strong>de</strong> Lectura/Escritura, etc).<br />
• Entradas en la tabla <strong>de</strong> páginas.<br />
– Información <strong>de</strong>pendiente <strong>de</strong> la máquina.<br />
– Bits <strong>de</strong> permiso para lectura o escritura en la página.<br />
– Problema <strong>de</strong> este mecanismo <strong>de</strong> traducción <strong>de</strong> direcciones ⇒ gran tamaño <strong>de</strong> la tabla <strong>de</strong><br />
paginas en memoria.<br />
• Registros hardware y caches se utilizan para incrementar la velocidad <strong>de</strong> traducción <strong>de</strong> direcciones<br />
virtuales a físicas (Figura <strong>2.</strong>6).<br />
• Debido al tamaño <strong>de</strong>l espacio <strong>de</strong> memoria direccionable por los procesadores, las tablas <strong>de</strong> páginas<br />
raramente se implementa en forma <strong>de</strong> una sola tabla contigua en memoria. Como la tabla <strong>de</strong><br />
páginas <strong>de</strong>be ser resi<strong>de</strong>nte en memoria, necesitaría un exceso <strong>de</strong> memoria únicamente para esta<br />
tabla. Por ejemplo, los procesadores <strong>de</strong> la arquitectura x86 pue<strong>de</strong>n direccionar 4 Gigabytes, el<br />
tamaño <strong>de</strong> las páginas <strong>de</strong> memoria es <strong>de</strong> 4 Kbytes, y cada entrada <strong>de</strong> la tabla ocupa 4 bytes; con<br />
tales procesadores una tabla <strong>de</strong> página completa utilizaría 1048576 entradas, ocupando 4<br />
Megabytes <strong>de</strong> memoria.<br />
– Solución al problema. Descomponer la tabla <strong>de</strong> páginas en varios niveles, con un mínimo <strong>de</strong><br />
dos niveles.<br />
+ Un directorio <strong>de</strong> tablas <strong>de</strong> páginas contiene las direcciones <strong>de</strong> las páginas que<br />
contienen partes <strong>de</strong> dicha tabla.<br />
+ Las partes utilizadas <strong>de</strong> la tabla <strong>de</strong> páginas se cargan en memoria.<br />
– El interés <strong>de</strong> esta tabla <strong>de</strong> páginas a dos niveles se basa en que la tabla <strong>de</strong> páginas no necesita<br />
cargarse completamente en memoria. Si un proceso utiliza 6 Megabytes <strong>de</strong> memoria en un<br />
procesador x86, sólo se utilizan tres páginas para la tabla <strong>de</strong> páginas:<br />
+ La página que contiene el directorio <strong>de</strong> tablas <strong>de</strong> páginas.<br />
+ La página que contiene la parte <strong>de</strong> la tabla <strong>de</strong> páginas correspondiente a los primeros 4<br />
Megabytes <strong>de</strong> memoria.<br />
+ La página que contiene la parte <strong>de</strong> la tabla <strong>de</strong> páginas correspondiente a los 4<br />
Megabytes <strong>de</strong> memoria siguientes (<strong>de</strong> la que sólo se utilizan la mitad <strong>de</strong> las entradas).<br />
Departamento <strong>de</strong> Lenguajes y Computación. <strong>Universidad</strong> <strong>de</strong> Almería Página <strong>2.</strong>15