Sssssss
En un sistema multiprogramado, la parte de “usuario” de la memoria debe subdividirse para hacer sitio a varios procesos. Esta tarea de subdivisión la lleva a cabo el sistema operativo y se conoce como gestión de memoria.
Requisitos de la gestión de memoria
Reubicación: Una vez que un programa se ha llevado al disco, seria limitante tener que colocarlo en la misma regiónde memoria. Por el contrario, podría ser necesario reubicar el proceso a un área de memoria diferente. El SO necesitara conocer la ubicación de la información de control del proceso y de la pila de ejecución. Debido a que el SO es responsable de traer el proceso a la memoria principal, estas direcciones son fáciles de adquirir. Las instrucciones de salto contienen una dirección para referenciar lainstrucción que se va a ejecutar a continuación.
El hardware del procesador y el software del SO deben poder traducir las referencias de memoria encontradas en el código del programa en direcciones de memoria físicas, que reflejan la ubicación actual del programa en la memoria principal.
Protección: Todos los procesos deben ser protegidos de indeseables interferencias accidentales ointencionales de otros procesos. Este mecanismo, dificulta la tarea de reubicación debido a que se deben chequear todas las posiciones de memoria al ubicar un proceso para mantener el sistema de protección. Todas las referencias de memoria generadas por un proceso deben ser chequeadas en tiempo de ejecución para estar seguro de que apuntan solo a la porción de memoria reservada para ese proceso.Compartición: Todos los mecanismos de protección deben ser un poco flexibles, ya que deben permitir que los procesos de un mismo programa que comparten una tarea tengan memoria en común. El mecanismo de protección debe permitir esto de una manera controlada.
Organización lógica: La memoria en una computadora es lineal, una sucesión de bytes. En cambio, los programas están construidos en módulos,en donde los datos pueden ser modificados. Si el S.O. y el hardware son capaces de trabajar con estos módulos, se pueden apreciar las siguientes ventajas:
Los módulos pueden escribirse y compilarse independientemente, mientras que el sistema resuelve durante la ejecución todas las referencias de un módulo a otro.
Pueden otorgarse varios grados de protección a los distintos módulos.
Sepuede introducir mecanismos de memoria compartida, así al usuario se le hace mucho más sencilla la construcción de aplicaciones.
Organización física: la organización del flujo de información entre la memoria principal y la secundaria es un a de las preocupaciones principales del sistema. La responsabilidad de este flujo podría asignarse a cada programador pero no es practicable por dos motivos:La memoria principal disponible para un programa mas sus datos podrían ser insuficientes.
El programador no conoce en tiempo de codificación cuanto espacio estará disponible o donde se localizara dicho espacio.
Particionamiento de la memoria
Particionamiento fijo: La memoria principal se divide en particiones estáticas en tiempo de generación del sistema. Un proceso se puede cargar en unapartición con igual o superior tamaño. Esta técnica es sencilla de implementar, tiene poca sobrecarga para el sistema operativo.
Particionamiento dinámico: consiste en particiones de memoria de tamaños variable, o sea, a cada proceso se le asigna la cantidad de memoria que necesita. En esta técnica no existe fragmentación interna lo que genera un uso mas eficiente de la memoria principal. Ladesventaja que tiene es el uso ineficiente del procesador, debido a la necesidad de compactación para evitar la fragmentación externa.
Paginacion
Los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas.
Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página.
De esta forma, la cantidad de memoria...
Regístrate para leer el documento completo.