Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
5Activity
0 of .
Results for:
No results containing your search query
P. 1
Sistemas Operativos I - Tema 4

Sistemas Operativos I - Tema 4

Ratings:
(0)
|Views: 432|Likes:
Published by itisistemasuned

More info:

Published by: itisistemasuned on Oct 26, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/19/2010

pdf

text

original

 
Gestión de la memoria|
1
4. GESTIÓN DE LA MEMORIA
Si se pretende que los procesos estén preparados para su ejecución es necesario cargarlos enla memoria principal, ya que ningún proceso se puede activar antes de que se le asigne elespacio de memoria que requiere.La utilización de los recursos del sistema, y en general, del rendimiento del sistema va a estarcondicionado por la eficacia en la gestión de la memoria. Uno de los factores más importanteses la organización y gestión de la memoria principal.El ciclo típico de ejecución de una instrucción incluye las acciones siguientes:· Búsqueda de la instrucción en la memoria· Decodificación de la instrucción· Posible búsqueda de operandos en la memoria· Almacenamiento del resultado de la operación realizada
4.1 Sistemas elementales de gestión de la memoria 
El esquema de gestión más simple que se puede considerar es aquel que no tiene ningúngestor. El usuario tiene un control completo sobre el espacio total de memoria. Ventajas:1) Máxima flexibilidad para el usuario2) Máxima simplicidad y coste mínimo3) No es necesario disponer de un computador específico ni tan siquiera del SOEste sistema tiene sus limitaciones, ya que no da ningún servicio. El usuario tiene acceso atodos los recursos del computador, pero el SO no tiene control sobre las interrupciones, no hayun monitor residente para procesar las llamadas al sistema o para el tratamiento de errores.El siguiente esquema se obtiene al dividir la memoria en dos secciones: una para el procesodel usuario y otra para la parte del sistema operativo que debe de estar residente en memoria(monitor).En el MS-DOS para el PC de IBM, la memoria está dividida en tres zonas: la parte inferior, queestá destinada al SO; la parte central, dedicada al único programa de usuario y la partesuperior, en ROM, para los controladores de dispositivos (más conocido como BIOS).A partir de ahí se ha utilizado la multiprogramación, por varias razones:1) Facilitar la programación de una aplicación al dividirla en varios procesos2) Poder dar servicio interactivo a varios usuarios al mismo tiempo u optimizar eltiempo del procesador cuando un proceso está a la espera de una operación deE/S.
4.2 Gestión de la memoria con particiones fijas 
El tamaño de las particiones se puede fijar o bien con anterioridad a la ejecución de losprogramas de usuario o efectuarse dinámicamente en la fase de ejecución. La asignación dememoria con particiones fijas se denominó MFT (Multiprograming with a Fixed number ofTasks).La división de ésta se ha realizado con anterioridad a la ejecución de los programas de usuario,pudiendo hacerla el operador o administrador del sistema de forma manual, al iniciar unasesión con la máquina. El número y tamaño de las particiones se determinan teniendo encuenta:1) Capacidad de la memoria física disponible y el grado de multiprogramación (nº máximode procesos activos en el sistema)2) Tamaños típicos de los procesos ejecutados más frecuentemente
 
Gestión de la memoria|
2
4.2.1 Principio de operación 
a) Cuando llega una tarea, ésta se pone en una cola de tareasb) El planificador de tareas tiene en cuenta los requerimientos de memoria de cada unade ellas y las particiones de memoria disponiblec) Si una tarea tiene espacio disponible en memoria, se ubica en una partición, y puedecompetir por el uso de la CPUd) Cuando se termina una tarea, se libera la partición de memoria que ocupa, pudiendo elplanificador de tareas asignar esta partición a otra tarea de la cola de tareasHay diferentes tipos de organizaciones posibles para la asignación de memoria a las tareas,por ejemplo, clasificarlas todas según sus requerimientos de espacio. Así cada partición tendráuna cola de tareas y cada tarea se incluye en la cola de partición de memoria que mejor seadapta. La planificación de cada cola se hace por separado y, como cada cola tiene su propiapartición, no hay competencia entre las colas por la memoria.Otro tipo de organización consiste en mantener todas las tareas en una sola cola. Elplanificador selecciona la próxima tarea para ser ejecutada y espera hasta que se disponga deuna región de memoria del tamaño requerido.
4.2.2 Intercambio 
Otro esquema en el uso de la memoria. Hace referencia a las operaciones de eliminar de lamemoria principal procesos suspendidos, llevarlos al disco y cargar del disco a la memoriaprincipal procesos para su ejecución.Responsabilidades del
intercambiador 
:
-
Selección de los procesos que hay que eliminar de la memoria principal
-
Selección de los procesos que hay que cargar en la memoria principal
-
Asignación y gestión del espacio de intercambioLa
selección de los procesos
en la memoria principal que hay que intercambiar se haceentre aquellos que ocupan particiones suficientemente grandes para los procesos que se lesdebe asignar espacio en memoria, considerando:a)
Prioridad.
Son más aptos aquellos con baja prioridad.b)
Estado de espera.
Procesos que esperan sucesos lentos tienen mayor probabilidad de sersuspendidos durante un tiempo suficientemente grande.c)
Tiempo de permanencia en memoria.
Y si se ha ejecutado mientras ha estado enmemoria.La
elección de los procesos
que hay sin cargar en la memoria se basan en:1) Tiempo que ha permanecido en memoria secundaria2) Prioridad3) Satisfacción del tiempo mínimo de residencia en disco desde la descarga
4.2.3Archivo de intercambio 
Un proceso se prepara para su ejecución y se envía al SO en la forma de un archivo quecontiene un programa en versión ejecutable y sus correspondientes datos. Este archivo puedecontener atributos del proceso.Un proceso ejecutado parcialmente tiene una imagen en tiempo de ejecución diferente de lainicial almacenada en el disco. En general, la parte modificable del estado del proceso consisteen los contenidos de sus datos y posiciones de la pila, así como de los registros delprocesador. El contenido de una porción considerable (o el espacio de direcciones entero) sedebe copiar a disco durante el intercambio. Como la imagen del proceso estático se utiliza parala activación inicial, la imagen modificada en tiempo de ejecución no debe sobrescribir a laimagen del proceso estático sobre el disco.Hay dos opciones básicas para diseñar el archivo de intercambio:1) Un único archivo de intercambio para el sistema completo2) Diferentes archivos de intercambio dedicados a cada uno de los procesos
 
