Вы находитесь на странице: 1из 70

unldad 3 admlnlsLraclon de memorla

Administracin de la Memoria
La parte del sistema operativo que administra la memoria se llama administrador
de la memoria. Para ello existen diferentes esquemas de administracin de
memoria desde los mas simples hasta los mas elaborados entre los cuales se
ubican:
e Administracin de la memoria sin intercambio o paginacin.
Los sistemas de administracin de memoria se pueden clasificar en dos tipos. Los
que desplazan los procesos de la memoria principal al disco y viceversa durante la
ejecucin (intercambio y paginacin) y aquellos que no.
e Monopogramacin sin intercambio o paginacin.
Es en forma secuencial pues solo se tiene un objeto en memoria en cada instante,
el usuario carga toda la memoria con un programa, esto implica que cada proceso
debe contener controladores de dispositivo para cada uno de los dispositivos E/S
que utilice.
e Multiprogramacin y uso de la memoria.
La multiprogramacin facilita la programacin de una aplicacin al dividirla en dos
o mas procesos. La mayora de los procesos tardan cierto tiempo en la espera de
datos de dispositivos E/S. Un modelo para el uso y aprovechamiento de la CPU es
el modelo probabilstico dado por la frmula : Uso de la CPU = 1 - pn
e Multiprogramacin con particiones fijas
El objetivo en todo esto es tener mas de un proceso en memoria a la vez, solucin
posible sera dividir la memoria en n partes al inicio de una sesin de uso de la
mquina, pero an as se obtiene el desperdicio de particiones grandes con una
tarea pequea, la respuesta puede ser tener particiones pequeas tambin. Las
tareas que van llegando se forman hasta que una particin adecuada est
disponible, en cuyo momento la tarea se carga en esa particin y se ejecuta hasta
terminar.
e Intercambio
En un sistema por lotes la organizacin de la memoria en particiones fijas es
adecuado pero en un ambiente multiusuario la situacin es distinta con el tiempo
compartido, ya que existen mas usuarios de los que puede albergar la memoria,
por lo que es conveniente albergar el exceso de los procesos en disco., por
supuesto para ser ejecutados estos procesos deben ser trasladados a la memoria
principal. Al traslado de procesos de disco a memoria y viceversa se le llama
intercambio.
e Multiprogramacin con particiones variables.
Mediante un algoritmo de administracin de memoria las particiones variables
varan de forma dinmica durante el uso de la mquina, evitando desperdicio de
memoria
Otros mtodos de administracin de memoria que tenemos son:
la administracin de memoria con mapa de bits
la memoria se divide en unidades de asignacin, a cada asignacin le
corresponden un bit en el mapa de bits, un mapa de bits es una forma sencilla
para llevar un registro de las palabras de la memoria en una cantidad fija de
memoria.
la administracin de memoria con listas ligadas
otra forma de mantener un registro en memoria es mediante una lista ligada
donde cada entrada de la lista especfica un hueco o un proceso.
la administracin de memoria con el sistema de los asociados
basado en el sistema binario o utiliza para las direcciones.
e Memoria Virtual
El mtodo diseado por Fotheringham en 1961 se conoce como Memoria Virtual, la
idea es que el tamao combinado de la pila, programa y datos puede exceder la
memoria fsica disponible para ello. El S.O. mantiene en memoria aquellas partes
del programa que se deben permanecer en memoria y el resto lo deja en disco, las
partes entre el disco y la memoria se intercambian de modo que se vayan
necesitando.
e Paginacin
El espacio de direcciones de cada proceso se divide en bloques de tamao
uniforme llamados pginas, los cuales se pueden colocar dentro de cualquier para
pgina marco disponible en memoria. Cuando las tablas de pginas son muy
grandes se puede utilizar un esquema de paginacin de varios niveles para que las
pginas se paginen a s mismas.
Existen distintos niveles de paginacin y a su vez distintos modelos de
computadoras han trabajado con ellas.
Paginacin de nivel 1: PDP-11
Paginacin de 2 niveles: la VAX
Paginacin de 3 niveles: la SPARC
Paginacin de 4 niveles: la 68030
Memoria asociativa
En los algoritmos de paginacin las tablas de pginas se mantienen en la memoria
debido a su gran tamao, en potencia este diseo tiene un efecto enorme en el
rendimiento.
e Algoritmos de reemplazo de pginas.
Cuando ocurre un fallo de pgina el sistema operativo debe elegir una pgina para
retirarla de la memoria y hacer un espacio para la pgina por recuperar. Si la
pgina por eliminar fue modificada mientras estaba en memoria, debe escribirla en
el disco para mantener actualizada la copia del disco, si por el contrario la pgina
no ha sido modificada la copia del disco ya est actualizada por lo que no es
necesario volver a escribir, la pgina por leer slo escribe encima de la pgina por
retirar.
Aunque es posible elegir una pgina al azar para el reemplazo relacionado con un
fallo de pgina, el rendimiento del sistema es mucho mejor si se elige una pgina
de poco uso.
e Algoritmo de reemplazo de pginas optimo
Mejor algoritmo posible para reemplazo de pginas pero irrealizable en la prctica.
Al momento de ocurrir un fallo de pgina cierto conjunto de pginas se encuentran
en la memoria, en la siguiente instruccin se har referencia a una de estas
pginas, otras pginas no se utilizaran sino hasta mucho despus, cada pgina
puede ejecutarse con el nmero de instrucciones ejecutadas antes de la primera
referencia a esa pgina, el algoritmo dice que se elimine la pgina con la mayor
etiqueta; si una pgina no va a utilizase sino hasta mucho despus que otra la
eliminacin de la primera retrasa el fallo de pgina lo mas posible, el nico
problema de este algoritmo es que es irrealizable. Al momento del fallo de pgina
el S.O. no tiene forma de saber a qu pgina se hace referencia.
e Algoritmo de pgina de uso no muy reciente.
En un fallo de pgina , el sistema operativo inspecciona todas las pginas y las
divide en cuatro categoras segn los valores actuales de los bits R y M
Clase 0: No se ha hecho referencia ni ha sido modificada
Clase 1: No se ha hecho referencia pero ha sido modificada
Clase 2: Se ha hecho referencia pero no ha sido modificada
Clase 3: Se ha hecho referencia y ha sido modificada
El algoritmo NRU implica una hiptesis que indica que es mejor eliminar una
pgina modificada sin referencias al menos por lo general un intervalo de reloj,
este algoritmo es fcil de comprender, de implantacin eficiente y con un
rendimiento que, an sin ser el ptimo si es adecuado en muchos casos.
e Algoritmo de reemplazo " primero en entrar, primero en salir FIFO
El sistema operativo tiene una lista de todas las pginas que se encuentran en
memoria, siendo la primera pgina la mas antigua y la ltima la mas reciente, en
un fallo de pgina, se elimina la primera pgina y se aade la nueva al final de la
lista.
e Algoritmo de reemplazo de pginas de la segunda oportunidad
Una modificacin simple del FIFO que evita deshacerse de una pgina de uso
frecuente inspecciona el bit R de la pgina mas antigua, busca una pgina antigua
sin referencias durante el anterior intervalo de tiempo.
e Algoritmo de reemplazo de pginas del reloj
Aunque el anterior algoritmo es razonable un mejor enfoque es mantener las
pginas en una lista circular con la forma de un reloj, una manecilla apunta hacia
la mas antigua. Al ocurrir un fallo de pgina se inspecciona la pgina a la que
apunta la manecilla si su bit R=0 se retira de la memoria, se inserta la nueva
pgina en su lugar en el reloj y la manecilla avanza una posicin, si R=1 la
manecilla avanza una posicin y el bit se limpia, esto continua hasta encontrar una
pgina con R=0.
e Segmentacin
Una memoria segmentada tiene otras ventajas como hacer mas sencilla la
administracin de las estructuras de datos que crecen o se reducen, si cada
procedimiento ocupa un segmento independiente con la posicin inicial cero el
ligado independiente de los procesos compilados es mucho mas sencillo.
Bit que se activa si se hace referencia a la pgina en cuestin
Bit que se activa si se modifica la pgina.















Politica Filosofia Administracion Memoria


Filosofa:
La memoria principal puede ser considerada como un arreglo lineal de localidades
de almacenamiento de un byte de tamao. Cada localidad de almacenamiento
tiene asignada una direccin que la identifica.
Una de las funciones bsicas que debe implementar un SO es la Administracin de
la Memoria para tener un control sobre los lugares donde estn almacenados los
procesos y datos que actualmente se estn utilizando.
Sea cual sea es esquema de organizacin del almacenamiento que se adopte para
un sistema especfico, es necesario decidir que estrategias se deben utilizar para
obtener un rendimiento ptimo .las estrategias de administracin del
almacenamiento determinan el comportamiento de la administracin de memoria
cuando se siguen ciertas polticas:
e Cundo se toma un nuevo programa para colocarlo en memoria?
e Se toma el programa cuando el sistema lo solicita especficamente o se intenta
anticiparse alas particiones del sistema?
e En que lugar del almacenamiento principal se coloca el programa por ejecutar?
e Se colocan los programas lo ms cerca unos de otros en los espacios disponibles
de la memoria principal para reducir al mnimo el
desperdicio de espacio, o se colocan los programas lo ms rpido
posible para reducir al mnimo el tiempo de ejecucin.
e Si se necesita colocar un nuevo programa en el almacenamiento principal y ste
est lleno, Cul de los otros programas se desaloja?
Se han realizado sistemas que utilizan cada una de estas estrategias de
administracin.
Los programas y datos necesitan estar en el almacenamiento principal para ser
ejecutados o para poder hacer referencia de ellos. Los que no se necesitan de
inmediato pueden guardarse en el almacenamiento secundario.
Unix permite procesos mltiples y en un proceso puede generar otro fcilmente. La
planificacin del procesador usa un algoritmo basado en prioridades. La
administracin de memoria es un algoritmo de regiones variables con
intercambios. Inicialmente los algoritmos realizados se eligieron por sencillez, no
por velocidad ni complejidad. El desarrollo inicial se hizo bajo un espacio muy
pequeo de memoria.
Los recursos de memoria totales eran insuficientes para justificar algoritmos
complejos, por lo que UNIX intercambiaba el contenido en memoria de los
procesos.
POLTICAS.
FIFO: Los procesos se despachan de acuerdo a su tiempo de llega a la cola de
procesos listos, si un proceso llega al procesador sale hasta que termine. La
poltica FIFO actualmente no se usa como el esquema principal de un sistema,
pero si por ejemplo cuando se usa una poltica de prioridades y hay procesos con
la misma prioridad, a estos se les podra aplicar FIFO.
Round Robin: Los procesos se despachan en la forma que lo hace el FIFO, pero se
les asigna una cantidad limitada de tiempo (CUANTUM) en el procesador, si no
termina en ese lapso se manda al final de la lista de procesos listos.
SJF (Shortest job first - Prioridad del trabajo mas corto): Se ejecuta primero el
proceso en espera que tiene el menor tiempo estimado. SJF favorece a los
procesos cortos, ya que los largos podran llegar a rezagarse mucho tiempo e
incluso nunca ejecutarse.
SRT (Sortest remaining time scheduling - Tiempo restante ms corto): En SJF una
vez que un proceso comienza su ejecucin continua hasta terminar. En SRT, un
proceso en ejecucin puede ser desposedo por uno nuevo de menor tiempo de
ejecucin.
HRN: (highest response ratio next - Prioridad de la tasa de respuesta ms alta):
Poltica no apropiativa que corrige el retraso excesivo de procesos grandes que
produce el SJF, para as no caer en un favoritismo excesivo por los procesos
cortos, lo logra usando una formula basada en el tiempo de espera y el tiempo de
servicio, con lo cual la prioridad de cada trabajo no solo esta en funcin del tiempo
de servicio sino tambin del tiempo que ha esperado para ser atendido.


Memoria Real

La memoria real o principal es en donde son ejecutados los programas y procesos
de una computadora y es el espacio real que existe en memoria para que se
ejecuten los procesos. Por lo general esta memoria es de mayor costo que la
memoria secundaria, pero el acceso a la informacin contenida en ella es de ms
rpido acceso. Solo la memoria cache es ms rpida que la principal, pero su costo
es a su vez mayor.
1.2.2.- Administracin de la memoria con mapas de bits
Este tipo de administracin divide la memoria en unidades de asignacin, las
cuales pueden ser tan pequeas como unas cuantas palabras o tan grandes como
varios kilobytes. A cada unidad de asignacin le corresponde un bit en el mapa de
bits, el cual toma el valor de 0 si la unidad est libre y 1 si est ocupada (o
viceversa). La figura 6 muestra una parte de la memoria y su correspondiente
mapa de bits.
Fig. 6. Ejemplo de un mapa de bits para la administracin de la memoria.
Un mapa de bits es una forma sencilla para llevar un registro de las palabras de la
memoria en una cantidad fija de memoria, puesto que el tamao del mapa slo
depende del tamao de la memoria y el tamao de la unidad de asignacin.
1.2.3.- Administracin de la memoria con listas ligadas
Otra forma de mantener un registro de la memoria es mediante una lista ligada de
los segmentos de memoria asignados o libres, en donde un segmento puede ser
un proceso o un hueco entre dos procesos. La memoria de la figura 7(a) est
mostrada como una lista ligada de segmentos en la figura 7(b). Cada entrada de la
lista especifica un hueco (H) o un proceso (P), la direccin donde comienza, su
longitud y un apuntador a la siguiente entrada.
Fig. 7. Ejemplo de listas ligadas.
En este ejemplo, la lista de segmentos est ordenada por direcciones, lo que da la
ventaja de que al terminar o intercambiar un proceso, la actualizacin de la lista es
directa.
1.2.4.- Asignacin del hueco de intercambio
En algunos sistemas, cuando el proceso se encuentra en la memoria, no hay un
hueco en el disco asignado a l. Cuando deba intercambiarse, se deber asignar
un hueco para l en el rea de intercambio del disco. Los algoritmos para la
administracin del hueco de intercambio son los mismos que se utilizan para la
administracin de la memoria principal.
En otros sistemas, al caerse un proceso, se le asigna un hueco de intercambio en
el disco. Cuando el proceso sea intercambiado, siempre pasar al hueco asignado,
en vez de ir a otro lugar cada vez. Cuando el proceso concluya, se libera el hueco
de intercambio. La nica diferencia es que el hueco en disco necesario para un
proceso debe representarse como un nmero entero de bloques del disco. Por
ejemplo, un proceso de 13.5 K debe utilizar 14K (usando bloques de 1K).


















