12.10.2014 Views

TEMA 3. GESTIÓN DE MEMORIA - Universidad de Almería

TEMA 3. GESTIÓN DE MEMORIA - Universidad de Almería

TEMA 3. GESTIÓN DE MEMORIA - 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>3.</strong> Gestión <strong>de</strong> Memoria<br />

<strong>3.</strong>4.2.6. Gestión <strong>de</strong> las Tablas <strong>de</strong> Páginas (Directorios y Tablas <strong>de</strong> Páginas)<br />

El archivo fuente contiene la gestión <strong>de</strong> las tablas <strong>de</strong> páginas. Utiliza el mo<strong>de</strong>lo <strong>de</strong><br />

Paginación <strong>de</strong> Linux. Las funciones <strong>de</strong>pendientes <strong>de</strong> la arquitectura se <strong>de</strong>finen en :<br />

• pt_none: <strong>de</strong>vuelve el valor 1 si la entrada especificada <strong>de</strong> la tabla <strong>de</strong> páginas no está inicializada;<br />

• pte_present: <strong>de</strong>vuelve el valor l si la página especificada está presente en memoria;<br />

• pte_clear: inicializa a 0 la entrada especificada <strong>de</strong> la tabla <strong>de</strong> páginas;<br />

• pmd_none: <strong>de</strong>vuelve el valor 1 si la entrada especificada <strong>de</strong>l directorio intermedio <strong>de</strong> tablas <strong>de</strong> páginas<br />

no se inicializa;<br />

• pmd_bad: <strong>de</strong>vuelve el valor l si la entrada especificada <strong>de</strong>l directorio intermedio <strong>de</strong> tablas <strong>de</strong> páginas<br />

es errónea;<br />

• pmd_present: <strong>de</strong>vuelve el valor l si la página que contiene el directorio intermedio <strong>de</strong> tablas <strong>de</strong> páginas<br />

está presente en memoria;<br />

• pmd_clear: inicializa a 0 la entrada especificada <strong>de</strong>l directorio intermedio <strong>de</strong> tablas <strong>de</strong> páginas;<br />

• pgd_none: <strong>de</strong>vuelve el valor l si la entrada especificada <strong>de</strong>l directorio global <strong>de</strong> tablas <strong>de</strong> páginas no se<br />

inicializa;<br />

• pgd_bad: <strong>de</strong>vuelve el valor l si la entrada especificada <strong>de</strong>l directorio global <strong>de</strong> tablas <strong>de</strong> páginas es<br />

errónea;<br />

• pgd_present: <strong>de</strong>vuelve el valor l si la página que contiene el directorio global <strong>de</strong> tablas <strong>de</strong> páginas<br />

presente en memoria;<br />

• pgd_clear: inicializa a 0 la entrada especificada <strong>de</strong>l directorio global <strong>de</strong> tablas <strong>de</strong> páginas;<br />

• pte_read: <strong>de</strong>vuelve l si la página especificada es accesible en lectura;<br />

• pte_write: <strong>de</strong>vuelve 1 si la página especificada es accesible en escritura;<br />

• pte_exec: <strong>de</strong>vuelve 1 si la página especificada es accesible en ejecución;<br />

• pte_dirty: <strong>de</strong>vuelve 1 si el contenido <strong>de</strong> la página especificada se ha modificado:<br />

• pte_young: <strong>de</strong>vuelve l si el contenido <strong>de</strong> la página especificada ha sido accedido;<br />

• pte_wrprotect: hace la página especificada inaccesible en escritura;<br />

• pte_rdprotect: hace la página especificada inaccesible en lectura;<br />

• pte_exprotect: hace la página especificada inaccesible en ejecución;<br />

• pte_mkclean: pone a 0 el indicador <strong>de</strong> modificación <strong>de</strong>l contenido <strong>de</strong> la página especificada;<br />

• pte_mkold: pone a 0 el indicador <strong>de</strong> acceso al contenido <strong>de</strong> la página especificada;<br />

• pte_mkwrite: hace la página especificada accesible en escritura;<br />

• pte_mkread: hace la página especificada accesible en lectura;<br />

• pte_mkexec: hace la página especificada accesible en ejecución;<br />

• pte_mkdirty: marca la página como modificada;<br />

• pte_mkyoung: marca la página como accedida;<br />

• mk_ptte: <strong>de</strong>vuelve el contenido <strong>de</strong> una entrada <strong>de</strong> la tabla <strong>de</strong> páginas combinando la dirección <strong>de</strong> la<br />

página <strong>de</strong> memoria asociada y su protección;<br />

• pte_modify: modifica el contenido <strong>de</strong> una entrada <strong>de</strong> la tabla <strong>de</strong> páginas;<br />

• pte_page: <strong>de</strong>vuelve la dirección <strong>de</strong> la página <strong>de</strong> memoria contenida en una entrada <strong>de</strong> la tabla <strong>de</strong><br />

páginas;<br />

• pmd_page: <strong>de</strong>vuelve la dirección <strong>de</strong> la página <strong>de</strong> memoria que contiene una tabla intermedia;<br />

• pgd_offset: <strong>de</strong>vuelve la dirección <strong>de</strong> una entrada <strong>de</strong> la tabla global;<br />

• pmd_offset: <strong>de</strong>vuelve la dirección <strong>de</strong> una entrada <strong>de</strong> la tabla intermedia;<br />

• pte_offset: <strong>de</strong>vuelve la dirección <strong>de</strong> una entrada <strong>de</strong> la tabla <strong>de</strong> páginas;<br />

• pte_free_kernel: libera una tabla <strong>de</strong> páginas utilizada por el kernel;<br />

• pte_alloc_kernel: asigna una tabla <strong>de</strong> páginas utilizada por el kernel;<br />

• pmd_free_kernel: libera una tabla intermedia utilizada por el kernel;<br />

• pmd_alloc_kernel: asigna una tabla intermedia utilizada por el kernel;<br />

• pte_free: libera una tabla <strong>de</strong> páginas utilizada por un proceso;<br />

• pte_alloc: asigna una tabla <strong>de</strong> páginas utilizada por un proceso;<br />

• pmd_free: libera un directorio intermedio <strong>de</strong> tablas <strong>de</strong> páginas utilizado por un proceso;<br />

Departamento <strong>de</strong> Lenguajes y Computación. <strong>Universidad</strong> <strong>de</strong> Almería Página <strong>3.</strong>27

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

Saved successfully!

Ooh no, something went wrong!