12.10.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!