Administracion Almacenamiento

Si hay una cosa que toma la mayor parte del da de un administrador de sistemas,
esto es la administracin del almacenamiento. Pareciera que los discos nunca
tienen espacio suficiente, que se sobrecargan con actividad de E/S o que fallan
repentinamente. Por eso es vital tener un conocimiento prctico slido del
almacenamiento en disco para poder ser un administrador de sistemas exitoso.
Una vista general del hardware de almacenamiento
Antes de administrar el almacenamiento, primero es necesario entender el
hardware en el que estn almacenados los datos. A menos que posea un algn
conocimiento sobre la operacin de los dispositivos de almacenamiento masivo,
quizs se encuentre en una situacin donde tenga un problema relacionado al
almacenamiento pero le falte el conocimiento de fondo para si quiera entender lo
que ve. Al tener un entendimiento sobre la forma en que opera el hardware
subyacente, podr ms fcilmente determinar si el subsistema de almacenamiento
de su computador est funcionando correctamente.
La gran mayora de los dispositivos de almacenamiento masivo utilizan alguna
forma de media de rotacin y soportan el acceso aleatorio de los datos en esa
media. Esto significa que los componentes siguientes estn presentes en alguna
forma dentro de casi todos los dispositivos de almacenamiento masivo:
O Plato del disco
O Dispositivo de lectura/escritura de datos
O Brazos de acceso
Las secciones siguientes exploran con ms detalles cada uno de estos
componentes.
Platos de discos
La media rotativa utilizada por casi todos los dispositivos de almacenamiento
masivo estn en la forma de uno o ms platos planos y de forma circular. El plato
puede estar compuesto de cualquier nmero de materiales diferentes, tales como
aluminio, vidrio y policarbonatos.
La superficie de cada plato se trata de forma que permita el almacenamiento de
datos. La naturaleza exacta del tratamiento va a depender de la tecnologa de
almacenamiento de datos utilizada. La tecnologa de almacenamiento de datos
ms comn est basada en la propiedad de magnetismo; en estos casos los platos
se cubren con un compuesto que presenta buenas caractersticas magnticas.
Otra tecnologa de almacenamiento de datos comn est basada en principios
pticos; en estos casos, los platos se cubren con materiales cuyas propiedades
pticas pueden ser modificadas, y en consecuencia, permitiendo almacenar datos
pticamente[1].
Sin importar la tecnologa de almacenamiento utilizada, los platos del disco se
giran , causando que su superficie completa barra ms all de otro componente -
el dispositivo de lectura/escritura.
Dispositivo de lectura/escritura de datos
El dispositivo de lectura/escritura es el componente que toma los bits y bytes en
los que opera un sistema computacional y los convierte en las variaciones
magnticas u pticas necesarias para interactuar con los materiales que cubren la
superficie de los platos de discos.
Algunas veces las condiciones bajo las cuales estos dispositivos deben operar son
difciles. Por ejemplo, en un almacenamiento masivo basado en magnetismo, los
dispositivos de lectura/escritura (conocidos como cabezales), deben estar muy
cerca de la superficie del plato. Sin embargo, si el cabezal y la superficie del plato
del disco se tocan, la friccin resultante provocara un dao severo tanto al cabezal
como al plato. Por lo tanto, las superficies tanto del cabezal como del plato son
pulidas cuidadosamente y el cabezal utiliza aire a presin desarrollado por los
platos que giran para flotar sobre la superficie del plato, "flotando a una altitud no
menor que el grueso de un cabello humano. Por eso es que las unidades de discos
magnticos son muy sensibles a choques, cambios drsticos de temperaturas y a
la contaminacin del aire.
Los retos que enfrentan los cabezales pticos son de alguna manera diferentes de
aquellos para los cabezales magnticos - aqu, el ensamblado de la cabeza debe
permanecer a una distancia relativamente constante de la superficie del plato. De
lo contrario, los lentes utilizados para enfocarse sobre el plato no producen una
imagen lo suficientemente definida.
En cualquier caso, las cabezas utilizan una cantidad muy pequea del rea de
superficie del plato para el almacenamiento de datos. A medida que el plato gira
por debajo de las cabezas, esta rea de superficie toma la forma de una lnea
circular muy delgada.
Si es as como los dispositivos de almacenamiento masivo funcionan, significa que
ms del 99% de la superficie del plato se desperdiciara. Se pueden montar
cabezas adicionales sobre el plato, pero para utilizar completamente el rea de
superficie del plato se necesitan ms de mil cabezales. Lo que se requiere es algn
mtodo de mover los cabezales sobre la superficie del plato.
Brazos de acceso
Utilizando una cabeza conectada a un brazo que sea capaz de barrer sobre la
superficie completa del plato, es posible utilizar completamente el plato para el
almacenamiento de datos. Sin embargo, el brazo de acceso debe ser capaz de dos
cosas:
O Moverse rpidamente
O Moverse con gran precisin
El brazo de acceso se debe mover lo ms rpido posible, pues el tiempo que se
pierde moviendo el cabezal desde una posicin a la otra es tiempo perdido. Esto se
debe a que no se pueden leer o escribir datos hasta que el brazo se detenga[2].
El brazo de acceso debe ser capaz de moverse con gran precisin porque, como se
mencion anteriormente, el rea de superficie utilizada por los cabezales es muy
pequea. Por lo tanto, para usar eficientemente la capacidad de almacenamiento
del plato, es necesario mover las cabezas solamente lo suficiente para asegurar
que cualquier datos escrito en la nueva posicin no sobreescribe los datos escritos
en la posicin previa. Esto tiene el efecto de dividir conceptualmente la superficie
del plato en miles o ms aros concntricos o pistas. El movimiento del brazo de
acceso desde una pista a la siguiente a menudo se conoce como bsqueda y el
tiempo que toma el brazo de acceso para moverse de una pista a otra se le conoce
como tiempo de bsqueda.
Cuando existen mltiples platos (o un plato que con ambas superficies utilizadas
para almacenamiento de datos), se apilan los brazos para cada superficie,
permitiendo que se pueda acceder a la misma pista en cada superficie
simultneamente. Si se pueden visualizar las pistas para cada superficie con el
acceso estacionario sobre una pista dada, apareceran como que estn apiladas una
sobre la otra, haciendo una forma cilndrica; por tanto, el conjunto de pistas
accesibles en una posicin dada de los brazos de acceso se conocen como cilindro.



Jerarquia Memoria
Se conoce como jerarqua de memoria a la organizacin piramidal de la memoria
en niveles, que tienen los ordenadores. Su objetivo es conseguir el rendimiento de
una memoria de gran velocidad al coste de una memoria de baja velocidad,
basndose en el principio de cercana de referencias.
Los puntos bsicos relacionados con la memoria pueden resumirse en:
O Cantidad
O Velocidad
O Coste
La cuestin de la cantidad es simple, cuanto ms memoria haya disponible, ms
podr utilizarse. La velocidad ptima para la memoria es la velocidad a la que el
procesador puede trabajar, de modo que no haya tiempos de espera entre clculo
y clculo, utilizados para traer operandos o guardar resultados. En suma, el costo
de la memoria no debe ser excesivo, para que sea factible construir un equipo
accesible.
Como puede esperarse los tres factores compiten entre s, por lo que hay que
encontrar un equilibrio. Las siguientes afirmaciones son vlidas:
O A menor tiempo de acceso mayor coste
O A mayor capacidad mayor coste
O A mayor capacidad menor velocidad.
Se busca entonces contar con capacidad suficiente de memoria, con una velocidad
que sirva para satisfacer la demanda de rendimiento y con un coste que no sea
excesivo. Gracias a un principio llamado cercana de referencias, es factible utilizar
una mezcla de los distintos tipos y lograr un rendimiento cercano al de la memoria
ms rpida.
Los niveles que componen la jerarqua de memoria habitualmente son:
O Nivel 0: Registros
O Nivel 1: Memoria cach
O Nivel 2: Memoria principal
O Nivel 3: Disco duro (con el mecanismo de memoria virtual)
O Nivel 4: Redes(Actualmente se concidera un nivel mas de la jerarquia de
memorias)

Estrategia Administracion De Memoria

Estrategias de Administracin del Almacenamiento
Estn dirigidas a la obtencin del mejor uso posible del recurso del
almacenamiento principal [7, Deitel].
Se dividen en las siguientes categoras:
O Estrategias de bsqueda:
o Estrategias de bsqueda por demanda.
o Estrategias de bsqueda anticipada.
O Estrategias de colocacin.
O Estrategias de reposicin.
Las "estrategias de bsqueda estn relacionadas con el hecho de cundo obtener
el siguiente fragmento de programa o de datos para su insercin en la memoria
principal.
En la "bsqueda por demanda el siguiente fragmento de programa o de datos se
carga al almacenamiento principal cuando algn programa en ejecucin lo
referencia.
Se considera que la "bsqueda anticipada puede producir un mejor rendimiento
del sistema.
Las "estrategias de colocacin estn relacionadas con la determinacin del lugar
de la memoria donde se colocar (cargar) un programa nuevo.
Las "estrategias de reposicin estn relacionadas con la determinacin de qu
fragmento de programa o de datos desplazar para dar lugar a los programas
nuevos.
Asignacin Contigua de Almacenamiento Versus No Contigua
En la "asignacin contigua cada programa ocupa un bloque contiguo y sencillo de
localizaciones de almacenamiento.
En la "asignacin no contigua un programa se divide en varios bloques o
"segmentos que pueden almacenarse en direcciones que no tienen que ser
necesariamente adyacentes, por lo que es ms compleja pero ms eficiente que la
asignacin continua.
Asignacin Contigua de Almacenamiento de Un Solo Usuario
Se consideran S. O. que ya poseen desarrollado el "sistema de control de entrada /
salida: IOCS: input / output control system




















Asignacion Contigua Vs No Contigua

En la "asignacin contigua cada programa ocupa un bloque contiguo y sencillo de
localizaciones de almacenamiento.
En la "asignacin no contigua un programa se divide en varios bloques o
"segmentos que pueden almacenarse en direcciones que no tienen que ser
necesariamente adyacentes, por lo que es ms compleja pero ms eficiente que la
asignacin continua.



















Multiprogramacion

Se denomina multiprogramacin a la tcnica que permite que dos o ms procesos
ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo
tiempo (seudo-paralelismo, en una nica CPU slo puede haber un proceso a la
vez) en la unidad central de proceso o CPU.
Aporta las siguientes ventajas:
O La ya mencionada, varios procesos en ejecucin.
O Permite el servicio interactivo simultneo a varios usuarios de manera
eficiente.
O Aprovecha los tiempos que los procesos pasan esperando a que se
completen sus operaciones de E/S
O Aumenta el uso de la CPU.
O Las direcciones de los procesos son relativas, el programador no se
preocupa por saber en dnde estar el proceso dado que el sistema
operativo es el que se encarga de convertir la direccin lgica en fsica.
Un proceso entra a ejecutarse y llega al momento en que tiene que hacer espera
por un dispositivo de entrada y/o salida por ejemplo, el CPU estara ocioso mientras
espera que el proceso puede usar el dispositivo para as finalmente ejecutarse. Los
sistemas de multiprogramacin evitan eso ya que durante ese tiempo de esperar
pasan a ejecutar otro proceso teniendo as al computador ocupado.











Particion Fija Particion Variable

PARTICIONES FIJAS
Consiste en dividir la memoria en varias particiones de tamao fijo. Cada particin
puede contener exactamente un proceso.
El nivel de multiprogramacin est limitado por el nmero de particiones.
Cuando una particin est libre, se selecciona un proceso de la cola de entrada y
se carga en la particin libre; cuando un proceso termina, la particin est
disponible para otro.
El sistema operativo conserva una tabla que indica qu partes de la memoria estn
disponibles y cuales estn ocupadas.
Particiones Variables
O Cada trabajo ocupa tanto espacio como necesita.
O El tamao del trabajo a ubicar no puede ser mayor que el almacenamiento
principal disponible
O Se disminuye parcial o totalmente el desperdicio de memoria
O Aparecen: Condensacin y Compactacin










