Adjunto URL con la presentación de gestion de memoria
https://drive.google.com/file/d/0B71htTOSvDMeN0FYVVh0Z2lZVVE/view?usp=sharing
TercerCorte
martes, 26 de mayo de 2015
viernes, 22 de mayo de 2015
Particiones Fijas
Carga de Programas
MP
El SGM, incorpora los programas a la
memoria principal para su ejecución en el proceso, utilizando los métodos:
-Asignación Contigua.
-Asignación No Contigua
Asignación
Contigua: Para
la asignación de Espacio Contiguo, la técnica usada en los sistemas operativos
tradicionales; consiste en dividir el espacio de memoria disponible en:
-Particiones
Fijas o Estáticas.
-Particiones
Variables o Dinámicas.
Asignación
de Memoria: La
asignación de memoria consiste en la asignación de memoria para propósitos
específicos, ya sea en tiempo de compilación o tiempo de ejecución
Particiones Fijas
DEFINICIÓN:
Un
programa puede ser demasiado grande para caber en la partición. En este Caso ,
el programador debe diseñar el programa mediante superposiciones, para que sólo
una parte del programa esté en memoria principal
En las Particiones
de Igual Tamaño, si
todas las particiones estuvieran ocupadas con procesos que no están listos para
ejecutar y necesita cargarse un nuevo proceso, debe determinarse qué partición
expulsarse de memoria.
-El
tamaño de la partición se especifica al encender el sistema.
-Cada
partición se puede reconfigurar al volver a encender o reiniciar el sistema.
-Una
vez asignada una partición a una tarea, no se permitía que ninguna otra tarea
entrara en sus fronteras.
Este esquema de partición es mas
flexible que la de usuario único, pues permite que varios programas estén en
memoria al mismo tiempo
Asignación de Memoria con Particiones
Fijas
Asigna
memoria en tiempo de compilación antes de que el programa asociado sea
ejecutado
Una
aplicación de esta técnica conlleva a que un módulo de programa declare datos
estáticos de forma local, de forma que estos datos son inaccesibles desde otros
módulos a menos que se les pasen referenciados como parámetros o le sean
devueltos por la función
Particiones Dinámicas
DEFINICIÓN:
Consiste en particiones de memoria
de tamaño variable, es decir, a cada proceso se le asigna la cantidad de
memoria que necesita. Deben utilizarse algunos algoritmos para la ubicación de
procesos en las particiones
Algoritmos:
Mejor Ajuste(Best-fit):
Se
elige el bloque con el tamaño mas parecido al del proceso entrante.
Primer Ajuste(First-fit): Comienza
recorriendo la memoria desde el comienzo y escoge el primer bloque disponible
en el que entre el proceso entrante.
Siguiente Ajuste(Next.fit):
Recorre
la memoria desde el lugar de la ultima ubicación y elige el siguiente bloque
disponible que sea suficientemente grande.
Peor Ajuste(Worst-fit):
Elije
el Bloque mas grande posible.
Estrategia de la Partición
Solicitud: Por
Demanda.
Ubicación:
Primer
Ajuste: El
primer bloque disponible que ubique. (Parte del inicio).
Siguiente
Ajuste: El
siguiente bloque disponible que ubique. (Parte desde la Ubicación actual).
Mejor
Ajuste: El
bloque disponible que deje menor espacio libre.(Búsqueda exhaustiva).
Remplazo:
Uno de los procesos se saca según
el planificador.
En Cuanto a los Algoritmos…..
Primer Ajuste. Es bueno con baja compactación.
Puebla el inicio de la memoria.
Siguiente Ajuste. Puebla el final de la memoria, el
siguiente bloque libre esta al final de la memoria.
Mejor Ajuste. Tiene peores resultados, dado que
busca la partición que deje el hueco más pequeño, la memoria se llena de huecos
pequeños. Se compacta con mas frecuencia.
Conclusiones
Con Particiones Dinámicas surgen
dificultades como:
-Producto
de la entrada y salida de procesos en la memoria, se van generando porciones
cada vez más pequeñas de la memoria sin utilizar, lo que se conoce como fregmentación
externa.
-Para
solucionar el problema mencionado anteriormente, se debe recurrir a la
compactación de la memoria de manera de eliminar espacios (huecos) existentes
entre procesos. Esto significa que los procesos deben ser reubicados en memoria
en forma dinámica.
Algunas ventajas y desventajas
Ventajas:
-No
existe Fragmentación Interna
Desventajas:
-Existe
Fragmentación Externa. Se debe compactar la memoria. El compacto toma tiempo.
-
-El
uso de la memoria es muy ineficiente, se generan muchos huecos entre las
particiones, cada vez mas pequeñas, se genera la fragmentación externa.
-Cada
cierto tiempo se debe compactar los segmentos libres, para que estén contiguos.
Fuentes Bibliográficas
FUNCIÓN DE INTERCAMBIO
La necesidad de atender diferentes procesos en formas concurrente fomento el desarrollo de la función de intercambio.
FUNCIÓN DE INTERCAMBIO
Consiste
en extraer del procesador un proceso que está en ejecución haciendo un registro
del estado del proceso y guardándolo en memoria secundaria, para poder ser
retomado desde el punto hasta donde fue ejecutado.
Principales
consideraciones del Swapping
1.El estado en el que se encuentra el
proceso.
2.La prioridad del proceso.
3.El tamaño del programa.
4.El tiempo que lleva el programa en
memoria.
Algoritmo
de ubicación
Un
proceso que sale de memoria principal es ubicado en memoria secundaria en la
partición más pequeña que pueda albergarlo.
Un
proceso que estaba en memoria secundaria y sube a memoria principal puede
volver a la memoria secundaria en una posición diferente a la que se encontraba
alojado.
Es
el utilizado para decidir que proceso sale de memoria cuando llega un nuevo
proceso y no hay marcos de página libres.
Es
el encargado de determinar cuando se debe escribir en memoria secundaria una
pagina que ya ha sido modificada.
Segmentación Paginada
Conceptos
a tener en cuenta
La CPU programa al controlador de DMA, indicando las direcciones de memoria que deben emplear y el tipo de transferencia.
Cuando un periférico solicita transferencia de datos mediante DMA, el controlador se lo hace saber al procesador para que dé el visto bueno y acceda a la transferencia usando los buses del sistema.
nPaginación y segmentación son dos
técnicas diferentes.
n
nEl
espacio de direcciones se divide en segmentos, los cuales corresponden a una
rutina (procedimiento o función),un programa o un conjunto de datos, y contiene
todo aquello que corresponde con un sub-espacio de direcciones independientes.
nLa
Paginación es un espacio virtual de direcciones, su unidad de medición se
denomina pagina, todas las páginas son de un mismo tamaño donde a cada marco de
pagina se le asigna un proceso que no necesariamente debe ser contiguo para
generar proceso en memoria.
El controlador DMA
descarga las entradas y salidas de datos en periféricos rápidos, ya que el uso
de interrupciones se vuelve inadecuado en estos casos.
La CPU programa al controlador de DMA, indicando las direcciones de memoria que deben emplear y el tipo de transferencia.
Cuando un periférico solicita transferencia de datos mediante DMA, el controlador se lo hace saber al procesador para que dé el visto bueno y acceda a la transferencia usando los buses del sistema.
nDebido a que los espacios de
memorias son segmentados, se garantiza la facilidad de implantar la comparición y enlace.
n
nComo los espacios de memoria son
paginados, se simplifican las estrategias de almacenamiento
n
nSe elimina el problema de la
fragmentación externa y la necesidad de compactación.
nLas tres componentes de la
dirección y el proceso de formación de direcciones hace que se incremente el
costo de su implantación. El costo es mayor en el caso de segmentación puro o
paginación pura
n
nSe hace necesario mantener un
numero mayor de tablas en memoria, lo que implica un mayor costo de
almacenamiento
La
segmentación paginada intenta combinar lo mejor de los dos esquemas anteriores.
La segmentación proporciona soporte directo a las regiones del proceso y la
paginación permite un mejor aprovechamiento de la memoria y una base para
construir un esquema de memoria virtual.
con esta técnica un segmento esta formado por
un conjunto de paginas que se pueden usar y no tienen que estar contiguos en
memoria para su uso.
La MMU utiliza una tabla de segmentos, tal que
cada entrada de la tabla apunta a una tabla de paginas.
Los
segmentos son usualmente múltiplos de páginas en tamaño, y no es necesario que
todas las páginas se encuentren en memoria principal a la vez; además las
páginas de un mismo segmento, aunque se encuentren contiguas en memoria
virtual; no necesitan estarlo en memoria real.
El
direccionamiento es tridimensional con una dirección de almacenamiento virtual de tres componentes.
V=(S,P,D)
S =
Número Segmento
P =
Número Página
D =
Desplazamiento
nSMT (Tabla de mapas de segmentos):
Una para cada proceso. En cada entrada de la SMT se almacena la información
descrita bajo segmentación pura, pero en el campo de dirección se indicara la
dirección de la PMT que describe a las diferentes paginas de cada segmento.
nPMT (Tabla de mapas de paginas):Una
por cada segmento. Cada entrada de la PMT describe una pagina de un segmento;
en la forma que se presento la pagina pura.
nTBM (Tabla de bloques de memoria):
Para controlar asignación de paginas por parte del sistema operativo
nJT (Tabla de Jobs): Contiene las
direcciones de comienzo de cada una de las SMT de los procesos que se ejecutan
en memoria.
POLITICAS DE REUBICACION Y REEMPLAZO
Politica de Reubicacon
El alcance es local si los candidatos son de un solo proceso y global si procede de toda la memoria.
La re ubicación de un programa, se refiere a la capacidad de cargar y ejecutar un
programa determinado en una posición arbitraria de memoria, en contraposición a
un conjunto fijo de posiciones especificas durante la compilación de dicho
programa.
Las
instrucciones de un proceso cargado en memoria contendrán referencias a
posiciones de memoria de dos tipos.
Referencias a posición de memoria
Tipo 1. Referencias
a datos empleados en instrucciones de carga, almacenamiento y algunas
instrucciones aritmetico-logicas.
Tipo 2. Referencias
a otras instrucciones empleadas fundamentalmente en bifurcaciones de control de
flujo o en instrucciones de llamadas.
Tipos de Direcciones
Tipo 1. Una
dirección lógica o virtual es un identificador utilizado para referenciar
información dentro del espacio de direcciones de un programa y, por tanto, es
independiente de la asignación actual de datos a memoria, debiéndose realizar
una traducción a dirección física, antes de poder realizar un acceso a memoria.
Tipo 2. Una
dirección física o absoluta designa una posición real de memoria física, donde
se almacena información en tiempo de ejecución.
Tipos de Esquemas
Dependiendo
de como y cuando, tenga lugar la traduccion del
espacio de direcciones virtuales al espacio de direcciones fisicas,
en un esquema de reubicacion
determinado, pueden considerarse dos tipos de estrategias:
Tipo 1. Reubicación
estática.
Tipo 2. Reubicación
Dinámica.
Reubicacion Estatica
Implica
generalmente que la reubicación es realizada, antes o durante la carga del
proceso en memoria.
Las
constantes(valores literales), los desplazamientos relativos al PC, no dependen
de esta condición y no necesitan ser ajustados durante la reubicación.
Reubicacon Dinamica
Implica
que la correspondencia entre el espacio de direcciones virtuales y el espacio
de direcciones físicas se efectúan en tiempo de ejecución. Normalmente con
asistencia de hardware.
Cuando
el proceso en cuestión esta siendo ejecutado, todas sus referencias a memoria
son reubicadas durante la ejecución antes de acceder realmente a la memoria.
Politcas de Reemplazo
Cuando
todos los marcos de memoria principal están ocupados y es necesario traer a
memoria una nueva pagina para atender un fallo de pagina.
La
política se encarga de seleccionar la pagina a reemplazar de entre las que se
encuentren actualmente en memoria.
<
Política de Reemplazo
Algunos
de los marcos de memoria principal pueden estar bloqueados, cuando un marco se
encuentra bloqueado, la pagina cargada actualmente en el no puede ser
reemplazada.
La
mayoria
de nucleo del SO asi
como las estructuras de control son albergados en marcos bloqueados.
Política de Reloj
La forma mas simple de esta política
requiere asociar un bit adicional a cada marco, denominado bit de uso. Cuando
se cargue una pagina por primera vez, este bit se pone a 0 y cuando se hace
referencia posteriormente a la pagina el bit de uso se pone a 1. Para el
algoritmo de reemplazo de paginas, el conjunto de marcos candidatos a ser
reemplazado se considera como un buffer circular con un puntero asociado.
El alcance es local si los candidatos son de un solo proceso y global si procede de toda la memoria.
Cuando
llega el momento de reemplazar una pagina, el SO recorre el buffer buscando un
marco con el bit de uso a 0, eligiendo para reemplazar el primero que
encuentre. Cada vez que se encuentra un marco con el bit de uso a 1, se pone a
0.
Suscribirse a:
Entradas (Atom)