Está en la página 1de 5

SISTEMAS OPERATIVOS – SEMANA 10  Reubicación: permite el recalculo de

MEMORIA PRINCIPAL direcciones de memoria de un proceso


 Memoria de la computadora donde se reubicado
almacena temporalmente tanto los datos  Protección: evita el acceso a posiciones de
como los programas que CPU está procesando memoria sin el permiso expreso
o va a procesar en un momento determinado.  Compartición: permite a procesos diferentes
 Por su función debe ser inseparable del CPU acceder a la misma posición de memoria
con quien se comunica a través del bus de  Organización lógica: permite que los
datos y de direcciones. El ancho del bus programas se escriban como módulos
determina la capacidad que posee el compilables y ejecutables por separado
microprocesador para el direccionamiento de  Organización física: permite el intercambio de
direcciones en memoria. datos en la MP Y MS
 Esta memoria es volátil, cuando se corta
energía se borra la información. ASPECTOS GENERALES
 MP es el núcleo del subsistema de memoria Espacio de Direcciones
de sistema informático, menor capacidad que Direcciones físicas: referencian alguna posición en
la memoria secundaria pero una velocidad la memoria física.
mayor. Direcciones lógicas: direcciones usadas por los
 Dentro de la RAM existe la memoria cache, procesos, el MMU las transforman el d. físicas
que es más rápida que las demás, permite que Direcciones lineales: se obtienen a partir de
el intercambio de información entre el CPU y direcciones lógicas tras haber aplicado
la MP sea a mayor velocidad. transformación depende de su arquitectura
MMU Funciones
ADMINISTRADOR DE MEMORIA  Convertir direcciones lógicas emitidas por
 Lleva un registro de las partes de la memoria procesos en direcciones físicas
que se están usando y la que no  Comprobar que la conversión se pueda
 Con el fin de asignar espacio de memoria a realizar (la dirección lógica podría no tener
procesos que lo necesiten y liberándola una dirección física asociada)
cuando estos terminen.  Comprobar que el proceso que intenta
 Administra el intercambio entre la MP y el acceder a una cierta dirección de memoria
disco en caso que la MP no pueda dar tiene permisos para ello
capacidad a todos los procesos que requieran MMU
de ella.  Se inicializa para cada proceso del sistema
 Esto permite que cada proceso pueda usar el
ASPECTOS GENERALES rango de completo de direcciones lógicas
M. REAL VS M. VIRTUAL  (memoria virtual)
 La memoria física es la memoria ram Traductor de Direcciones
 La memoria virtual es un espacio en el disco Unidad funcional que transforma direcciones
duro, que simula tener mas RAM virtuales en direcciones reales
 Ej -> la memoria cache (dándole Intercambio
almacenamiento a una pagina ya visitada es Proceso que intercambia el contenido de una zona
guardada y al querer volver a la página de almacenamiento principal con el contenido de
visitada el proceso es mucho más rápido) una zona de almacenamiento auxiliar
Objetivos del Gestor de Memoria Reubicación
 SO multiplexa recurso entre procesos Hecho de cargar y ejecutar un programa en una
 Gestión de procesos: Reparto de Procesador posición arbitraria de memoria, reubicación
 Gestor de memoria: Reparto de Memoria dinámica y estática
Objetivos
 Ofrece a cada proceso un espacio lógico REQUISITOS
 Proporciona protección entre procesos Organización Lógica
 Permite que los procesos comportan memoria  La memoria de un sistema informático se
 Maximiza el grado de multiprogramación organiza como un espacio de direcciones
lineales (secuencia de bits)
Requisitos para Gestionar la MP  La mayoría de programas se ejecutan en
módulos: modificables y no modificables
 Módulos
 Cada módulo puede escribirse y compilarse  Cuando el proceso se ha de subir nuevamente
independientemente en memoria principal puede ser colocado en
 Distintos grados de protección cualquier partición libre
 Mecanismos para compartir módulos  En este caso es necesario realizar una
 Reubicación por módulos reasignación de direcciones cada vez que se
Organización Física ejecute el programa
 La memoria del computador se organiza en
dos niveles: memoria principal y memoria CARGA DINÁMICA
secundaria. En otros se añade el cache  Todo el programa y los datos den estar en
 MP memoria física para la ejecución de este
Acceso rápido, costo relativamente alto  El tamaño de un proceso está limitado por su
 Volátil, no almacenamiento permanente memoria física
 MS  Para conseguir una mejor utilización del
Lenta y barata espacio de la memoria, podemos emplear la
No es volátil, almacenamiento al largo plazo carga dinámica
 El sistema ha de gestionar el flujo de procesos  Con la carga dinámica, una rutina no se carga
entre ellas hasta que es llamada
 Overlaying: el proceso de transferir un bloque Ventajas de la carga dinámica