Intercambio De Almacenamiento

PARTICIONES FIJAS
Consiste en dividir la memoria en varias particiones de tamao fijo.
Cada particin puede contener exactamente un proceso.
El nivel de multiprogramacin est limitado por el nmero de particiones.
Cuando una particin est libre, se selecciona un proceso de la cola de entrada y
se carga en la particin libre; cuando un proceso termina, la particin est
disponible para otro.
El sistema operativo conserva una tabla que indica qu partes de la memoria estn
disponibles y cuales estn ocupadas.















Organizacion Memoria Virtual
Almacenamiento virtual significa la capacidad de direccionar un espacio de
almacenamiento mucho mayor que el disponible en el almacenamiento primario de
determinado sistema de computacin.
Esta tecnologa apareci en 1960 en la Universidad de Manchester (Inglaterra), en
el sistema "Atlas.
La ilusin de la memoria virtual est soportada por el mecanismo de traduccin de
memoria, junto con una gran cantidad de almacenamiento rpido en disco duro.
As en cualquier momento el espacio de direcciones virtual hace un seguimiento de
tal forma que una pequea parte de l, est en memoria real y el resto
almacenado en el disco, y puede ser referenciado fcilmente.
Debido a que slo la parte de memoria virtual que est almacenada en la memoria
principal, es accesible a la CPU, segn un programa va ejecutndose, la
proximidad de referencias a memoria cambia, necesitando que algunas partes de
la memoria virtual se traigan a la memoria principal desde el disco, mientras que
otras ya ejecutadas, se pueden volver a depositar en el disco (archivos de
paginacin).
Los mtodos ms comunes de implementacin son mediante:
- Tcnicas de paginacin.
- Tcnicas de segmentacin.
- Una combinacin de ambas tcnicas.








Evaluacion Organizaciones
Almacenamiento
























Paginacion
En sistemas operativos de computadoras, los sistemas de paginacin de memoria
dividen los programas en pequeas partes o pginas. Del mismo modo, la
memoria es dividida en trozos del mismo tamao que las pginas llamados marcos
de pgina. De esta forma, la cantidad de memoria desperdiciada por un proceso es
el final de su ltima pgina, lo que minimiza la fragmentacin interna y evita la
externa.
En un momento cualquiera, la memoria se encuentra ocupada con pginas de
diferentes procesos, mientras que algunos marcos estn disponibles para su uso.
El sistema operativo mantiene una lista de estos ltimos marcos, y una tabla por
cada proceso, donde consta en qu marco se encuentra cada pgina del proceso.
De esta forma, las pginas de un proceso pueden no estar contiguamente ubicadas
en memoria, y pueden intercalarse con las pginas de otros procesos.
En la tabla de pginas de un proceso, se encuentra la ubicacin del marco que
contiene a cada una de sus pginas. Las direcciones lgicas ahora se forman como
un nmero de pgina y de un desplazamiento dentro de esa pgina (conocido
comnmente como offset). El nmero de pgina es usado como un ndice dentro
de la tabla de pginas, y una vez obtenida la direccin del marco de memoria, se
utiliza el desplazamiento para componer la direccin real o direccin fsica. Este
proceso se realiza en una parte del computador especficamente diseada para
esta tarea, es decir, es un proceso hardware y no software.
De esta forma, cuando un proceso es cargado en memoria, se cargan todas sus
pginas en marcos libres y se completa su tabla de pginas.










Segmentacion