Gestión de la memoria|
3
El espacio de intercambio para cada proceso susceptible de poderse transferir estágeneralmente reservado, y asignado estáticamente en el momento de creación del proceso.Para un único archivo de intercambio, se crea un solo archivo, generalmente en el curso de lainicialización del sistema, para tratar los requerimientos de intercambio de todos los procesos.El archivo se suele situar en un disco rápido (para reducir tiempos de intercambio). El tamañodel archivo de intercambio afecta al número de procesos que están activos en el sistema. Unproceso se activa si se le puede reservar suficiente espacio de intercambio. Los fallos que seproducen al reservar el espacio de intercambio en el tiempo de creación del proceso puedenllevar a graves errores en tiempo de ejecución.La alternativa es tener archivos de intercambio dedicados a cada uno de los procesosintercambiables del sistema. Pueden ser creados dinámicamente en el tiempo de generacióndel proceso o estáticamente en el tiempo de preparación del programa. Ventajas: se elimina elproblema de dimensionamiento del archivo de intercambio y los errores de sobrepasar lacapacidad, no se impone restricción sobre el número de procesos activos. Desventajas:necesidad de más espacio de disco para intercambio, acceso más lento y direccionamientomás complicado.Los algoritmos para la gestión del espacio disponible en el archivo de intercambio son losmismos que los usados para la gestión de la memoria principal.
4.2.4 Reubicación y protección 
Al mantener diversas tareas activas aparecen dos problemas: la
reubicación 
y la
protección 
.
Reubicable: 
Posibilidad de cargar y ejecutar un programa dado en un lugar arbitrario dememoria. La solución al problema de la reubicación pasa por considerar dos tipos dereubicaciones:a)
Reubicación estática:
 Implica que ésta se realiza antes o durante la carga del programa en memoria, mediante unenlazador o cargador reubicable.b)
Reubicación dinámica:
Implica que la asignación del espacio de direcciones virtuales al espacio de direccionesfísicas se realiza en tiempo de ejecución, con ayuda de dispositivos físicos específicosdestinados a tal fin. Cuando el proceso se está ejecutando, todas sus referencias adirecciones de memoria se recalculan durante la ejecución de la instrucción antes deacceder a la memoria física. Esto se realiza mediante registros base especializados.Ventaja: Un programa se puede trasladar de una partición de memoria a otra mientras seencuentra en ejecución.En ambos esquemas queda por resolver el problema de la protección, ya que un programa deforma mal intencionada, puede construir una dirección física que se salga fuera de la particiónasignada. Una solución es considerar un
registro límite 
que se cargaría con la longitud de lapartición. Otro esquema de protección hardware es considerar
registros bordes 
para cadapartición, los cuales se cargan con las direcciones físicas de comienzo y final de la partición.
4.2.5 Selección del tamaño de la partición: fragmentación de la memoria 
La decisión inicial generalmente se basa en una suposición razonable de los requerimientos delos programas de entrada. Cuando el sistema está operando, se puede considerar lainformación sobre el número y tamaño de las tareas que se están ejecutando, para optimizar eltamaño de las particiones.La mayor dificultad con las particiones fijas es encontrar un buen compromiso entre lostamaños de las particiones y la memoria requerida por los trabajos.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->