de código de programa u otros datos a la  Una rutina que no es utilizada nunca se carga
memoria principal, reemplazando lo que ya  Es útil cuando es necesario grandes
está almacenado" cantidades de código para manejar cosas que
 En entornos multiproceso el programador no ocurren con poca frecuencia
conoce cuanto espacio habrá disponible o  En este caso, aun cuando el tamaño del
donde estará ese espacio programa puede ser grande, la porción que se
utiliza realmente puede ser más pequeña
REUBICACIÓN – CONCEPTOS  No requiere soporte especial por parte del SO
Dirección lógica
Referencia a una posición de memoria GESTIÓN DE MEMORIA
independiente se debe traducir a dirección física Fragmentación
Dirección relativa es la memoria que queda desperdiciada al usar los
Se expresa como una posición relativa a algún métodos de gestión de memoria.
punto conocido Fragmentación Interna
Dirección física  Provocada al no llenar la partición
Posición absoluta o real en la memoria principal  Generada por la diferencia entre el tamaño de
la partición y el módulo de un proceso
Direcciones Absolutas y Relativas Fragmentación Externa
 La mayoría de SO permite que los procesos de  Por mala gestión de espacio libre entre
usuarios residan en cualquier parte de la procesos. Espacios entre procesos
memoria principal  Provocado por el espacio muerto entre
 Las direcciones pueden representarse de procesos
diferentes formas
 Las direcciones de un programa fuente son VINCULACIÓN DE DIRECCIONES
normalmente simbólicas Asociación de direcciones
 El compilador se encarga de reasignar estas La vinculación de instrucciones y datos con
direcciones a direcciones relativas (ej-> 14 direcciones de memoria puede hacerse en cualquier
bytes) parte del recorrido
 El cargador se encargar de reasignar Tiempo de Compilación
direcciones relativas a direcciones absolutas Si sabemos en momento de compilación donde va a
(ej-> 74F1) residir el proceso en memoria puede hacerse uso de
Reubicación estática código absoluto, cuando se quiera cambiar su
Cuando un programa al ser bajado a memoria dirección se recompila el código.
auxiliar al ser cargado nuevamente ocupa el mismo Tiempo de Carga
lugar en memoria principal donde estaba al inicio, Si es que no conocemos en tiempo de compilación
cuando el área este ocupada espera para poder donde va a residir el proceso en memoria el
colocarse compilador genera código reubicable (direcciones
Reubicación dinámica relativas) entonces se retarda la reasignación
direcciones absolutas hasta el momento de carga, si  Busca resolver el diferencial de velocidad
deseamos cambiar su ubicación solamente volver a entre el CPU y la memoria
cargarlo.  Cuando ocurre una falla en el cache (no tiene
Tiempo de Ejecución copia de la dirección solicitada) es necesario
Si el proceso puede cambiar en tiempo de ejecución detener al CPU
su ubicación en memoria, es necesario retardar su Principio de localidad de referencia
asignación a direcciones absolutas hasta el Localidad Temporal
momento de ejecución, requiere soporte de Es probable que un recurso que fue utilizado
hardware recientemente vuelva a ser empleado en un futuro
cercano
SUPERPOSICIONES – OVERLAYS Localidad Espacial
 Técnica para que un proceso pueda ser mayor La probabilidad de que un recurso aun no requerido
que la cantidad de memoria asignada a e, se sea accesado es mucho mayor si fue requerido
usa superposiciones algún recurso cercano
 Consiste en mantener en memoria solo Localidad Secuencial
aquellas instrucciones, estas se cargan en el Un recurso y muy peculiarmente la memoria tiende
espacio que estaba ocupado por instrucciones a ser requerido de forma secuencial
que ya no se necesitan Dos principios sobre memoria
 La técnica consiste en que el programador  Menor cantidad, acceso más rápido
divide lógicamente un programa muy grande  Mayor cantidad, menor costo por byte
en secciones que puedan almacenarse en las 1. Registros
particiones de RAM 2. Cache 1
 La técnica es eficaz pero no era eficiente 3. Cache 2
 Resumiendo, con esta técnica se podían 4. Memoria Principal (DRAM)
ejecutar programas más grandes que las 5. Memoria Secundaria (Discos Duros)
particiones de Ram 6. Memorias Extraíbles

INTERCAMBIOS – SWAPPING ASIGNACIÓN DE MEMORIA CONTIGUA


 Un proceso debe estar en memoria principal  La memoria principal debe acomodar tanto el
para ser ejecutado SO como a los diversos procesos de usuario
 Sin embargo, los procesos pueden ser  Generalmente la memoria esta divida en 2
intercambiado temporalmente sacándolos de partes: una para el SO y otra para los procesos
memoria y llevando a disco y volviéndolos a de usuario. El SO puede colocarse en la
llevar a memoria para continuar su ejecución memoria alta o baja
 Al mecanismo de llevar un proceso de MP a  El principal factor que afecta esta decisión es