Segmentacin
En un esquema de segmentacin un espacio de direcciones lgicas es un conjunto
de segmentos. Cada segmento tendr un nombre y un largo. Las direcciones van a
hacer referencia tanto al nombre como al desplazamiento dentro del segmento.
nro.segmento, desplazamiento>
Mecanismo de traduccion de direcciones.-
Se lleva un tabla de segmento por cada proceso, cada entrada a la tabla de
segmento lleva la siguiente informacion: segment base (direccin base del
segmento)
segment limit (largo del segmento)
Proteccin.-
La proteccin se asegura verificando cada acceso a la memoria con la tabla de
segmentos para asegurar que se esta direccionando dentro del espacio de
direcciones lgicas del proceso.
Adems el mecanismo de traduccin de direcciones asegura que no se direccione
fuera de un segmento en particular. Existen tambin bits de proteccin para cada
entrada de la tabla de segmentos que indicaran si el segmento es read only o
read-write.
Segmentos Compartidos.-
Similar a lo visto para paginacin. Se comparte la totalidad de un segmento
Fragmentacin.-
El sistema operativo deber asignar memoria utilizando algunos algoritmos ya
vistos (first fit, worst fit, best fit) Cuando el sistema operativo intenta cargar un
segmento y no hay ningn segmento disponible de tamao suficiente para
almacenarlo se proceder a compactar la memoria.
Paginacin por demanda.-
Es similar a lo visto para la paginacin introduciendo el concepto de swapping. Los
procesos residen en el disco y al ser ejecutados deben ser cargados en memoria.
Cuando un proceso va a ser ejecutado, el mismo es swappeado a memoria,
utilizando lazy swapping. El lazy swapping nunca trae paginas a memoria si no van
a ser ejecutadas. Se necesita determinar si un pagina esta en memoria o en disco,
por lo cual se utiliza el bit de vlido / invlido de la tabla de pginas. Si el bit = 1
la pgina es valida y esta cargada en memoria si es 0 la pgina es invlida y no
esta cargada en memoria (esta en disco).
Cuando un proceso intenta acceder a una pgina que no esta cargada en memoria
ocurre un page fault (tomo de pgina). El procedimiento para manejar un page
fault es el siguiente:
1. Verificar si la referencia a la pagina es valida (se utiliza una tabla interna
(generalmente llevada en PCB) donde se indica las paginas validas.
2. Si la referencia no es valida, se cancela la ejecucin del proceso.
3. Encontrar un frame disponible para cargarla (la pgina esta en disco)(por
ejemplo de la free frame list)
4. Solicitar operacin de I/O para leer la pgina de disco cargarla en el frame
obtenido.
5. Modificar la tabla interna y la tabla de paginas para que ahora esta pagina
figure como que esta en memoria.
6. Continuar con la ejecucin del proceso en la instruccin en la que fue
interrumpido.








Sistemas Paginacion Segmentacion

Sistemas de Paginacin / Segmentacin
Ofrecen las ventajas de las dos tcnicas de organizacin del almacenamiento
virtual [7, Deitel].
El tamao de los segmentos es mltiplo del de las pginas.
No es necesario que todas las pginas de un segmento se encuentren al mismo
tiempo en el almacenamiento primario.
Las pginas de almacenamiento virtual, que son contiguas en este
almacenamiento, no necesitan ser contiguas en el almacenamiento real.
El direccionamiento es tridimensional con una direccin de almacenamiento virtual
"v = (s,p,d):
- "s es el nmero del segmento.
- "p es el nmero de pgina.
- "d es el desplazamiento en la pgina donde se encuentra asignado el elemento
deseado.
Inicio: Fin:
Traduccin Dinmica de Direcciones en Sistemas de Paginacin / Segmentacin Se
considera la traduccin dinmica de direcciones de virtuales a reales en un sistema
de paginacin / segmentacin utilizando la combinacin de transformacin
asociativa / directa (ver Figura 3.31 [7, Deitel]).
El proceso en ejecucin hace referencia a la direccin virtual v = (s,p,d) (ver
Figura 3.32 [7, Deitel]).
Las pginas de referencia ms reciente tienen entradas en un almacenamiento
asociativo.
Se realiza una bsqueda asociativa para intentar localizar (s,p) en el
almacenamiento asociativo:
- Si se encuentra (s,p), entonces el marco de pgina "p en el cual reside dicha
pgina en la memoria real, se concatena al desplazamiento "d para formar la
direccin de memoria real "r correspondiente a la direccin virtual v= (s,p,d).
- Si no se encuentra (s,p), entonces:
o La direccin base "b de la tabla de segmentos se aade al nmero de segmento
"s formando la direccin "b + s de la entrada de la tabla de mapa de segmentos
para el segmento "s de la memoria real.
o La entrada de la tabla de mapa de segmentos indica la direccin base "s de la
tabla de pginas para el segmento "s.
o El nmero de pgina "p se aade a "s formando la direccin "p + s de la
entrada en la tabla de pginas para la pgina "p del segmento "s:
E Indica que "p es el nmero del marco correspondiente a la pgina virtual "p.
E "p se concatena con el desplazamiento "d formando la direccin real "r que
corresponde a la direccin virtual v = (s,p,d).
Si el segmento "s no se encuentra en el almacenamiento primario se produce un
"fallo de prdida de segmento, cuyo caso el S. O. localiza el segmento en el
almacenamiento secundario, crea una tabla de pginas para el segmento y carga
la pgina apropiada en el almacenamiento primario, pudiendo producir reemplazos
de pginas. Si el segmento "s est en el almacenamiento primario y si la
referencia a la tabla de mapa de pginas indica que la pgina deseada no se
encuentra en el almacenamiento primario, se produce un "fallo de prdida de
pgina, en tal caso el S. O. obtiene el control, localiza la pgina en el
almacenamiento secundario y la carga, pudiendo reemplazar otra pgina.
Si una direccin de almacenamiento virtual est ms all del final del segmento se
genera un "fallo de desbordamiento de segmento, el que debe ser atendido por el
S. O.
Si los bits de proteccin indican que la operacin que se va a ejecutar en la
direccin virtual referida no se permite, se genera un "fallo de proteccin de
segmento, el que tambin debe ser atendido por el S. O.
Si se utiliza un mecanismo de transformacin directa pura, manteniendo el mapa
completo dentro del almacenamiento primario, la referencia promedio de
almacenamiento virtual requerira:
- Un ciclo de almacenamiento para acceder a la tabla de mapa de segmentos.
- Un segundo ciclo de almacenamiento para hacer referencia a la tabla de mapa de
pginas.
- Un tercer ciclo de almacenamiento para referenciar al elemento deseado del
almacenamiento real.
Cada referencia a un elemento comprende tres ciclos de almacenamiento:
- El sistema correra casi a 1 / 3 de su velocidad nominal.
- La traduccin de direcciones insumira 2 / 3 del tiempo.
Con la utilizacin de registros asociativos (por ej. 16 registros), se logran
velocidades de ejecucin del 90 % o ms de la velocidad total de procesamiento
de sus procesadores de control.
La estructura de tablas de procesos, de mapas de segmentos y de mapas de
pginas puede consumir un porcentaje importante del almacenamiento primario
cuando se ejecutan un gran nmero de procesos.
La traduccin procede mucho ms rpido si todas las tablas estn en el
almacenamiento primario, lo que resta espacio para los procesos.
Inicio: Fin:
Compartimiento en un Sistema de Paginacin / Segmentacin
Se implementa disponiendo entradas en tablas de mapa de segmentos para
diferentes procesos que apunten a la misma tabla de mapa de pginas (ver Figura
3.33 [7, Deitel]).
El compartimiento requiere una administracin cuidadosa por parte del S. O., ya
sea en sistemas de paginacin, segmentacin o paginacin / segmentacin, pues
se debe considerar qu sucedera si una nueva pgina reemplazara a otra pgina
compartida por muchos procesos.
SEGMENTACION/PAGINACION
Tanto la Segmentacion como la paginacin ofrecen significativas ventajas, algunos
sistemas (Multics y la Serie 370 de IBM) combinan ambas tcnicas en donde los
segmentos tienen un tamao multiplo de pagina.
Este mtodo utiliza Segmentacin y Paginacin tal y como su nombre lo indica, el
proceso es el siguiente: - Se hace la solicitud de acceso por medio de una
direccion "V la cual contiene los campos Segmento, Pagina y Desplazamiento. Con
el campo Segmento, lo que se trata es de accesar a una Tabla de segmentos, cada
campo de dicha tabla apunta directamente a la tabla de paginas asignada para ese
segmento conteniendo una direccion que ser sumada a una direccion en la Tabla
Asociativa para por fin formar una direccion real con el desplazamiento de "V.
En un sistema con un nmero muy grande de procesos, segmentos o paginas, sta
estructura puede consumir una parte muy importante de la memoria real. La
cuestin es que la traduccion de direcciones puede realizarse con rapidez pero si
se tienen demasiadas tablas, el sistema puede soportar menos procesos y bajar su
rendimiento
.2 Sistema de paginacin
Los sistemas de paginacin son los utilizados para dividir los programas en paginas
y as poder utilizar programas de mayor tamao que la memoria principal, ya que
las paginas no son cargadas todas a la vez en la memoria principal. l traspaso de
datos entre los distintos niveles de almacenamiento se realiza eventualmente en
paginas de longitud fija, tal y como ocurre en la actualidad en los sistemas de
memoria virtual. El tamao de la pagina es un parmetro del sistema y no esta
determinado por las longitudes de registro elegidas por los programadores. Al
usarse la paginacin, los datos sern lgicamente independientes del tamao de
pagina, pero tendrn que ser fsicamente "empaquetados para que encajen en las
paginas.
En los casos en que se usa hardware de almacenamiento a niveles mltiples, el
traspaso se hace por bloques, semejantes a las paginas. Esta tcnica se conoce
con el nombre de promocin o staging.
7.3 Segmentacin
El objetivo de la segmentacin al igual que el de la paginacin es el de dar la
facilidad de realizar programas que sean ms grandes que la memoria principal,
pero la segmentacin, a diferencia de la paginacin, puede dividir los programas
en segmentos que no necesariamente sean del mismo tamao, pero para poder
cargar un segmento en memoria al igual que para cargar una pagina debe de
existir el suficiente espacio contiguo de memoria principal para cargarlo.
La segmentacin en ocasiones puede ser usada al mismo tiempo que la
paginacin.























Administracion Memoria Virtual
Las diferentes organizaciones de almacenamiento virtual generalmente
implementadas son [7, Deitel]:
O Paginacin.
O Segmentacin.
O Segmentacin y paginacin.
Las estrategias para la administracin de sistemas de almacenamiento virtual
condicionan la conducta de los sistemas de almacenamiento virtual que operan
segn esas estrategias.
Se consideran las siguientes estrategias:
O "Estrategias de bsqueda:
o Tratan de los casos en que una pgina o segmento deben ser trados del
almacenamiento secundario al primario.
o Las estrategias de "bsqueda por demanda esperan a que se haga referencia a
una pgina o segmento por un proceso antes de traerlos al almacenamiento
primario.
o Los esquemas de "bsqueda anticipada intentan determinar por adelantado a
qu pginas o segmentos har referencia un proceso para traerlos al
almacenamiento primario antes de ser explcitamente referenciados.
O "Estrategias de colocacin:
o Tratan del lugar del almacenamiento primario donde se colocar una nueva
pgina o segmento.
o Los sistemas toman las decisiones de colocacin de una forma trivial ya que una
nueva pgina puede ser colocada dentro de cualquier marco de pgina disponible.
O "Estrategias de reposicin:
o Tratan de la decisin de cul pgina o segmento desplazar para hacer sitio a una
nueva pgina o segmento cuando el almacenamiento primario est completamente
comprometido.

Estrategias Administracion Memoria
Virtual

Es un mtodo mediante el cual, un sistema operativo simula tener ms memoria
principal que la que existe fsicamente. Para implementar la memoria virtual se
utiliza un medio de almacenamiento secundario de alta velocidad de acceso,
generalmente en disco duro de la maquina. Un sistema de memoria virtual se
implementa utilizando paginacin como mtodo de administracin de memoria
bsica y algn mecanismo de intercambio (para descargar paginas de la memoria
principal hacia el disco duro y para cargar esas pginas de nuevo a la memoria).
La memoria virtual es una tcnica para proporcionar la simulacin de un espacio
de memoria mucho mayor que la memoria fsica de una maquina. Esta "ilusin
permite que los programas se hagan sin tener en cuenta el tamao exacto de la
memoria fsica. La ilusin de la memoria virtual esta soportada por el mecanismo
de traduccin de memoria, junto con una gran cantidad de almacenamiento rpido
en disco duro. As en cualquier momento el espacio de direcciones virtual hace un
seguimiento de tal forma que una pequea parte de el, esta en memoria real y el
resto almacenado en el disco, y puede ser referenciado fcilmente.
Estrategias de administracin de la memoria virtual
Estrategias del mejor ajuste: Un trabajo que entre en el sistema se colocar en el
espacio vaci del almacenamiento principal en el que quepa mejor y que deje la
menor cantidad posible de espacio sin utilizar.
Estrategias del primer ajuste: Un trabajo que entre en el sistema se colocara en el
almacenamiento principal en el primer vaci disponibles lo bastante grande para
contenerlo.
Estrategias del peor ajuste: Consiste en colocar un programa en el
almacenamiento primario en el espacio vaci donde peor se ajusta es decir en el
espacio ms grande posible.
Estrategias de obtencin: Determina cuando se debe transferir una pgina o un
segmento de almacenamiento secundario al primario. Las estrategias de obtencin
por demanda esperan a que un proceso en ejecucin haga referencia a una pgina
o a un segmento antes de traer la pgina o el segmento de almacenamiento
primario. Los esquemas de obtencin anticipada intentan determinar por
adelantado a cuales paginas o segmentos har referencia un proceso.
Estrategias de colocacin: Determinan en que lugar del almacenamiento primario
se debe colocar una pagina o un segmento entrante. Una pgina entrante se
puede colocar en cualquier marco de pgina disponible.
Estrategias de reemplazo: Sirven para decidir cual pgina o segmento se debe
desplazar para dar espacio a una pgina o segmento entrante cuando esta
completamente ocupado el almacenamiento primario.
Estrategias de Colocacin: Determinan en que lugar del almacenamiento primario
se debe colocar una pgina o un segmento entrante. Una pgina entrante se
puede colocar en cualquier marco de pgina disponible.
Estrategias de Reemplazo: Sirven para decidir cual pgina o segmento se debe
desplazar para dar espacio a una pgina o segmento entrante cuando est
completamente ocupado el almacenamiento primario.
La memoria virtual ha llegado a ser un componente esencial de la mayora de los
sistemas operativos actuales. Y como en un instante dado, en la memoria slo se
tienen unos pocos fragmentos de un proceso dado, se pueden mantener ms
procesos en la memoria. Es ms, se ahorra tiempo, porque los fragmentos que no
se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema
operativo debe saber cmo gestionar este esquema.
La memoria virtual tambin simplifica la carga del programa para su ejecucin
llamada reubicacin, este procedimiento permite que el mismo programa se
ejecute en cualquier posicin de la memoria fsica










Tecnicas Reemplazo De Paginas
ESTRATEGIAS DE REEMPLAZO DE PGINA:
Las rutinas de administracin de almacenamiento del Sistema operativo deben
decidir que pgina del almacenamiento primario se debe desplazar para dejar
espacio a una pgina entrante (Ah71).
Principio de Optimalidad: Para obtener un rendimiento ptimo, la pgina que se
debe reemplazar es aquella que tardar ms tiempo en ser utilizada. Esta
estrategia ptima de reemplazo se denomina OPT o MIN.
Reemplazo de Pginas aleatorio: Es una tcnica sencilla. Todas las pginas que se
encuentran en el almacenamiento principal tienen la misma probabilidad de ser
elegidas para el reemplazo. Esta estrategia podra seleccionar cualquier pgina
para ser reemplazada, incluyendo la siguiente pgina la que se har referencia.
Las decisiones de reemplazo aleatorio se de pginas se pueden tomar rpidamente
y con un nmero significativo de marcos de pgina. Es un esquema que casi no se
utiliza por su enfoque aleatorio de acertar o errar.
Reemplazo de pginas de primeras entradas-primeras salidas (PEPS): Cada pgina
se registra en el instante que entr en el almacenamiento primario. Cuando se
necesita reemplazar una pgina, se escoge la que ha permanecido en el
almacenamiento durante el mayor tiempo.
Anomalas PEPS: Belady, Nelson y Shelder descubrieron que al utilizar el
reemplazo de pginas PEPS, ciertos patrones de referencia a pgina originan ms
fallas de pginas cuando aumenta el nmero de marcos de pgina asignados a un
proceso. Este fenmeno se denomina Anomala PEPS o anomala Belady. La
columna de la izquierda indica el patrn de referencias a pginas de un proceso. La
primera tabla muestra como dicho patrn a referencia de pginas hace que las
pginas se carguen a memoria y se reemplacen en secuencia PEPS cuando se
asignan tres marcos de pginas a proceso. La segunda tabla muestra como se
comporta ste proceso en las mismas circunstancias, pero con cuatro marcos de
pginas asignados, a la izquierda de cada tabla se indica si la nueva referencia a
una pgina ocasiona o no una falla de pagina. Cuando el proceso se ejecuta en
cuatro pginas, experimenta una falla de pgina ms que cuando se ejecuta con
tres.
Reemplazo de pginas de la menos reciente utilizada: Se selecciona para su
reemplazo, a aquella pgina que no se ha sido utilizada durante mayor tiempo. La
estrategia se basa en que la heurstica de localidad segn en el cual el pasado
reciente es un buen indicador del futuro cercano, de modo que LRU exige que se
marque cada pgina con el instante en que .se hace referencia a ella. Por el
trabajo adicional que requiere no se usa a menudo en los sistemas actuales; lo que
se hace es utilizar estrategias que ese aproximen a la LRU y que no ocasionen
grandes costos.
Reemplazo de pginas de la menos frecuentemente utilizada (LFU): La pgina por
remplazar es aquella que ha sido utilizada menos frecuentemente o a la que se ha
hecho referencia con menos frecuencia.
Al parecer estos esquemas de reemplazo de pginas corren cierto riesgo de tomar
decisiones equivocadas. Esto sucede por el simple hecho de que no se puede
predecir con precisin el futuro.
Reemplazo de pginas de la no utilizada recientemente (NUR): Como es deseable
reemplazar una pgina que no estaba en el almacenamiento primario, la estrategia
NUR se lleva a la prctica con la adicin dedos bits de hardware por pgina. Esos
bits son:
Bit de Referencia = O si no se ha hecho referencia a la pgina
= 1 se ha hecho regencia a la pgina,
Bit de Modificacin = O si la pgina no ha sido modificada
= 1 si la pgina ha sido modificada.
El bit de modificacin se denomina a menudo Bit sucio. La estrategia NUR trabaja:
Inicialmente, los bits de referencias de todas las pginas valen cero. Cuando
ocurre una referencia a una pgina, su bit de referencia toma el nmero uno.
Cuando se va a reemplazar una pgina a la que no se ha hecho referencia .Si una
pgina no ha sido objeto de una referencia se comprueba si ha sido modificada. Si
lo ha sido se reemplaza. Pues requiere menos trabajo que el reemplazo de una
pgina modificada, la cual debe escribirse en el almacenamiento secundario. De
otro modo hay que reemplazar una pgina modificada.
Los bits de referencia de las pginas activas cambiarn a 1 casi de inmediato.
Segn se ha descrito el esquema NUR origina la existencia de cuatro grupos de
pginas:
Grupo 1 sin referencia no modificado
Grupo 2 sin referencia modificado
Grupo 3 con referencia no modificado
Grupo 4 con referencia modificado
Las pginas de los dos primeros grupos se reemplazarn primero, y las de los
ltimos grupos, al final. Las pginas de un grupo se seleccionan aleatoriamente
para ser reemplazadas. Obsrvese que el grupo 2 parece describir una situaci6n
irreal en la que las pginas han sido modificadas, pero no se ha hecho referencia a
ellas; sin embargo, esto es una consecuencia simple de la reiniciacin peridica de
los bits de referencia (pero no de los bits de modificaci6n) y es perfectamente
razonable.
Modificaciones de PEPS; reemplazo de pginas por reloj y reemplazo de pginas
con segunda oportunidad: La estrategia PEPS puede decidir reemplazar una pgina
muy utilizada que ha permanecido en memoria durante mucho tiempo. Esta
posibilidad se puede evitar reemplazando slo aquellas pginas cuyos bits de
referencia valgan O.
La variante de PEPS denominada "con segunde oportunidad examina el bit de
referencia de la pgina ms antigua; si este bit vale O, se selecciona de inmediato
la pgina para ser reemplazada. Si el bit de referencia vale 1, se le asigna el valor
O y la pgina se pasa al final de la lista y se considera en esencia como una pgina
nueva; gradualmente dicha pgina se desplaza hacia el principio de la lista, donde
ser seleccionada para reemplazo slo si su bit de referencia sigue valiendo O. En
esencia, esto da a la pgina una segunda oportunidad de permanecer en el
almacenamiento principal si su bit de referencia cambia a 1 antes de que la pgina
llegue al principio de la lista. La variacin `z del reloj del algoritmo de la segunda
oportunidad dispone las pginas en una lista circular, en lugar de en una lista
lineal. Un apuntador a la lista se desplaza alrededor de la lista circular en la misma
forma que gira la manecilla de un reloj. Cuando el bit de referencia de una pgina
toma el valor O, el apuntador se mueve al siguiente elemento de la lista
(simulando el movirl1iento de esta pgina al final de la lista PEPS).








Paginacion Por Demanda

Un sistema de paginacin por demanda es similar a un sistema de paginacin con
intercambios. Los procesos residen en memoria secundaria (en el disco). Cuando
queremos ejecutar un proceso, lo metemos en memoria. Sin embargo, en vez de
intercambiar todo el proceso hacia la memoria, utilizamos un intercambiador
perezoso. Un intercambiador perezoso nunca reincorpora una pgina a memoria a
menos que se necesite. Como ahora consideramos un proceso como una secuencia
de pginas, en vez de un gran espacio contiguo de direcciones, el trmino
intercambio es tcnicamente incorrecto. Un intercambiador manipula procesos
enteros, mientras que un paginador trata con las pginas individualmente de un
proceso.
Cuando un proceso se reincorpora, el paginador lleva a memoria las pginas
necesarias. As evita colocar en la memoria pginas que no se utilizarn,
reduciendo el tiempo de intercambio y la cantidad de memoria fsica necesaria.
Este esquema requiere apoyo del hardware. Generalmente se aade un bit ms a
cada entrada de la tabla de pginas: un bit vlido-invlido. Cuando este bit est
asignado como vlido, indica que la pgina asociada se encuentra en memoria. Si
el bit est como invlido, este valor indica que la pgina est en disco. Una pgina
marcada como invlida no tendr ningn efecto si el proceso nunca intenta
acceder a esa pgina.
Pero qu sucede si el proceso trata de usar una pgina que no se incorpor a la
memoria? Si adivinamos mal y el proceso trata de acceder a una pgina que no se
trajo a memoria, ocurrir una trampa de fallo de pgina. El hardware de
paginacin, al traducir la direccin mediante la tabla de pginas, observar que el
valor del bit es invlido, generando una trampa para el sistema operativo (error de
direccin no vlido). Normalmente, un error de direccin no vlida es consecuencia
de intentar utilizar una direccin de memoria ilegal; en este caso, el proceso
deber terminar. Sin embargo, en esta situacin la trampa es el resultado del fallo
de pgina del sistema operativo al no transferir a memoria una parte vlida del
proceso, tratando de minimizar el tiempo adicional de transferencia de disco y los
requisitos de memoria. Por tanto, debemos corregir esta omisin.




Paginacion Anticipada

























Liberacion De Pagina
3.4.5.- Liberacin de Pgina
Un proceso usuario puede emitir una "liberacin voluntaria de pgina para liberar
el marco de pgina cuando ya no necesitara esa pgina. Se puede eliminar el
"desperdicio y acelerar la ejecucin.
El inconveniente es que la incorporacin de mandatos de liberacin de pginas
dentro de los programas de usuarios puede ser peligroso y retrasar el desarrollo
de aplicaciones.
"Los compiladores y S. O. deberan detectar automticamente situaciones de
liberacin de pgina mucho antes de lo que es posible con estrategias de
conjuntos de trabajo.
Estrategias de reemplazo de pginas
Menos frecuentemente utilizada (LFU)
- Se reemplaza la pgina a la que se ha hecho referencia con menos frecuencia.
No utilizada recientemente (NUR)
- Las pginas no utilizadas recientemente, es poco probable que sean
referenciadas en un futuro cercano. Por ello se las elige para el reemplazo.










Tamao De Pagina


























unldad 4 admlnlsLraclon de enLrada v sallda
Administracion De Entrada Salida
El subsistema de administracin de E/S controla todas las entradas y salidas del
sistema informtico. Para la seguridad, las tareas ms importantes que lleva a
cabo el subsistema de administracin de E/S son:
1.- administrar la transferencia de datos.
2.- aplicar los controles de acceso (los mecanismos DAC) a los datos mientras se
estn transfiriendo.
Durante la transferencia de bloques o secuencias de datos, y durante la operacin
de E/S de caracteres, cada transaccin de E/S est completamente separada de
las dems. Esta transaccin sigue una ruta bien conocida y definida; por tanto, la
integridad de todos los datos se mantiene durante las transacciones con datos.
Adems, se imponen los permisos DAC, que protegen los datos contra accesos no
autorizados.














Dispositivos Y Manejadores De
Dispositivos
Todos los dispositivos de E/S se pueden agrupar en tres grandes grupos:
- Dispositivos de interfaz de usuario. Se llama as a los dispositivos que permiten
la comunicacin entre los usuarios y la computadora. Dentro de este grupo se
incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario,
tanto para entrada (ratn, teclado, etc.) como para salida (impresoras, pantalla,
etc.). Existen perifricos menos habituales, pero ms sofisticados, tales como un
escner, lectores de huella digital, lectores de cinta magntica, instrumentos
musicales digitales (MIDI), etc.
- Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no
voltil de datos y memoria. Su funcin primordial es abastecer de datos y
almacenamiento a los programas que se ejecutan en la UCP. Segn su capacidad y
la inmediatez con que se puede acceder a los datos almacenados en estos
dispositivos, se pueden dividir en almacenamiento secundario (discos y disquetes)
y terciario (cintas)
- Dispositivos de comunicaciones. Permiten conectar a la computadora con otras
computadoras a travs de una red. Los dos tipos de dispositivos ms importantes
de esta clase son los mdem, para comunicacin va red telefnica, y las tarjetas
de interfaz a la red, para conectar la computadora a una red de rea local.
El sistema de E/S es la parte del sistema operativo que se ocupa de facilitar el
manejo de los dispositivos de E/S ofreciendo una visin lgica simplificada de los
mismos que pueda ser usada por otros componentes del sistema operativo (como
el sistema de archivos) o incluso por el usuario. Mediante esta visin lgica se
ofrece a los usuarios un mecanismo de abstraccin que oculta todos los detalles
relacionados con los dispositivos fsicos, as como del funcionamiento real de los
mismos. El sistema operativo debe controlar el funcionamiento de todos los
dispositivos de E/S para alcanzar los siguientes objetivos:
- Facilitar el manejo de los dispositivos de E/S. Para ello debe ofrecer una interfaz
entre los dispositivos y el resto del sistema que sea sencilla y fcil de utilizar.
- Optimizar la E/S del sistema, proporcionando mecanismos de incremento de
prestaciones donde sea necesario.
- Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de
dispositivo fsico sin que sea necesario remodelar el sistema de E/S del sistema
operativo.
- Permitir la conexin de dispositivos nuevos de E/S, solventando de forma
automtica su instalacin usando mecanismos del tipo plug&play.
Conexin de un dispositivo de E/S a una computadora En la siguiente figura se
muestra el esquema general de conexin de perifricos a una computadora. En el
modelo de un perifrico se distinguen dos elementos:
- Perifricos o dispositivos de E/S. Elementos que se conectan a la unidad central
de proceso a travs de las unidades de entrada/salida. Son el componente
mecnico que se conecta a la computadora.
- Controladores de dispositivos o unidades de E/S. Se encargan de hacer la
transferencia de informacin entre la memoria principal y los perifricos. Son el
componente electrnico a travs del cual se conecta el dispositivo de E/S. Tienen
una conexin al bus de la computadora y otra para el dispositivo (generalmente
mediante cables internos o externos).
Para empezar una operacin de E/S, la UCP tiene que escribir sobre los registros
anteriores los datos de la operacin a travs de una direccin de E/S o de memoria
asignada nicamente al controlador. Segn se haga de una u otra forma, se
distingue entre dispositivos conectados por puertos o proyectados en memoria. El
modelo de dispositivos por puertos es clsico en las arquitecturas de Intel. En
ellas, cuando se instala un dispositivo, a su controlador se le asigna un puerto de
E/S, una interrupcin hardware y un vector de interrupcin. Para efectuar una
operacin de E/S la UCP ejecuta operaciones por o portout con la direccin de
puerto del dispositivo y con parmetros para indicar qu registro se quiere
manipular. Todas las operaciones de entrada/salida (pantalla grfica, impresoras,
ratn, discos, etc.) se realizan usando esas dos instrucciones de lenguaje mquina
con los parmetros adecuados. El problema de este tipo de direccionamiento es
que exige conocer las direcciones de E/S y programar las instrucciones especiales
de E/S, lo que es significativamente distinto del modelo de memoria de la
computadora. El otro modelo de direccionamiento de E/S es el modelo proyectado
en memoria. Este modelo, tpico de las arquitecturas de Motorola, asigna a cada
dispositivo de E/S un rango de direcciones de memoria a travs de las cuales se
escribe sobre los registros del controlador. En este modelo no hay instrucciones
especficas de E/S, sino que las operaciones se llevan a cabo mediante
instrucciones mquina de manejo de memoria, lo que permite gestionar un mapa
nico de direcciones de memoria. Sin embargo, para no tener conflictos con otros
accesos a memoria y para optimizar las operaciones, se reserva una zona de
memoria fsica para asignar las direcciones de E/S.
Los dispositivos de almacenamiento secundario y terciario manejan la informacin
en unidades de tamao fijo, denominadas bloques, por lo que a su vez se
denominan dispositivos de bloques. Estos bloques se pueden direccionar de
manera independiente, lo que permite leer o escribir un bloque con independencia
de los dems. Los dispositivos de bloque lo son porque el hardware fuerza la
existencia de accesos de un tamao determinado. Un disco, por ejemplo, se divide
en sectores de 512 bytes o de 1 KB, siendo un sector la unidad mnima de
transferencia que el controlador del disco puede manejar. Los dispositivos de
caracteres, como los terminales, impresoras, tarjetas de red, mdems, etctera,
no almacenan informacin en bloques de tamao fijo. Gestionan flujos de
caracteres de forma lineal y sin ningn tipo de estructura de bloque. Un teclado es
un buen ejemplo de estos dispositivos. Est conectado a una UART (Universal
Asvnchronous Receiver/Transmiter) que recibe un carcter del teclado cada vez
que se pulsa una tecla. No es posible leer un bloque de teclas de un golpe o buscar
dentro del dispositivo por ninguna unidad. Un terminal por lnea serie tambin es
un dispositivo de caracteres. Su controlador se limita a enviar al perifrico el flujo
de caracteres que debe representar en la pantalla y a recibir del mismo los
caracteres tecleados por el usuario.
Un controlador de dispositivo (llamado normalmente controlador, o, en ingls,
driver) es un programa informtico que permite al sistema operativo interactuar
con un perifrico, haciendo una abstraccin del hardware y proporcionando una
interfaz -posiblemente estandarizada- para usarlo. Se puede esquematizar como
un manual de instrucciones que le indica cmo debe controlar y comunicarse con
un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se
podra usar el hardware.
Existen tantos tipos de controladores como tipos de perifricos, y es frecuente
encontrar ms de un controlador posible para el mismo dispositivo, cada uno
ofreciendo un nivel distinto de funcionalidades. Por ejemplo, aparte de los oficiales
(normalmente disponibles en la pgina web del fabricante), se pueden encontrar
tambin los proporcionados por el sistema operativo, o tambin versiones no
oficiales hechas por terceros. Estos controladores pueden ser genricos (vlidos
para ms de un modelo del mismo perifrico) o especficos para cada modelo.
Tambin se distribuyen actualizaciones a nuevas versiones, que pueden dar un
mejor funcionamiento. Normalmente son los fabricantes del hardware quienes
escriben sus controladores, ya que conocen mejor el funcionamiento interno de
cada aparato, pero tambin se encuentran controladores libres, por ejemplo en los
sistemas operativos libres. En este caso, los creadores no son de la empresa
fabricante, aunque a veces hay una cooperacin con ellos, cosa que facilita el
desarrollo. Si no la hay, el procedimiento necesita de ingeniera inversa y otros
mtodos difciles o con riesgos legales.
Los controladores son muy variados, casi tanto como los dispositivos de E/S.
Muchos de ellos, como los de disco, pueden controlar mltiples dispositivos. Otros,
como los de canales de E/S, incluyen su propia UCP y bus para controlar la E/S por
programa y evitar interrupciones en la UCP de la computadora. De cualquier
forma, en los ltimos aos ha existido un esfuerzo importante de estandarizacin
de los dispositivos, lo que permite usar un mismo controlador para dispositivos de
distintos fabricantes. Un buen ejemplo lo constituyen los dispositivos SCSI (Srna
Il? Computer Svstern interftice), cuyos controladores ofrecen una interfaz comn
independientemente de que se trate de un disco, una cinta, un CD-ROM, etc. Otro
buen ejemplo son los controladores IDE (In tegrated Drive Electronics), que suelen
usarse para conectar los discos en todas las computadoras personales. En
cualquier caso, y sea como sea el controlador, su misin es convertir los datos del
formato interno del dispositivo a uno externo que se ofrezca a travs de una
interfaz de programacin bien definida. Los controladores de dispositivo se suelen
agrupar en alguna de las siguientes categoras o clases:
- Adaptadores de audio (tarjetas de sonido).
- Dispositivos de comunicacin (infrarrojos, mdems, etc).
- Dispositivos de visualizacin; pantallas (displays).
- Teclados.
- Ratn ("mouse y otros sealadores grficos).
- Dispositivos multimedia.
- Dispositivos de Red.
- Impresoras.
- Almacenamiento




Mecanismos Funciones Manejadores
Dispositivos

El controlador es el componente ms importante desde el punto de vista del
sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la
computadora y es el componente que se ve desde la UCP. El S. O. generalmente
trabaja con el controlador y no con el dispositivo. Los modelos ms frecuentes de
comunicacin entre la cpu y los controladores son: -Para la mayora de las micro y
mini computadoras: Modelo de bus del sistema. -Para la mayora de los
mainframes: Modelo de varios buses y computadoras especializadas en e/s
llamadas canales de e/s. La interfaz entre el controlador y el dispositivo es con
frecuencia de muy bajo nivel: -La comunicacin es mediante un flujo de bits en
serie que: Comienza con un prembulo. Sigue con una serie de bits (de un sector
de disco, por ej.). Concluye con una suma para verificacin o un cdigo corrector
de errores. -El prembulo: Se escribe al dar formato al disco. Contiene el nmero
de cilindro y sector, el tamao de sector y otros datos similares. El controlador
debe: -Convertir el flujo de bits en serie en un bloque de bytes. -Efectuar cualquier
correccin de errores necesaria. -Copiar el bloque en la memoria principal. Cada
controlador posee registros que utiliza para comunicarse con la cpu: -Pueden ser
parte del espacio normal de direcciones de la memoria: e/s mapeada a memoria. -
Pueden utilizar un espacio de direcciones especial para la e/s, asignando a cada
controlador una parte de l. El S. O. realiza la e/s al escribir comandos en los
registros de los controladores; los parmetros de los comandos tambin se cargan
en los registros de los controladores. Al aceptar el comando, la cpu puede dejar al
controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador
provoca una interrupcin para permitir que el S. O.: -Obtenga el control de la cpu.
-Verifique los resultados de la operacin. La cpu obtiene los resultados y el estado
del dispositivo al leer uno o ms bytes de informacin de los registros del
controlador.
Su programacin se lleva a cabo mediante una interfaz de muy bajo nivel que
proporciona acceso a una serie de registros del controlador, incluidos en el mapa
de E/S de la computadora, que se pueden acceder mediante instrucciones de
mquina de E/S. Hay tres registros importantes en casi todos los controladores:
registro de datos, estado y control. El registro de datos sirve para el intercambio
de datos. En l ir el controlador cargando los datos ledos y de l ir extrayendo
los datos para su escritura en el perifrico. Un bit del registro de estado sirve para
indicar que el controlador puede transferir una palabra. En las operaciones de
lectura esto significa que ha cargado en el registro de datos un nuevo valor,
mientras que en las de escritura significa que necesita un nuevo dato. Otros bits
de este registro sirven para que el controlador indique los problemas que ha
encontrado en la ejecucin de la ltima operacin de E/S. El registro de control
sirve para indicarle al controlador las operaciones que ha de realizar. Los distintos
bits de este registro indican distintas acciones que ha de realizar el perifrico. Para
empezar una operacin de E/S, la UCP tiene que escribir sobre los registros
anteriores los datos de la operacin a travs de una direccin de E/S o de memoria
asignada nicamente al controlador. Este modelo vale tanto para los terminales o
la pantalla como para los discos. Las caractersticas del controlador son muy
importantes, ya que definen el aspecto del perifrico para el sistema operativo.
Atendiendo a las caractersticas del hardware de los dispositivos, se pueden
observar los siguientes aspectos distintivos: - Direccin de E/S. En general hay
dos modelos de direccionamiento de E/S, los que usan puertos y los que proyectan
los registros en memoria. - Unidad de transferencia. Los dispositivos suelen usar
unidades de transferencia de tamao fijo. Hay dos modelos clsicos de
dispositivos: de caracteres y de bloques. - Interaccin computadora-controlador.
La computadora tiene que interaccionar con la computadora para realizar las
operaciones de E/S y saber cundo terminan.
Un controlador de dispositivo o unidad de E/S se encarga de controlar uno o ms
dispositivos del mismo tipo y de intercambiar informacin entre ellos y la memoria
principal o unidad central de proceso de la computadora. El controlador debe
encargarse adems de sincronizar la velocidad del procesador con la del perifrico
y de detectar los posibles errores que se produzcan en el acceso a los perifricos.
En el caso de un controlador de disco, ste debe encargarse de convertir un flujo
de bits procedente del disco a un bloque de bytes detectando y corrigiendo, si es
posible, los errores que se produzcan en esta transferencia. Una vez obtenido el
bloque y comprobado que se encuentra libre de errores, deber encargarse de
transferirlo a memoria principal. La informacin entre los controladores de
dispositivo y la unidad central de proceso o memoria principal se puede transferir
mediante un programa que ejecuta continuamente y lee o escribe los datos del (al)
controlador. Con esta tcnica, que se denomina E/S programada, la transferencia
de informacin entre un perifrico y el procesador se realiza mediante la ejecucin
de una instruccin de E/S. Con esta tcnica, es el procesador el responsable de
extraer o enviar datos entre el procesador y el controlador de dispositivo, lo que
provoca que el procesador tenga que esperar mientras se realiza la transferencia
entre el perifrico y el controlador. Dado que los perifricos son sensiblemente
ms lentos que el procesador, ste deber esperar una gran cantidad de tiempo
hasta que se complete la operacin de E/S. En este caso no existe ningn tipo de
concurrencia entre la E/S y el procesador ya que ste debe esperar a que finalice
la operacin. Aunque esta tcnica es muy antigua, ya que proviene del tiempo en
que los controladores no tenan interrupciones, actualmente los canales de E/S y
algunos multiprocesadores usan esta tcnica para evitar que lleguen a la UCP de la
computadora muchas interrupciones de E/S. En ambos casos, la tcnica es la
misma: dedicar una UCP especial para la E/S. La forma de hacerlo es muestrear
continuamente los registros de estado de los controladores para ver si estn
disponibles y, en ese caso, leer o escribir los registros. Imagine un canal de E/S al
que hay conectados mltiples buses de E/S que, a su vez, tienen mltiples
dispositivos de E/S. Si la UCP quiere escribir en uno de ellos, debe mirar su
registro de estado hasta que los bits indiquen que no est ocupado. Cuando esto
ocurra, escribir un bloque en los registros del controlador y esperar hasta que
los bits de estado indiquen que est disponible. Imagine que quiere leer de otro
controlador, deber esperar a que los bits de estado le indiquen que est
disponible, programar la operacin y esperar a que se indique que los datos estn
disponibles. Evidentemente, incluso aunque la UCP est controlando varios
dispositivos de E/S, siempre existe prdida de ciclos debido a la existencia de las
esperas. Sin embargo, existen situaciones en que esto no es as.
Hay que recalcar que el controlador al ser una parte crtica del sistema operativo,
el fallo de un controlador puede ser ms grave que otros errores de software,
pudiendo bloquear el ordenador o incluso daar el hardware. Debido a que el
hardware es (necesariamente) indeterminista, encontrar y solucionar un fallo en
un controlador es una tarea complicada ya que no slo hay que monitorizar el
programa, sino tambin el propio dispositivo.














Estructuras De Datos Para Manejo De
Dispositivos

Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo.
Cuando un proceso solicita una operacin de E/S, el sistema operativo prepara
dicha operacin y bloquea al proceso hasta que se recibe una interrupcin del
controlador del dispositivo indicando que la operacin est completa. Las
peticiones se procesan de forma estructurada en las siguientes capas:
- Manejadores de interrupcin.
- Manejadores de dispositivos o drivers.
-Software de EIS independiente de los dispositivos. Este software est formado
por la parte de alto nivel de los manejadores, el gestor de cache, el gestor de
bloques y el servidor de archivos.
- Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de
usuario.
El sistema operativo estructura el software de gestin de E/S de esta forma para
ofrecer a los usuarios una serie de servicios de E/S independientes de los
dispositivos. Esta independencia implica que deben emplearse los mismos servicios
y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-
ROM o de un teclado.
Manejadores de interrupcin
Los manejadores de interrupcin se encargan de tratar las interrupciones que
generan los controla dores de dispositivos una vez que stos estn listos para la
transferencia de datos o bien han ledo o escrito los datos de memoria principal en
caso de acceso directo a memoria. Para tratar dicha interrupcin se ejecuta el
correspondiente manejador de interrupcin cuyo efecto es el de salvar los
registros, comunicar el evento al manejador del dispositivo y restaurar la ejecucin
de un proceso (que no tiene por qu ser el interrumpido).
Los manejadores de interrupcin suelen hacer algo ms que comunicar el evento
al manejador de dispositivo. Cuando una interrupcin ocurre muy frecuentemente,
caso del reloj, o cuando la cantidad de informacin a transferir es muy pequea,
caso del teclado, sera muy costoso comunicar siempre el evento al manejador de
dispositivo asociado. En estos casos, el propio manejador de interrupcin registra
la ocurrencia del evento, bien mediante el incremento de una variable global para
el reloj o la acumulacin de caracteres en un buffer del teclado. La notificacin al
manejador se hace nicamente cada cierto nmero de ocurrencias del evento, en
el caso del reloj, o activando unflag que indica que hay datos en el buffer del
teclado.
Manejadores de dispositivos
Cada dispositivo de E/S, o cada clase de dispositivos, tiene un manejador asociado
en el sistema operativo.
Dicho manejador incluye: cdigo independiente del dispositivo para proporcionar al
nivel superior del sistema operativo una interfaz de alto nivel y el cdigo
dependiente del dispositivo necesario para programar el controlador del dispositivo
a travs de sus registros y datos. La tarea de un manejador de dispositivo es
aceptar peticiones en formato abstracto, de la parte del cdigo de E/S
independiente del dispositivo, traducir dichas peticiones a trminos que entienda el
controlador, enviar al mismo las rdenes adecuadas en la secuencia correcta y
esperar a que se cumplan. La siguiente figura muestra un diagrama de flujo con
las operaciones de un manejador.
Todos los manejadores tienen una lista de peticiones pendientes por dispositivo
donde se encolan las peticiones que llegan de niveles superiores. El manejador
explora la lista de peticiones, extrae una peticin pendiente y ordena su ejecucin.
La poltica de extraccin de peticiones de la lista es dependiente de manejador y
puede ser FIFO. Una vez enviada la peticin al controlador, el manejador se
bloquea o no, dependiendo de la velocidad del dispositivo. Para los lentos (discos)
se bloquea esperando una interrupcin. Para los rpidos (pantalla, discos RAM,
etctera) responde inmediatamente. Despus de recibir el fin de operacin,
controla la existencia de errores y devuelve al nivel superior el estado de
terminacin de la operacin. Si tiene operaciones pendientes en la cola de
peticiones, atiende a la siguiente, en caso de que le toque ejecutar despus de la
operacin de E/S. En caso contrario se bloquea.
Software de E/S independiente del dispositivo
La mayor parte del sistema de E/S es software independiente de dispositivo. Este
nivel incluye el sistema de archivos y el de gestin de red, el gestor de bloques, la
cache de bloques y una parte de los manejadores de dispositivo. La principal
funcin de esta capa de software es ejecutar las funciones de E/S que son
comunes a todos los dispositivos a travs de una interfaz uniforme.
Internamente, en este nivel se proporciona acceso a nivel de bloques o caracteres,
almacenamiento intermedio, gestin de los dispositivos, planificacin de la E/S y
control de errores.
El tamao de acceso a nivel de bloques se hace usando tamaos de bloque de
acceso comunes para todo un sistema de archivos, lo que permite ocultar que cada
dispositivo puede tener distinto tamao de sector y distinta geometra. Estos
detalles quedan ocultos por la capa de software in dependiente de dispositivo que
ofrece una interfaz sobre la base de bloques lgicos del sistema de archivos. Lo
mismo ocurre con los dispositivos de caracteres, algunos de los cuales trabajan
con un carcter cada vez, como el teclado, mientras otros trabajan con flujos de
caracteres, como el modem o las redes.
Para optimizar la E/S y para armonizar las peticiones de usuario, que pueden ser
de cualquier tamao, con los bloques que maneja el sistema de archivos, el
software de E/S proporciona almacenamiento intermedio en memoria del sistema
operativo. Esta facilidad se usa para tres cosas:
- Optimizar la E/S evitando accesos a los dispositivos.
- Ocultar las diferencias de velocidad con que cada dispositivo y usuario manejan
los datos.
- Facilitar la implementacin de la semntica de comparticin, al existir una copia
nica de los datos en memoria.
El sistema de E/S mantiene buffers en distintos componentes. Por ejemplo, en la
parte del manejador del teclado independiente del dispositivo existe un buffer para
almacenar los caracteres que teclea el usuario hasta que se pueden entregar a los
niveles superiores. Si se usa una lnea serie para leer datos de un sistema remoto
y almacenarlos en el disco, se puede usar un buffer para guardar temporalmente
los datos hasta que tengan una cierta entidad y sea rentable escribirlos a disco. Si
se est leyendo o escribiendo un archivo, se guardan copias de los bloques en
memoria para no tener que acceder al disco si se vuelven a leer.
La gestin de los dispositivos agrupa a su vez tres servicios: nombrado, proteccin
y control de acceso.
El nombrado permite traducir los nombres de usuario a identificadores del sistema.
Por ejemplo, en UNIX, cada dispositivo tiene un nombre (p. ej.: /dev/cdrom) que
se traduce en un nico identificador interno (o nodo-i), que a su vez se traduce en
un nico nmero de dispositivo principal (clase de dispositivo) y secundario
(elemento de la clase). Cada dispositivo tiene asociada una informacin de
proteccin (en UNIX mediante 3 bits para dueo, grupo y mundo) y este nivel de
software asegura que los requisitos de proteccin se cumplen. Adems proporciona
control de acceso para que un dispositivo dedicado, como una impresora, sea
accedido por un nico usuario cada vez.
Una de las funciones principales del sistema de E/S es la planificacin de la E/S de
los distintos componentes. Para ello se usan colas de peticiones para cada clase de
dispositivo, de las que se extraen las peticiones de cada dispositivo en particular.
Cada una de estas colas se ordena siguiendo una poltica de planificacin, que
puede ser distinta en cada nivel. Imagine el caso de LINUX, donde existe una cola
global de peticiones de E/S, ordenadas en orden FIFO, para los discos instalados.
Cuando un manejador de disco queda libre, busca la cola global para ver si hay
peticiones para l y, si existen, las traslada a su cola de peticiones particular
ordenadas segn la poltica SCAN, por ejemplo. Este mecanismo permite optimizar
la E/S al conceder a cada mecanismo la importancia que, ajuicio de los
diseadores del sistema operativo, se merece. En el caso de Windows NT, por
ejemplo, el ratn es el dispositivo de E/S ms prioritario del sistema. La razn que
hay detrs de esta poltica es conseguir un sistema muy interactivo. En otros
sistemas, como UNIX, las operaciones de disco son ms prioritarias que las del
ratn para poder desbloquear rpidamente a los procesos que esperan por la E/S.
Sea cual sea el criterio de planificacin, todos los sistemas de E/S planifican las
actividades en varios lugares.
Por ltimo, este nivel proporciona gestin de errores para aquellos casos que el
manejador de dispositivo no puede solucionar. Un error transitorio de lectura de un
bloque se resuelve en el manejador reintentando su lectura. Un error permanente
de lectura no puede ser resuelto y debe ser comunicado al usuario para que tome
las medidas adecuadas. En general, todos los sistemas operativos incluyen alguna
forma de control de errores internos y de notificacin al exterior en caso de que
esos errores no se puedan resolver. Imagine, por ejemplo, que una aplicacin
quiere leer de un dispositivo que no existe. El sistema de E/S ver que el
dispositivo no est y lo notificar a los niveles superiores hasta que el error llegue
a la aplicacin. Sin embargo, es importante resaltar que los sistemas operativos
son cada vez ms robustos y cada vez incluyen ms control y reparacin de
errores, para lo cual usan mtodos de paridad, checksums, cdigos correctores de
error, etc. Adems, la informacin que proporcionan cuando hay un error es cada
vez mayor.



Operaciones De Entrada Salida

Tanto en la E/S programada como la basada en interrupciones, la UCP debe
encargarse de la transferencia de datos una vez que sabe que hay datos
disponibles en el controlador. Una mejora importante para incrementar la
concurrencia entre la UCP y la E/S consiste en que el controlador del dispositivo se
pueda encargar de efectuar la transferencia de datos, liberando de este trabajo a
la UCP, e interrumpir a la UCP slo cuando haya terminado la operacin completa
de EIS. Esta tcnica se denomina acceso directo a memoria (DMA, Direct Memory
Access).
Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga
directamente de transferir los datos entre el perifrico y la memoria principal, sin
requerir intervencin alguna por parte del procesador. Esta tcnica funciona de la
siguiente manera: cuando el procesador desea que se imprima un bloque de datos,
enva una orden al controlador indicndole la siguiente informacin:
O Tipo de operacin: lectura o escritura.
O Perifrico involucrado en la operacin.
O La direccin de memoria desde la que se va a leer o a la que va a escribir
directamente con el controlador de dispositivo (direccin).
O El nmero de bytes a transferir (contador).
Donde el campo Operacin corresponde al cdigo de operacin de las instrucciones
mquina normales. Especifica la operacin que debe realizar la CCW. La unidad de
control decodifica este campo y enva las seales adecuadas de control al
dispositivo. Existen varias operaciones, las ms importantes son las siguientes:
Lectura: el canal transfiere a memoria principal un bloque de palabras de tamao
especificado en el campo n de palabras, en orden ascendente de direcciones,
empezando en la direccin especificada en el campo direccin del dato.
Escritura: el canal transfiere datos de memoria principal al dispositivo. Las
palabras se transfieren en el mismo orden que en la operacin de lectura.
Control: se utiliza esta orden para enviar instrucciones especficas al dispositivo de
E/S, como rebobinar una cinta magntica, etc.
Bifurcacin: cumple en el programa de canal la misma funcin que una instruccin
de salto en un programa normal. El canal ejecuta las CCW en secuencia, salvo
cuando aparece una CCW de este tipo, que utiliza el campo direccin del dato
como la direccin de la siguiente CCW a ejecutar.
Flags: Los bits de este campo indican lo siguiente:
CC (Encadenamiento de comando): cuando este bit est a 1, indica al canal que la
siguiente CCW especifica una nueva operacin de E/S que debe realizarse con el
mismo dispositivo. El canal ejecuta primero la operacin de E/S especificada en la
CCW que tiene a 1 el flag CC. Despus ejecuta la siguiente sobre el mismo
dispositivo. Desde el punto de vista del dispositivo, las dos operaciones resultantes
de la primera y segunda CCW aparecen como dos comandos de E/S separados.
CD (Encadenamiento de datos): una CCW con el bit CD a 1, indica al canal que la
siguiente CCW contiene una nueva direccin del dato y un nuevo n de palabras.
stos deben utilizarse para transferir un segundo bloque de datos hacia o desde el
dispositivo de E/S, mediante la orden especificada por la CCW actual. Cuando el
canal termina la transferencia de datos especificada en la CCW con el bit CD a 1,
no corta la conexin con el dispositivo de E/S, contina la transferencia utilizando
la direccin y el n de palabras de la siguiente CCW.
SKIP (Salto): este bit, cuando est a 1, hace que el programa de canal salte un
nmero de palabras igual al especificado en el campo n de palabras. Cuando se
utiliza con la orden de lectura, este flag hace que los datos se lean del dispositivo
sin que se transfieran a la memoria principal.
PCI (Interrupcin controlada por programa): el canal produce una interrupcin
cuando ejecuta una CCW con el flag PCI a 1. Si esta CCW va precedida por otra
CCW con encadenamiento de comandos, la interrupcin se genera despus de que
hayan concluido todas las transferencias de datos.
Una vez emitida la orden, el procesador contina realizando otro trabajo sin
necesidad de transferir el bloque de datos. Es el propio controlador el que se
encarga de transferir el bloque de datos del perifrico a memoria. La transferencia
se realiza palabra a palabra. Cuando el controlador ha completado la transferencia,
genera una interrupcin que activa la rutina de tratamiento correspondiente, de tal
manera que se sepa que la operacin ha concluido.
Utilizando acceso directo a memoria el procesador nicamente se ve involucrado al
inicio y al final de la transferencia. Por tanto, cuando el sistema operativo
despierta al proceso que pidi la E/S, no tiene que copiar el bloque a memoria
porque ya est all. El DMA requiere una etapa de almacenamiento intermedio en
el controlador del dispositivo para armonizar la velocidad del dispositivo de EIS con
la copia de los datos en memoria principal. La razn para este almacenamiento
intermedio reside en que una vez que el dispositivo empieza la transferencia de
datos, sta debe hacerse a velocidad constante para evitar transferencias parciales
y nuevas esperas de posicionamiento del dispositivo sobre los datos (latencia).
Una vez transferidos los datos a la memoria del controlador, ste los copia en
memoria principal aprovechando el ancho de banda libre del bus.
Los pasos a seguir en una operacin de E/S con DMA son los siguientes:
1. Programacin de la operacin de E/S. Se indica al controlador la operacin, los
datos a transferir y la direccin de memoria sobre la que se efectuar la operacin.
2. El controlador contesta aceptando la peticin de E/S.
3. El controlador le ordena al dispositivo que lea (para operacin de lectura) una
cierta cantidad de datos desde una posicin determinada del dispositivo a su
memoria interna. 7.3.
4. Cuando los datos estn listos, el controlador los copia a la posicin de memoria
que tiene en sus registros, incrementa dicha posicin de memoria y decrementa el
contador de datospendientes de transferir.
5. Los pasos 3 y 4 se repiten hasta que no quedan ms datos por leer.
6. Cuando el registro de contador est a cero, el controlador interrumpe a la UCP
para in dicar que la operacin de DMA ha terminado.
Inicio y control de los programas de canal
Hemos visto como se utilizan los programas de canal para realizar operaciones de
E/S. Estos programas residen en la memoria principal del computador y se
ejecutan en el canal. Vamos a examinar ahora la forma en que la CPU inicia y
supervisa las operaciones de E/S, es decir, el programa de canal. En el IBM S/370
existen cuatro instrucciones mquina que la CPU puede utilizar para estos fines.
Son las siguientes:
START I/O Inicia una operacin de E/S. El campo de direccin de la instruccin
seemplea para especificar el canal y el dispositivo de E/S que participa en la
operacin.
HALT I/O Finaliza la operacin del canal.
TEST CHANNEL Prueba el estado del canal.
TEST I/O Prueba el estado del canal, el subcanal y el dispositivo de E/S.
Una operacin de E/S se inicia con la instruccin START I/O. La ubicacin del
programa de canal en la memoria principal viene definida en la palabra de
direccin de canal (CAW: Channel A ddress word), que siempre est almacenada
en la posicin 72 de la memoria principal.





















Unidad 5 Sistemade Archivos Concepto
En computacin, un sistema de archivos es un mtodo para el almacenamiento y
organizacin de archivos de computadora y los datos que estos contienen, para
hacer ms fcil la tarea encontrarlos y accederlos. Los sistemas de archivos son
usados en dispositivos de almacenamiento como discos duros y CD-ROM e
involucran el mantenimiento de la localizacin fsica de los archivos.
Ms formalmente, un sistema de archivos es un conjunto de tipo de datos
abstractos que son implementados para el almacenamiento, la organizacin
jerrquica, la manipulacin, el acceso, el direccionamiento y la recuperacin de
datos. Los sistemas de archivos comparten mucho en comn con la tecnologa de
las bases de datos.
En general, los sistemas operativos tienen su propio sistema de archivos. En ellos,
los sistemas de archivos pueden ser representados de forma textual (ej.: el shell
de DOS) o grficamente (ej.: Explorador de archivos en Windows) utilizando un
gestor de archivos.
El software del sistema de archivos se encarga de organizar los archivos (que
suelen estar segmentados fsicamente en pequeos bloques de pocos bytes) y
directorios, manteniendo un registro de qu bloques pertenecen a qu archivos,
qu bloques no se han utilizado y las direcciones fsicas de cada bloque.
Los sistemas de archivos pueden ser clasificados en tres categoras: sistemas de
archivo de disco, sistemas de archivos de red y sistemas de archivos de propsito
especial.
Ejemplos de sistemas de archivos son: FAT, UMSDOS, NTFS, UDF, ext2, ext3,
ext4, Reiser FS?, XFS, etc.
Y el termino de wikipedia
Los sistemas de archivos (filesystem en ingls), estructuran la informacin
guardada en una unidad de almacenamiento (normalmente un disco duro de una
computadora), que luego ser representada ya sea textual o grficamente
utilizando un gestor de archivos. La mayora de los sistemas operativos poseen su
propio sistema de archivos.
Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el
acceso a los datos como una cadena de bloques de un mismo tamao, a veces
llamados sectores, usualmente de 512 bytes de longitud. El software del sistema
de archivos es responsable de la organizacin de estos sectores en archivos y
directorios y mantiene un registro de qu sectores pertenecen a qu archivos y
cules no han sido utilizados. En la prctica, un sistema de archivos tambin
puede ser utilizado para acceder a datos generados dinmicamente, como los
recibidos a travs de una conexin de red (sin la intervencin de un dispositivo de
almacenamiento).
Los sistemas de archivos tradicionales proveen mtodos para crear, mover,
renombrar y eliminar tanto archivos como directorios, pero carecen de mtodos
para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro
en Unix) o renombrar enlaces padres (".. en Unix).
El acceso seguro a sistemas de archivos bsicos puede estar basado en los
esquemas de lista de control de acceso o capacidades. Las listas de control de
acceso hace dcadas que demostraron ser inseguras, por lo que los sistemas
operativos experimentales utilizan el acceso por capacidades. Los sistemas
operativos comerciales an funcionan con listas de control de acceso.
















Nocion Archivo Real Y Virtual

La mayora de usuarios de computadoras comprendern con mucha facilidad el
trmino archivo relacionndolo directamente con ejemplos tales como los archivos
de texto que se pueden generar con cualquier procesador de texto. Una
caracterstica de este tipo de archivos es que a mayor texto que almacena el
archivo, mayor es el espacio en disco que consume dicho archivo. Por ejemplo,
una lnea corta de texto ocupa menos espacio en disco que esa misma lnea
copiada cien veces. Sin embargo al hablar de "archivos virtualeslas cosas son
diferentes, pues este tipo de archivos no consumen espacio en el disco duro, sino
que se almacenan en la memoria voltil, es decir la aquel tipo de memoria cuya
informacin se pierde al interrumpirse el flujo de corriente elctrica, esto es, la
memoria RAM.

















Componentes Sistema De Archivos

Los componentes del sistema de archivos y de programacin permiten interactuar
con los recursos del sistema de archivos y de directorio y provocar eventos en
intervalos programados. Las instancias del componente File System Watcher
permiten inspeccionar cambios en los directorios y archivos y reaccionar cuando se
producen. El componente Timer permite configurar programaciones simples de
produccin de eventos y ejecutar el procesamiento asociado.




















Organizacion Logica Y Fisica Sistema De
Archivos
En esta parte vamos a usar el trmino organizacin de archivos para referirnos a
la estructura lgica de los registros determinada por la manera en que se accede a
ellos. La organizacin fsica del archivo en almacenamiento secundario depende de
la estrategia de agrupacin y de la estrategia de asignacin de archivos.
Para seleccionar una organizacin de archivos hay diversos criterios que son
importantes:
O Acceso Rpido para recuperar la informacin
Fcil actualizacin
Economa de almacenamiento
Mantenimiento simple
Fiabilidad para asegurar la confianza de los datos

O Acceso Rpido para recuperar la informacin


O Fcil actualizacin
O Economa de almacenamiento
O Mantenimiento simple
O Fiabilidad para asegurar la confianza de los datos
p> >>>>>>> La prioridad relativa de estos criterios va a depender de las
aplicaciones que va a usar el archivo. El nmero de alternativas de organizacin de
archivos que se han implementado o propuesto es inmanejable, incluso para un
libro dedicado a los sistemas de archivos. La mayor parte de las estructuras
empleadas en los sistemas reales se encuadran en una de estas categoras o
puede implementarse como una combinacin de estas:








Mecanismos De Acceso a Los Archivos

Tipos:
Metodo de Acceso Secuencial: El acceso secuencial significa que un grupo de
elementos es accedido en un predeterminado orden secuencial. El acceso
secuencial es a veces la nica forma de acceder a los datos, por ejemplo en una
cinta de cassette. Tambin puede ser el mtodo de acceso elegido, para
simplemente procesar una secuencia de datos en orden. Fuente
Metodo de Acceso Secuencial Indexado: Mtodo de acceso secuencial
indexado. Mtodo comn de acceso a disco que almacena datos en forma
secuencial, al tiempo que mantiene un ndice de campos claves para todos los
registros en el archivo para acceso directo. El orden secuencial sera el ms
comnmente usado para el procesamiento por lotes y la impresin (nmero de
cuenta, nombre, etc.).
Metodo de Acceso Indexado: Los archivos secuenciales indexados retienen la
limitacin del archivo secuencial: la eficacia en el procesamiento se limita al
basado en un nico campo del archivo. Cuando es necesario buscar un registro
basndose en algn otro atributo distinto del campo clave ambas formas de
archivo secuencial no son adecuadas. En algunas aplicaciones esta flexibilidad es
deseable. Para alcanzar esta flexibilidad, se necesita una estructura que utilice
mltiples ndices, uno para cada tipo de campo que pueda ser objeto de la
bsqueda.
Se suelen utilizar dos tipos de ndices. Un ndice exhaustivo contiene una entrada
para cada registro del archivo principal. Otro ndice parcial contendr entradas a
los registros donde este el campo de inters. Con registros de longitud variable,
algunos registros no contendrn todos los campos.
Los archivos indexados son muy utilizados en aplicaciones donde es critica la
oportunidad de la informacin y donde los datos son rara vez procesados de forma
exhaustiva.
Metodo de Acceso Hashed: Pendiente la definicion.
Otras Definiciones Creo Mas Mejores y Exactas ya que se Refiere al
Sistema de Archivos.
Fuente Bibliografica
Archivos Secuenciales
La forma mas comn de estructura de archivo es el archivo secuencial. En este
tipo de archivo, un formato fijo es usado para los registros. Todos los registros
tienen el mismo tamao, constan del mismo numero de campos de tamao fijo en
un orden particular. Como se conocen la longitud y la posicin de cada campo,
solamente los valores de los campos se necesitan almacenarse; el nombre del
campo y longitud de cada campo son atributos de la estructura de archivos.
Un campo particular, generalmente el primero de cada registro se conoce como el
campo clave. El campo clave identifica unvocamente al registro. as, los valores de
la clave para registros diferentes son siempre diferentes.
Los archivos secuenciales son tpicamente utilizados en aplicaciones de proceso de
lotes Y son ptimos para dichas aplicaciones si se procesan todos los registros. La
organizacin secuencias de archivos es la nica que es fcil de usar tanto en disco
como en cinta.
Para las aplicaciones interactivas que incluyen peticione s o actualizaciones de
registros individuales, los archivos secuenciales ofrecen un rendimiento pobre.
Normalmente un archivo secuencial se almacena en bloques, en un orden
secuencial simple de los registros. La organizacin fsica del archivo en una cinta o
disco se corresponde exactamente con la ubicacin lgica del archivo. En este
caso, el procedimiento para ubicar los nuevos registros en un archivo de pila
separado, llamado archivo de registro (log file) o archivo de transacciones.
Peridicamente, se realiza una actualizacin por lotes que mezcla el archivo de
registro con el archivo maestro para producir un nuevo archivo en secuencia
correcta de claves.
Archivos Secuenciales indexados
Un mtodo popular para superar las desventajas de los archivos secuenciales es el
del archivo secuencias indexado. El archivo secuencial indexado mantiene las
caracteristicas bsicas de los archivos secuenciales: los registros estn
organizados en una secuencia basada en un campo. Dos caractersticas se aaden:
un ndice del archivo para soportar los accesos aleatorios y un archivo de
desbordamiento ( overflow ). El indice provee una capacidad de bsqueda para
llegar rapidamente a las proximidades de un registro deseado. El archivo de
desbordamiento (overflow) es similar al archivo de registro usado en un archivo
secuencial, pero esta intregrado de forma que los registros del archivo de
desbordamiento se ubican en la direccin de un puntero desde si registro
precedente. En la estructura secuencial indexada mas simple, se usa un solo nivel
de indexacion. El indice, en este caso, es un archivo secuencial simple. Cada
registro del archivo indice tiene dos campos: un campo clave, que es el mismo que
el campo clave del archivo principal y un puntero al archivo principal. Para
encontrar un campo especifico se busca en el indice hasta encontrar el valor mayor
de la clave que es igual o precede al valor deseado de la clave. La busqueda
continua en el archivo principal a partir de la posicin indicada por el puntero.
Archivos Indexados
Los archivos secuenciales indexados retienen la limitacin del archivo secuencial:
la eficacia en el procesamiento se limita al basado en un nico campo del archivo.
Cuando es necesario buscar un registro basndose en algn otro atributo distinto
del campo clave ambas formas de archivo secuencial no son adecuadas. En
algunas aplicaciones esta flexibilidad es deseable.
Para alcanzar esta flexibilidad, se necesita una estructura que utilice mltiples
ndices, uno para cada tipo de campo que pueda ser objeto de la bsqueda.
Se suelen utilizar dos tipos de ndices. Uno indice exhaustivo contiene una entrada
par cada registro del archivo principal. Otro ndice parcial contendr entradas a los
registros donde este el campo de inters. Con registros de longitud variable,
algunos registros no contendran todos los campos.
Los archivos indexados son muy utilizados en aplicaciones donde es critica la
oportunidad de la informacion y donde los datos son rara vez procesados de forma
exhaustiva.
Archivos Directos o de Dispersin (Hashed)
Los archivos directos explotan la capacidad de los discos para acceder
directamente a cualquier bloque de direccin conocida. Como en los archivos
secuenciales y secuenciales indexados, se requiere un campo clave en cada
registro. Sin embargo, aqu no hay concepto de ordenamiento secuencial.





Manejo Espacio Memoria Secundaria
5.6.- MANEJO DE ESPACIO EN MEMORIA SECUNDARIA.
El sistema de archivos se ocupa primordialmente de administrar el espacio de
almacenamiento secundario, sobre todo el espacio en disco. El manejo del espacio
libre en disco se lleva a cabo de la siguiente manera:
Vector de bits
Lista ligada (lista libre)
Por conteo (agrupacin)
Vector de bits
El espacio libre en disco es frecuentemente implementado como un mapa de bits,
donde cada sector es representado por un bit y si el sector es libre el bit es cero de
lo contrario est asignado.
Lista ligada
Existe una cabecera en la que se tiene la direccin del primer sector vacio, ese
sector a su vez, tiene un apuntador al siguiente sector, y as sucesivamente hasta
que se encuentre una marca indicando que ya no hay espacio libre.
Por conteo
Aqu, por cada conjunto de sectores contiguos que estn vacios, se tiene por cada
apuntador, un nmero de inicio y el tamao del grupo de sectores vacios.
Mtodos de asignacin de espacio en disco
Un mtodo de asignacin de espacio en disco determina la manera en que un
Sistema Operativo controla los lugares del disco ocupados por cada archivo de
datos.
Contigua
Ligada
Indexada
Asignacin contigua
Este mtodo consiste en asignar el espacio en disco de tal manera que las
direcciones de todos los bloques correspondientes a un archivo definen un orden
lineal.
Asignacin ligada
En este mtodo, cada archivo es una lista ligada de bloques de disco. En el
directorio hay un apuntador al bloque de inicio y un apuntador al bloque final para
cada archivo. En cada uno de los bloques donde se encuentra un archivo hay un
apuntador al siguiente bloque de la lista.
Asignacin indexada
Cada archivo tiene su bloque ndice, El cual es un arreglo de direcciones de
bloques de disco. La i-sima entrada en el bloque ndice apunta al i-simo bloque
que conforma el archivo.


















Modelo Jerarquico Memoria Secundaria

























Mecanismos Recuperacion Caso De Falla
5.8.- MCANISMOS DE RECUPERACION EN CASO DE FALLAS.
Debido a que los archivos se mantienen tanto en memoria principal como en el
disco, debemos asegurarnos de que un fallo del sistema no de por resultado la
perdida de datos o inconsistencia en los mismos.
La destruccin de la informacin, ya sea accidental o intencional, es una realidad y
tiene distintas causas:
O Fallas de hardware y de software
O Fenmenos meteorolgicos atmosfricos
O Fallas en el suministro de energa
O Incendios e inundaciones
O Robos, vandalismo (incluso terrorismo)
Esta posible destruccin de la informacin debe ser tenida en cuenta por:
O Los sistemas operativos en general
O Los sistemas de archivos en particular
Una tcnica muy usada para asegurar la disponibilidad de los datos es realizar
respaldos peridicos:
1. Hacer con regularidad una o ms copias de los archivos y colocarlas en lugar
seguro
2. Todas las actualizaciones realizadas luego del ltimo respaldo pueden perderse
Otra tcnica es pasar todas las transacciones a un archivo, copindolas en otro
disco:
O Genera una redundancia que puede ser costosa
O En caso de fallas en el disco principal, puede reconstruirse todo el trabajo
perdido si el disco de reserva no se da tambin
Tambin existe la posibilidad del respaldo incremental:
O Durante una sesin de trabajo los archivos modificados quedan marcados.
O Cuando un usuario se retira del sistema (deja de trabajar), un proceso del
sistema efecta el respaldo de los archivos marcados.
Se debe tener presente que es muy difcil garantizar una seguridad absoluta de los
archivos.
El mtodo correcto de manejar fallos consiste bsicamente en detectarlos a tiempo
y de forma correcta. La inclusin de equipos de test en el sistema es esencial para
mantener esta capacidad de monitorizacin.
En cualquier caso, la cada total o parcial del sistema se puede subsanar en parte
si hay puntos de restauracin del sistema (chkpt). Esta posibilidad aumenta la
disponibilidad de recuperacin en caso de fallos.
Mecanismos de Proteccin
Dominios de Proteccin
Muchos objetos del sistema necesitan proteccin, tales como la cpu, segmentos de
memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de
datos, etc.
Cada objeto se referencia por un nombre y tiene habilitadas un conjunto de
operaciones sobre l.
Un dominio es un conjunto de parejas (objeto, derechos):
O Cada pareja determina:
o Un objeto.
o Un subconjunto de las operaciones que se pueden llevar a cabo en l.
Un derecho es el permiso para realizar alguna de las operaciones.
Es posible que un objeto se encuentre en varios dominios con "distintos derechos
en cada dominio.
Un proceso se ejecuta en alguno de los dominios de proteccin:
O Existe una coleccin de objetos a los que puede tener acceso.
O Cada objeto tiene cierto conjunto de derechos.
Los procesos pueden alternar entre los dominios durante la ejecucin.
Una llamada al S. O. provoca una alternancia de dominio.
En algunos S. O. los dominios se llaman anillos.
Una forma en la que el S. O. lleva un registro de los objetos que pertenecen a
cada dominio es mediante una matriz :
O Los renglones son los dominios.
O Las columnas son los objetos.
O Cada elemento de la matriz contiene los derechos correspondientes al
objeto en ese dominio, por ej.: leer, escribir, ejecutar.
Listas Para Control de Acceso
Las "matrices de proteccin son muy grandes y con muchos lugares vacos
Desperdician espacio de almacenamiento.
O Existen mtodos prcticos que almacenan solo los elementos no vacos por
filas o por columnas.
La lista de control de acceso (ACL: access control list):
O Asocia a cada objeto una lista ordenada con:
o Todos los dominios que pueden tener acceso al objeto.
o La forma de dicho acceso (ej: lectura , grabacin (w), ejecucin (x)).
Una forma de implementar las ACL consiste en:
O Asignar tres bits (r, w, x) para cada archivo, para:
o El propietario, el grupo del propietario y los dems usuarios.
O Permitir que el propietario de cada objeto pueda modificar su ACL en
cualquier momento:
o Permite prohibir accesos antes permitidos.
Posibilidades
La matriz de proteccin tambin puede dividirse por renglones
Se le asocia a cada proceso una lista de objetos a los cuales puede tener acceso.
O Se le indican las operaciones permitidas en cada uno.
O Esto define su dominio.
La lista de objetos se denomina lista de posibilidades y los elementos individuales
se llaman posibilidades. Cada posibilidad tiene:
O Un campo tipo:
o Indica el tipo del objeto.
O Un campo derechos:
o Mapa de bits que indica las operaciones bsicas permitidas en este tipo de
objeto.
O Un campo objeto:
o Apuntador al propio objeto (por ej.: su nmero de nodo-i).

Вам также может понравиться