NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
Sistemas Operativos I-Particionamiento de memoria
1. UNIVERSIDAD POLITÉCNICA DE NICARAGUA
‘‘Sirviendo a la comunidad’’
Sistemas Operativos I.
Integrantes:
Indira Pérez Rivera.
Maritza Contreras Cruz.
Stephanie Ramos Quintanilla.
Prof. Evelyn Espinoza
Fecha: 10-06-2013
2.
3.
4. La memoria es uno de los principales recursos de la computadora, la cual debe
de administrarse con mucho cuidado. Aunque actualmente la mayoría de los
sistemas de cómputo cuentan con una alta capacidad de memoria, de igual
manera las aplicaciones actuales tienen también altos requerimientos de
memoria, lo que sigue generando escasez de memoria en los sistemas
multitarea y/o multiusuario.
La parte del sistema operativo que administra la memoria se llama
administrador de memoria y su labor consiste en llevar un registro de las partes
de memoria que se estén utilizando y aquellas que no, con el fin de asignar
espacio en memoria a los procesos cuando éstos la necesiten y liberándola
cuando terminen, así como administrar el intercambio entre la memoria
principal y el disco en los casos en los que la memoria principal no le pueda
dar capacidad a todos los procesos que tienen necesidad de ella.
La tarea principal del Sistema de Gestión de memoria es cargar los programas
en la memoria principal para su ejecución en el procesador.
5.
6. En la mayoría de los esquemas de gestión de memoria, el sistema operativo
ocupa una parte fija de la memoria principal y que el resto de la memoria esta
disponible para ser usado por varios procesos. El esquema más sencillo de
gestión de la memoria disponible es dividir en regiones con límites fijos.
Una posibilidad es emplear particiones de igual tamaño en este caso, cualquier
proceso cuyo tamaño sea menor o igual que el tamaño de la partición puede
cargarse en cualquier partición libre.
Las particiones estáticas de igual tamaño plantean dos dificultades:
Un programa puede ser demasiado grande para caber en la partición. El
programador debe diseñar el programa mediante superposiciones. Cuando se
necesita un módulo que no este presente el programa de usuario debe cargar
dicho módulo en la partición del programa, superponiéndose a los programas y
datos que se encuentren en ella.
El uso de la memoria principal es ineficiente. Cualquier programa sin importar
lo pequeño que sea, ocupara una partición completa.
Este fenómeno, en el que se malgasta el espacio interno de una partición
cuando el bloque de datos cargados es más pequeño que la partición se
denomina fragmentación interna.
7. Con particiones del mismo tamaño. Mientras haya alguna partición libre, puede
cargarse un proceso en esa partición. Si todas las particiones están ocupadas con
procesos que no están listos para ejecutarse, uno de esos procesos debe sacarse
para hacer sitio a un nuevo proceso. Cual debe expulsarse es una decisión de
planificación con particiones de distintos tamaños, hay dos manera de asignar los
procesos a las particiones. La forma más simple es asignar cada proceso a la
partición más pequeña en la que quepa. En este caso, hace falta una cola de
planificación para cada partición.
La ventaja es que se minimiza la memoria desaprovechada dentro de cada
partición.
Una solución seria emplear una única cola para todos los procesos cuando se va a
cargar un proceso en la memoria principal se selecciona la partición más pequeña
disponible que pueda albergar al proceso. Si todas las particiones están ocupadas
se debe tomar una decisión de intercambio.
El uso de particiones de distintos tamaño proporciona flexibilidad a las
particiones estáticas, se plantean las siguientes desventajas:
El número de particiones especificadas en el momento de la generación del
sistema limita él número de procesar activos en el sistema.
Puesto que los tamaños de partición se programan en el momento de la
generación del sistema, los trabajos pequeños no hacen un uso eficiente del
espacio de las particiones.
8. Estas particiones son variables en número y longitud.
Cuando se carga un proceso en la memoria principal, se le asigna
exactamente tanta memoria como necesita y no más.
Este método comienza bien, pero desembarca en una situación en la que
hay un gran número de huecos pequeños en la memoria. La memoria
comienza a estar más fragmentada y su rendimiento decae. Este fenómeno
se denomina fragmentación externa y se refiere al hecho que la memoria
externa a todas las particiones se fragmenta cada vez más.
Una técnica para vencer la fragmentación externa es la compactación, el
sistema operativo desplaza los procesos para que estén contiguos, de forma
que toda la memoria libre quede junta en un bloque. La dificultad de la
compactación está en que es un procedimiento que consume tiempo, la
compactación necesita de renunciación dinámica. Es decir se debe poder
mover un programa de una región a otro de la memoria principal sin
invalidar la referencia a la memoria del programa.
9. Puesto que la compactación de memoria consume tiempo, el diseñador del sistema
operativo tiene que decidir como asignar un proceso a memoria. Cuando llega el
momento de cargar o traer un proceso a memoria principal, y si hay libre más de un
bloque de memoria de tamaño suficiente, el sistema operativo debe decidir cual asignar.
Los tres algoritmos de ubicación que se pueden considerar son los de mejor ajuste, el del
1º ajuste y el de siguiente ajuste.
El mejor ajuste elige el bloque de tamaño más próximo al solicitado. Aunque cada
solicitud de memoria desperdicia siempre la menor cantidad de memoria, el resultado es
que la memoria principal se llena rápidamente de bloques demasiados pequeños como
para satisfacer las solicitudes de asignación de memoria, así se debe compactar más
frecuentemente.
El primer ajuste comienza recorriendo la memoria desde el principio y escoge el primer
bloque disponible que sea suficientemente grande. El siguiente ajuste recorre la memoria
desde el lugar de la última ubicación y elige el siguiente bloque disponible que sea
suficientemente grande.
Cuál de estos métodos es mejor dependerá de la secuencia exacta de intercambio de
procesos que ocurran y del tamaño de estos procesos.
El algoritmo del primer ajuste Es el mejor y el más rápido.
El algoritmo del siguiente ajuste llevara frecuentemente a la asignación de bloques libre
al final de la memoria. El resultado Es que el bloque de memoria libre más grande, que
suele aparecer al final del espacio de memoria, se divide en fragmentos pequeños.