Archivos
Todas las entradas para el mes de 11 junio 2014
Se puede visualizar como un árbol de dos niveles, la generalización natural consiste en extender la estructura del directorio e un árbol de altura arbitraria. Esta generalización permite a los usuarios crear sus propios subdirectorios y organizar sus archivos con base en esto. El sistema MS-DOS, por ejemplo, esta estructurado como un árbol. El árbol tiene un directorio raíz, Cada archivo del sistema tiene un nombre de ruta único.
Un directorio(o subdirectorio) contiene un conjunto de archivos o subdirectorios. Un directorio es simplemente otro archivo, pero es tratado en una forma especial. Todos los directorios tienen el mismo formato interno. Un bit en cada entrada del directorio define la entrada como un archivo (0) o como un subdirectorio (1).Ciertas llamadas especiales al sistema crean y borran directorios.
Con un sistema de directorios con estructura de árbol, los usuarios pueden tener acceso a los archivos de otros usuarios, además de sus propios archivos.
Una estructura de árbol prohíbe el compartimiento de archivos o directorios. Una grafica acíclica (grafica sin ciclos) permite que los directorios tengan subdirectorios y archivos compartidos. El mismo archivo o subdirectorio puede estar en dos directorios diferentes. Una grafica a cíclica es una generalización natural del esquema de directorios con estructura de árbol. Cuando varias personas están trabajando como equipo, todos los archivos que se van a compartir pueden colocarse juntos en un directorio. Cada uno de los directorios de archivos de usuario de todos los miembros del equipo contiene este directorio de archivos compartidos como un subdirectorio.
Una estructura de directorios de grafica aciclica es más flexible que una estructura sencilla de árbol, pero también es más compleja.
Tamaño máx de archivo= D*Tb+IS*(Tb/db)*Tb +ID*(Tb/db)2 * Tb +IT*(Tb/db)3 * Tb…
C= alamcenamiento archivo/tamaño max del archivo
Tb= tamaño bloque
A= direccion de byts
R= directas
S= direcciones simples
D= direcciones dobles
T=direcciones triples
O= direcciones cuadruples
Aleatorio (Random): Reemplaza las paginas de forma aleatoria, se trabaja en el OS/360 cuando se degenera el LRU,también se uilizo en extinto i860 de intel(risc).
No frecuentemente usada (NFU) :C/pagina tiene un contador , en cada intervalo de reloj se incrementa en 1 el contador de las paginas referenciadas, así cuando se requiere intercambio se saca la de menor contador.
Envejecimiento(Aging): Similar al anterior pero tiene en cuenta el tiempo, primero se desplaza a la derecha(/2) antes de incrementar. Con lo cual se compensan las paginas mas recientemente usadas.
•La menos usada fecuentemente (LFU): Reemplaza la pagina que menos intensivamente ha sido referenciada, se basa en la heuristica de que una pagina no referenciada con frecuencia es probable que no sea referenciada en el futuro.
•Reemplazo de pagina mas lejana FPR (Far page replacement) : Crea un grafo de acceso que caracteriza los patrones de referencia de un proceso. Reemplaza la pagina no referenciada que esta mas lejana de cualquier pagina referenciada en el grafo de acceso. Es compleja de manejar sin soporte en hw, no ha sido implementada en sistemas comerciales.
Windows XP
•Utiliza paginación por demanda con clustering.El agrupamiento trae las paginas alrededor de la pagina fallada.
•A los procesos se les asigna un working set minimum y un working set maximum.
•El conjunto de trabajo minimo es el número de paginas que se le garantiza a un proceso tener en memoria.
•A un proceso se le pueden asignar tantas paginas hasta alcanzar su conjunto de trabajo maximo.
•Cuando la cantidad de memoria en el sistema cae por debajo de un umbral, se realiza un recorte automatico del conjunto de trabajo para recuperar memoria disponible.
•Este recorte remueve las paginas de exceso de los procesos que estan sobre su conjunto de trabajo minimo.
Solaris
•Mantiene una lista de paginas libres para asignarle a los procesos con faltas de pagina.
- Lotsfree –parametro umbral(cantida de memoria) para empezar a paginar.
- Desfree – parametro umbral para incrementar la paginación
- Minfree – parametro umbral para empezar el intercambio
•La paginación es realizada por el proceso pageout
•Pageout busca las paginas utilizando el algoritmo del reloj modificado.
•Scanrate es la velocida con la cual las paginas son buscadas. Varia de slowscan a fastscan.
• Pageout se utiliza con mas frecuencia de acuerdo a la cantidad de memoria libre disponible.
Reemplazo de paginas en Linux
•Linux utiliza una variante del algoritmo del reloj para aproximarse a la estrategia de reemplazo de paginas LRU.
•El Administrador de memoria utiliza dos listas enlazadas
–La lista activa
TContiene las paginas activas
TLas paginas mas recientemente usadas estan cerca de la cabeza de la lista de activas.
–La lista de inactivas
TContiene las paginas inactivas
TLas paginas menos recientemente usadas estan cerca de la cola de la lista de paginas inactivas
–Solo se reemplazan las paginas en la lista de inactivas
RELOJ, SEGUNDA OPORTUNIDAD
LRU(Least Recently Used )
Asume que las páginas recientemente usadas serán usadas de nuevo, elimina las páginas que no han sido usadas por mucho tiempo.
• Reemplaza la página que no se haya referenciado desde hace más tiempo
•Por el principio de proximidad referenciada, esta página sería la que tiene menos probabilidad de volver a tener referencias en un futuro próximo
•Debe conservar una lista de páginas enlazadas
–Las páginas usadas recientemente de primeras y las menos usadas de últimas.
–Actualiza estos enlaces en cada referencia de memoria
•De forma alternativa puede llevar un contador en cada entrada de la tabla de páginas, seleccionando la página con el menor valor.
–Cada página podría etiquetarse con el instante de tiempo de su última referencia. Esto podría suponer una gran sobrecarga
ALGORITMO DEL CONJUNTO DE TRABAJO
- El conjunto de trabajo se refiere al conjunto de páginas usadas por las k referencias de memoria mas recientes
- w(k,t) es el tamaño del conjunto de trabajo en el tiempo t.
Reloj mejorado
Se toma el algoritmo del reloj pero con los 2 bit, el de referencia y el de modificación:
0,0 No referenciadas, no modificadas
0,1 No referenciadas, modificadas
1,0 Referenciadas, no modificadas
1,1 Referenciadas, modificadas
Se reemplaza el de la clase mas baja (Macintosh)
POLÍTICA DE RECUPERACIÓN
– Determina cunado un pagina se debería traer a la memoria principal
– Con paginación bajo demanda, una pagina se trae a memoria solo cuando se hace referencia a una posición en dicha pagina, se producen muchos fallos cuando un proceso se arranca inicialmente.
– Con paginacion adelantada, se traen a memoria mas paginas de las que se necesiten, esta politica es mas eficiente si se traen las paginas
ALGORITMOS DE REEMPLAZO DE PAGINAS
- Las faltas de página forzan el cambio
- Que página debe ser removida
- Establecer espacio para la página que entra
- Las páginas modificadas deben ser guardadas las otras pueden sobreescribirse
- Es aconsejable no reemplazar una página usada con frecuencia, seguramente la necesitaremos.
ALGORITMO OPTIMO DE REEMPLAZO DE PAGINAS
- Reemplaza la página que se requerirá en el punto mas lejano
- Optimo pero no lograble
- La estimación se basa en el registro de uso de las corridas anteriores de los proceso.
- Sigue siendo poco práctico
ALGORITMO DE PAGINA NO RECIENTEMENTE USADA
- Cada página tiene un bit de referencia , un bit de modificación
- Las páginas se clasifican
- No referenciadas, no modificadas
- No referenciadas, modificadas
- Referenciadas, no modificadas
- Referenciadas, modificadas
- NRU remueve las páginas aleatoriamente desde el número mas bajo en clases no vacias.
- •Conserva una lista encadenada de todas las páginas en el orden en que llegaron a la memoria.
- Trata los marcos de página ocupados como si se tratase de un buffer circular
- Las páginas se remplazan mediante una estrategia cíclica de tipo round-robin
- Es una de las políticas de reemplazo más sencilla de implementar
- Se reemplaza la página que lleva en memoria más tiempo
- Estas páginas podrían necesitarse de nuevo muy pronto
- Se reemplazan las páginas al principio de la lista
- Desventaja:
- Las páginas que mas esten en la memoria no necesariamente son las mas usadas
FIFO Y ANOMALIA DE BELADY M
- Las direcciones generadas por la Cpu se dividen en:
- Número de página (p)- utilizado en la tabla de páginas que contiene las direcciones base de cada página en la memoria física.
- El desplazamiento de página (d)- Combinado con la dirección base definen la dirección de memoria física que es enviada a la unidad de memoria.
- Traducción: proceso referencia (p,d), se busca en la tabla de correspondencia de páginas para ver la p’ (p real), La dirección real es p’+d. Por agilidad tabla de correspondencia en caché.
- Si no hay residencia de la página en memoria principal, sucede una falta de página. r= 0 si página no esta en real, 1 si esta.
ESQUEMA DE TRADUCCIÓN USANDO SEGMENTACIÓN
TABLA DE CORRESPONDENCIA DE SEGMENTOS
Dirección virtual=(s,d) los segmentos se intercambian como unidades.
Programa: núcleo principal, rutinas, datos (tablas, pilas, etc)
r=0 si segmento no está en real, 1 si esta
Bits de protección: 1-si 0-no
R-acceso lectura, W-escritura, E-ejecucion, A-adición (Bits de protección)
TRADUCCION DINAMICA DE CIRECCIONES EN SISTEMA SEGMENTACION/PAGINA
TABLA DE CORRESPONDENCIA DE SEGMENTOS
Dirección virtual=(s,d), los segmentos se intercambian como unidades.
Programa: nucleo principal, rutinas, datos(tablas, pilas, etc)
r= 0 si segmento no esta en real, 1 si esta
Bits de protección: 1-si 0-no
R-acceso lectura,W-escritura,E-ejecución, A-adición