Академический Документы
Профессиональный Документы
Культура Документы
Asignatura:
SISTEMAS OPERATIVOS
Alumnos:
SAAVEDRA BAZN MIGUEL ANGEL
Docente:
DR. ING. JORGE GUTIRREZ GUTIRREZ
Resumen o Abstract
Se considera que conocer y manejar los procesos y lo que es en esencial
la administracin de Datos, es sumamente importante, como Informticos
debemos manejar totalmente esta informacin.
De esta forma se resalta que la operacin principal en la gestin de la
memoria es traer los procesos a la memoria principal para que el
procesador las pueda ejecutar.
Para esto, la gestin de memoria debe satisfacer los requisitos de
reubicacin; como el sistema operativo se encarga de gestionar la
memoria y traer el proceso a la memoria principal a travs de direcciones,
al ser cargado o ejecutado el proceso no adquiere la misma direccin,
por lo tanto es necesario reubicar las direcciones.
Con la ayuda del sistema operativo es fcil adquirirlas para localizar los
procesos presentes en memoria y proteccin; que es un requisito que se
encarga de regular que los procesos presentes en memoria no invadan o
violen el espacio en memoria de otros procesos ya sea de forma
accidental o por error.
La reubicacin dificulta un poco la proteccin, por esto las referencias de
memoria se deben confirmar o comprobar en tiempo de ejecucin para
asegurar que se refiere al espacio de memoria asignado a dicho proceso.
Introduccin
En la memoria fsica de un computador se encuentran el sistema operativo,
las rutinas de enlace dinmico y los programas de usuario. En los sistemas
operativos modernos la gestin de memoria resuelve aspectos como la carga
de programas y su ubicacin. Hay que definir la correspondencia entre las
direcciones lgicas del programa y su ubicacin fsica en memoria.
Adems La presencia simultnea de ms de un programa en memoria, y
tambin la posibilidad de cargar rutinas en tiempo de ejecucin, la comparticin
de espacios de memoria por varios programas, la ejecucin de programas que
no caben completos en memoria, la gestin eficiente del espacio de memoria
libre.
La memoria es uno de los recursos vitales del sistema que debemos
gestionar con precaucin. El modulo del sistema operativo que se encarga de la
gestin de la memoria es el administrador de la memoria. El gestor de memoria
asigna est a un proceso que la solicita y se la retira cuando acaba o cuando el
proceso esta temporalmente inactivo para dejar espacio a otros procesos.
En nuestro modelo de estudio, el mdulo de gestin de memoria es la capa
siguiente a la del procesador. Se ha podido notar que sin memoria los procesos
no pueden existir.
Por otra parte, la unidad de manejo de memoria, se dice que es un dispositivo
de Hardware el cual est formado por un grupo de circuitos integrados,
responsable del manejo de los accesos a la memoria por parte de la Unidad de
Procesamiento Central (CPU).
1. PARTICIONES
El sistema operativo es capaz de gestionar la coexistencia de varios programas en memoria asignando a
cada uno un espacio contiguo (particin). El particionado puede ser fijo o variable.
Como soporte hardware para proteccin requiere dos registros:
Es una tcnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones fsicas de
igual tamao, denominadas marcos de pgina. Los programas se dividen en unidades lgicas,
denominadas pginas, que tienen el mismo tamao que los marcos de pginas. De esta forma, se puede
cargar una pgina de informacin en cualquier marco de pgina.
Las pginas sirven como unidad de almacenamiento de informacin y de transferencia entre memoria
SISTEMAS OPERATIVOS
principal y memoria auxiliar o secundaria. Cada marco se identifica por la direccin de marco, que est en la
posicin fsica de la primera palabra en el marco de pgina.
Las pginas de un programa necesitan estar contiguamente en memoria, aunque el programador lo observe
de esta forma. Los mecanismos de paginacin permiten la correspondencia correcta entre las direcciones
virtuales (dadas por los programas) y las direcciones reales de la memoria que se reverencien.
Una direccin virtual a es equivalente a una direccin dada como una dupla (p, d), en la cual p es el nmero
de la pgina y d el nmero de la palabra dentro de la pgina, de acuerdo con la relacin:
a=p*z+d
p=(a/z)
(0<=d<z)
(parte entera de la division)
d=a mod z
En las maquinas que usan aritmtica binaria, el clculo de (p, d) es trivial, si z es potencia de 2. Por
ejemplo, si el campo de direcciones de la instruccin es de m bits (m>6), los cuatro bits ms significativos
indican el nmero de la pgina y los m-4 bits restantes, el desplazamiento.
Para tener el control de las pginas, debe mantenerse una tabla en memoria que se denomina tabla
de Mapas de Pagina (PMT) para cada uno de los procesos.
Hasta ahora, los mtodos que hemos visto de la administracin de la memoria principal, nos han dejado con
un problema: fragmentacin, (huecos en la memoria que no pueden usarse debido a lo pequeo de su
espacio) lo que nos provoca un desperdicio de memoria principal.
Una posible solucin para la fragmentacin externa es permitir que espacio de direcciones lgicas lleve a
cabo un proceso en direcciones no contiguas, as permitiendo al proceso ubicarse en cualquier espacio de
memoria fsica que est disponible, aunque est dividida.
SISTEMAS OPERATIVOS
Una forma de implementar esta solucin es a travs del uso de un esquema de paginacin. La paginacin
evita el considerable problema de ajustar los pedazos de memoria de tamaos variables que han sufrido los
esquemas de manejo de memoria anteriores. Dado a sus ventajas sobre los mtodos previos, la paginacin,
en sus diversas formas, es usada en muchos sistemas operativos.
Al utilizar la memoria virtual, las direcciones no pasan en forma directa al bus de memoria, sino que van a
una unidad administradora de la memoria (MMU Memory Management Unit). Estas direcciones generadas
por los programas se llaman direcciones virtuales y conforman el hueco de direcciones virtuales. Este hueco
se divide en unidades llamadas pginas. Las unidades correspondientes en la memoria fsica se llaman
marcos para pgina o frames. Las pginas y los frames tienen siempre el mismo tamao.
Cada pgina tiene un nmero que se utiliza como ndice en la tabla de pginas, lo que da por resultado el
nmero del marco correspondiente a esa pgina virtual. Si el bit presente / ausente es 0, se provoca un
sealamiento (trap) hacia el sistema operativo.
Si el bit es 1, el nmero de marco que aparece en la tabla de pginas se copia en los bits de mayor orden
del registro de salida, junto con el ajuste (offset) de 12 bits, el cual se copia sin modificaciones de la
direccin virtual de entrada. Juntos forman una direccin fsica de 15 bits.
El registro de salida se coloca entonces en el bus de la memoria como la direccin en la memoria fsica.
En teora, la asociacin de las direcciones virtuales con las fsicas se efecta segn lo descrito. El nmero
de pgina virtual se divide en un nmero de pgina virtual (los bits superiores)y un ajuste (los bits
inferiores). El nmero de pgina virtual se utiliza como un ndice en la tabla de pginas para encontrar la
entrada de esa pgina virtual.
El nmero de marco (si existe) se determina a partir de la tabla de pginas. El nmero de marco se asocia
al extremo superior del ajuste y reemplaza al nmero de pgina virtual para formar una direccin fsica que
se puede enviar a la memoria.
La finalidad de la tabla de pginas es asociar las pginas virtuales con los marcos. En
trminos matemticos, la tabla de pginas es una funcin, cuyo argumento es el nmero de pgina virtual y
como resultado el nmero del marco fsico. Mediante el resultado de esta funcin, se puede reemplazar el
campo de la pgina virtual de una direccin virtual por un campo de marco, lo que produce una direccin en
la memoria fsica. Sin embargo hay que enfrentar dos aspectos fundamentales:
SISTEMAS OPERATIVOS
El primer punto proviene del hecho de que las computadoras modernas utilizan direcciones virtuales de al
menos 32 bits. Por ejemplo, si el tamao de pgina es de 4K, un hueco de direcciones de 32 bits tiene un
milln de pginas; en el caso de un hueco de direcciones de 64 bits, se tendra ms informacin de la que
uno quisiera contemplar.
El segundo punto es consecuencia del hecho de que la asociacin virtual fsica debe hacerse en cada
referencia a la memoria. Una instruccin comn tiene una palabra de instruccin y tambin un operando de
memoria. Entonces es necesario hacer una, dos o ms referencias a la tabla de pginas por cada
instruccin.
Se establece una tabla de pginas para trasladar las direcciones lgicas a fsicas.
Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el
resto se cargara bajo la solicitud.
SISTEMAS OPERATIVOS
No es necesario que las paginas estn contiguas en memoria, por lo que no se necesitan procesos
de compactacin cuando existen marcos de pginas libres dispersos en la memoria.
El costo de hardware y software se incrementa, por la nueva informacin que debe manejarse y el
mecanismo de traduccin de direcciones necesario. Se consume mucho ms recursos de memoria,
tiempo en el CPU para su implantacin.
Se deben reservar reas de memoria para las PMT de los procesos. Al no ser fija el tamao de
estas, se crea un problema semejante al de los programas (como asignar un tamao ptimo sin
desperdicio de memoria, u "ovearhead" del procesador).
Aparece el problema de fragmentacin interna. As, si se requieren 5K para un programa, pero las
paginas son de 4K, debern asignrseles 2 paginas (8k), con lo que quedan 3K sin utilizar. La suma
de los espacios libres dejados de esta forma puede ser mayor que el de varias pginas, pero no
podr ser utilizados. Debe asignarse un tamao promedio a las pginas, evitando que si son muy
pequeas, se necesiten TABLAS BMT y PMT muy grandes, y si son muy grandes, se incremente el
grado de fragmentacin interna.
SISTEMAS OPERATIVOS
Nmero de pgina (p): utilizado como ndice en la tabla de pginas que contiene la direccin base
de cada pgina en la memoria fsica.
Offset de la pgina (d): combinado con la direccin base define la direccin fsica que ser enviada
a la unidad de memoria.
3. SEGMENTACIN
Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su divisin lgica;
llevndose a cabo una agrupacin lgica de la informacin en bloques de tamao variable denominados
segmentos. Cada uno de ellos tienen informacin lgica del programa: subrutina, arreglo, etc. Luego, cada
espacio de direcciones de programa consiste de una coleccin de segmentos, que generalmente reflejan la
divisin lgica del programa.
3.1. Resultados de la Segmentacin:
SISTEMAS OPERATIVOS
Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y
recopilaciones, sin afectar por ello al resto del programa.
Proteccin: se puede proteger los mdulos del segmento contra accesos no autorizados.
Comparticin: dos o ms procesos pueden ser un mismo segmento, bajo reglas de proteccin;
aunque no sean propietarios de los mismos.
Enlace dinmico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de
comenzar a ejecutar un programa. Los enlaces se establecern solo cuando sea necesario.
Es posible compilar mdulos separados como segmentos el enlace entre los segmentos puede
suponer hasta tanto se haga una referencia entre segmentos.
Debido a que es posible separar los mdulos se hace ms fcil la modificacin de los mismos.
Cambios dentro de un mdulo no afecta al resto de los mdulos.
Es posible que los segmentos crezcan dinmicamente segn las necesidades del programa en
ejecucin.
Existe la posibilidad de definir segmentos que an no existan. As, no se asignara memoria, sino a
partir del momento que sea necesario hacer usos del segmento. Un ejemplo de esto, seran los
arreglos cuya dimensin no se conoce hasta tanto no se comienza a ejecutar el programa. En
algunos casos, incluso podra retardar la asignacin de memoria hasta el momento en el cual se
referencia el arreglo u otra estructura de dato por primera vez.
SISTEMAS OPERATIVOS
Hay un incremento en los costos de hardware y de software para llevar a cabo la implantacin, as
como un mayor consumo de recursos: memoria, tiempo de CPU, etc.
Debido a que los segmentos tienen un tamao variable se pueden presentar problemas de
fragmentacin externas, lo que puede ameritar un plan de reubicacin de segmentos en memoria
principal.
Se complica el manejo de memoria virtual, ya que los discos almacenan la informacin en bloques
de tamaos fijos, mientras los segmentos son de tamao variable. Esto hace necesaria la existencia
de mecanismos ms costosos que los existentes para paginacin.
Al permitir que los segmentos varen de tamao, puede ser necesarios planes de reubicacin a nivel
de los discos, si los segmentos son devueltos a dicho dispositivo; lo que conlleva a nuevos costos.
No se puede garantizar, que al salir un segmento de la memoria, este pueda ser trado fcilmente
de nuevo, ya que ser necesario encontrar nuevamente un rea de memoria libre ajustada a su
tamao.
Segmentacin
No
Cuntos
espacios
direcciones existen?
Muchos
Pueden
distinguirse
los
procedimientos y los datos, adems de
protegerse en forma independiente?
No
No
No
SISTEMAS OPERATIVOS
Paginacin
lineales
de
5. REFERENCIAS
Sistemas Operativos Gestin de memoria (1998-2012 Jos Miguel Santos Alexis Quesada
Francisco Santana Beln Esteban) Universidad el las Palmas.
DEITEL Sistemas Operativos
STALLINGS William . Sistemas Operativos .. Editorial Prentice Hall
TANENBAUM Andrew S. Sistemas Operativos Modernos .Prentice Hall
SISTEMAS OPERATIVOS
10