disco se le conoce como swap-out el vector de interrupciones, debido a que este
 Al inverso se le conoce como swap-in vector se sabe ubicar en la memoria baja es
 El mayor tiempo consumido en el swapping es más común colocar el SO en memoria alta
el de trasferencia  El SO es el responsable de asignar memoria
 El intercambio requiere de un almacén de principal a los procesos para que puedan ser
respaldo ejecutados
 Un modelo de memoria con asignación
JERARQUÍA DE MEMORIA continua todo el espacio lógico de un proceso
 La memoria secundaria trata de proveer una ha de estar ubicado de forma contigua en
gran cantidad de capacidad de memoria principal es decir en direcciones
almacenamiento (sacrificando velocidad) físicas contiguas
 Las caches no pueden almacenar un proceso  Cuando un proceso finaliza libera la memoria
en ejecución, pero aumentan notablemente la ocupada
velocidad del sistema informático  Mapa de proceso en zona contigua de
 Actualmente se usan dos niveles de cache memoria principal
 El de primer nivel esta integrada en el interior  Hardware requerido: Registros valla (Registro
up base limite)
 La de segundo nivel esta integrada en la palca
base que contiene a la CPU PARTICIONES FIJAS
 El manejo de cache es casi transparente para Esquemas de asignación de memoria
el SO  Contiguas: particiones fijas y variables
 Intercambio swapping  Consiste en arrastrar contenidos de la
 Paginación memoria a un lugar para reunir toda la
 Segmentación memoria libre en un bloque
 Segmentación Paginada Problemas
 La memoria esta divida de antemano en  Requiere reubicación dinámica
particiones  Consume recurso del sistema
 Un proceso necesita ejecutarse -> se le asigna  El sistema se detiene mientras se realiza
uno de dichas particiones no se puede hacer con frecuencia
 Cada partición puede contener un solo  Bloques de distintos tamaños están
proceso distribuidos en la memoria, cuando llega un
 Pueden ser: proceso se le asigna un hueco lo
 Fijas (todas del mismo tamaño) suficientemente grande
 Fijas (tamaños diferentes)  El SO debe tener información de
 La fragmentación ocurre porque los procesos  Particiones asignadas
no llenan por completo las particiones  Particiones libres
designadas o porque una partición se queda  Asignación de partición dinámicas
sin utilizar por ser demasiado pequeña para
contener otro proceso ESTRATEGIAS DE GESTIÓN DE ESPACIOS
 No siempre son la mejor forma de manejar la Primer Ajuste
RAM  Consiste en asignar el primer hueco con
 Cada proceso emplea una partición de la capacidad suficiente
memoria, pero por lo regular quedan espacios  La búsqueda puede inicia al inicio o al final del
sin ocupar dentro de la partición, estos conjunto de huecos o en donde termino la
espacios se desperdician y limitan la última búsqueda
productividad del equipo en general  La búsqueda termina al encontrar un hueco lo
Problemas en las particiones fijas suficientemente grande
 Uso de memoria principal ineficiente Mejor Ajuste
 Cualquier proceso, sin importar el tamaño  Busca asignar el espacio mas pequeño de los
ocupara una partición completa espacios con capacidad suficiente
Fragmentación  La búsqueda se debe realizar en toda la tabla
 Incapacidad del SO para asignar posiciones de a menos que la tabla esta ordenada por
memoria principal no utilizadas tamaño
 Dos tipos: interna y externa  Esta estrategia produce el menor desperdicio
de memoria posible
PARTICIONES VARIABLES Peor Ajuste
 Este hace particiones sobre el tamaño de los  Asigna el hueco más grande.
procesos  La búsqueda se debe realizar en toda la tabla
 Llega un espacio cuando lo necesite. No hay a menos que la tabla esta ordenada por
desperdicio pues la partición tiene el mismo tamaño
tamaño del trabajo  Esta estrategia produce los huecos de sobra
 La técnica de compactación traslada todas las más grandes
áreas ocupadas a algún extremo de la
memoria principal  Se ha demostrado mediante simulacros que le
 Esto deja un gran vacío único de primer ajuste y el mejor ajuste son mejores
almacenamiento libre en lugar de números que el peor ajuste en cuanto a minimizar el
vacíos pequeños tiempo de almacenamiento
 Esta partición es mucho más optima debido a  Ni el primer ajuste o el mejor ajuste es
que los bloques no son de tamaño regular sino claramente mejor en términos de uso de
de tamaño del proceso que lo solicita espacio, pero por lo general el primer ajuste
 Problemas en las particiones variables es más rápido
Fragmentación externa
Existe el espacio para satisfacer una petición, pero
no es contiguo
Compactación
 Técnica utilizada para reducir la
fragmentación externa

También podría gustarte