Está en la página 1de 7

Univers

idad
Trabajo
Naciona
de

Integrante:
1. Jorge Humberto Espinoza Hernández.

Docente: Ing. Juan Jose Martinez

Facultad: Ciencias y Sistemas.

Viernes 22 de noviembre de 2019


Explique las estrategias de la administración de memoria principal
Independientemente del esquema de organización hay que decidir las estrategias que se utilizarán
para optimizar el rendimiento.

Las estrategias de administración de la memoria están dirigidas a la obtención del mejor uso
posible del recurso del almacenamiento principal

Las “estrategias de administración” deben considerar:

 ¿Cuándo se consigue un nuevo programa para colocar en la memoria?:


 ¿Cuándo el sistema lo pide específicamente o se intenta anticiparse a las peticiones?
 ¿Dónde se colocará el programa que se ejecutará a continuación?:
 ¿Se prioriza el tiempo de carga o la optimización en el uso del almacenamiento?
 ¿Con qué criterio se desplazarán programas?

Estrategias de obtención: Determinan cuando debe obtenerse la siguiente parte del programa o
los datos que se van a transferir del almacenamiento secundario al principal.

 A) Por demanda. La siguiente parte del programa o de los datos se transfiere al


almacenamiento principal cuando un programa en ejecución hace referencia a ella. Es
decir, el usuario solicita la información, hasta ese momento el sistema operativo lo carga
en memoria.
 B) Por anticipado. El sistema operativo aplica funciones probabilísticas para colocar en
memoria datos de programa que el usuario podría ocupar. El sistema operativo verifica el
comportamiento del usuario, ahorrando tiempo en el acceso, pero desperdiciando
espacio.

2. Estrategias de colocación. Tienen que ver con la determinación de la parte de


almacenamiento principal donde se colocará un programa entrante.
3. Estrategias de reemplazo. Están relacionadas con la determinación de qué parte del
programa o de los datos se debe desalojar para dejar espacio a los programas entrantes.

Explique los espacios de direcciones involucrados en el manejo de la memoria


Una dirección de memoria es un dispositivo receptor para una localización de memoria con la cual
un programa informático o un dispositivo de hardware deben almacenar un dato para su posterior
reutilización.

Una forma común de describir la memoria principal de un ordenador es como una colección de
celdas que almacenan datos e instrucciones. Cada celda está identificada unívocamente por un
número o dirección de memoria.

Para poder acceder a una ubicación específica de la memoria, la CPU genera señales en el bus de
dirección, que habitualmente tiene un tamaño de 32 bits en la mayoría de máquinas actuales. Un
bus de dirección de 32 bits permite especificar a la CPU 2 32= 4.294.967.296 direcciones de
memoria distintas.

Debido a la estructura de 32 bits de un microprocesador


común como los de Intel, las direcciones de memoria se
expresan a menudo en hexadecimal. Por ejemplo, para no
tener que escribir 111111010100000000000010101100
podemos escribir 3F5000AC en hexadecimal.

Para permitir que haya varias aplicaciones en memoria al mismo


tiempo sin que interfieran entre sí debemos resolver dos
problemas: protección y reubicación.
Una buena solución a estos problemas es inventar una nueva abstracción para la memoria: el
espacio de direcciones. Así como el concepto del proceso crea un tipo de CPU abstracta para
ejecutar programas, el espacio de direcciones crea un tipo de memoria abstracta para que los
programas vivan ahí. Un espacio de direcciones (address space) es el conjunto de direcciones que
puede utilizar un proceso para direccionar la memoria. Cada proceso tiene su propio espacio de
direcciones, independiente de los que pertenecen a otros procesos (excepto en ciertas
circunstancias especiales en donde los procesos desean compartir sus espacios de direcciones).

Los espacios de direcciones no tienen que ser numéricos. El conjunto de dominios .com de
Internet es también un espacio de direcciones. Este espacio de direcciones consiste de todas las
cadenas de longitud de 2 a 63 caracteres que se puedan formar utilizando letras, números y
guiones cortos, seguidas de .com.

Administración de memoria con mapas de bits

la memoria se divide en unidades de asignación tan pequeñas como unas cuantas palabras y tan
grandes como varios kilobytes. Para cada unidad de asignación hay un bit correspondiente en el
mapa de bits, que es 0 si la unidad está libre y 1 si está ocupada (o viceversa).

Administración de memoria con listas ligadas

Otra manera de llevar el registro de la memoria es mantener una lista ligada de segmentos de
memoria asignados y libres, en donde un segmento contiene un proceso o es un hueco vacío entre
dos procesos; cuando los procesos y huecos se mantienen en una lista ordenada por dirección, se
pueden utilizar varios algoritmos para asignar memoria a un proceso creado (o a un proceso
existente que se intercambie del disco).

Explique los objetivos de la gestión de memoria


En un sistema con multiprogramación, el sistema operativo debe encargarse de realizar un reparto
transparente, eficiente y seguro de los distintos recursos de la maquina entre los diversos
procesos, de forma que cada uno de ellos crea que <<tiene una máquina para el solo>>. Esto es, el
sistema operativo debe permitir que los programadores desarrollen sus aplicaciones sin verse
afectados por la posible coexistencia de su programa con otros durante ejecución.

 Ofrecer a cada proceso un espacio lógico de memoria: A priori no se conoce la posición


de memoria que ocupara un programa cuando vaya a ejecutarse (estado de ocupación de
la memoria)
 Proporcionar protección entre procesos: La protección es diferente según sea un sistema
Mono o Multi programado. Sistema Mono programado: La intrusión se dará solamente
entre el programa y el S.O. Sistema Multiprogramado: La intrusión puede venir tanto de
otros procesos como de otros usuarios.
 Permitir que los procesos se compartan la memoria: La compartición de memoria entre
procesos da soporte a la creación de procesos ligeros y estar controlados por el SO.
 Dar soporte a las distintas regiones del proceso: El mapa de memoria de un proceso no es
homogéneo, ya que las regiones contienen diferentes tipos de información y poseen
diferentes características.

Cuales son y explique los Algoritmos de asignación de memoria


1. Lectura:
 Paginación previa
 Por demanda

2. Ubicación:
 Mejor ajuste
 Primer ajuste
 Siguiente
 Peor ajuste

3. Reemplazo:
 Optimo
 FIFO
 Usada hace más tiempo
 Reloj

4. Vaciado:
 Por demanda
 Vaciado previo

Algoritmos de Lectura
 Paginación por demanda: Se trae una página a la memoria principal sólo cuando se hace
referencia a una posición en dicha página.
 Paginación previa: Se cargan otras páginas distintas a las demandadas debido a un fallo de
página.

Algoritmos de Ubicación
Mejor ajuste

Elige el bloque de tamaño más próximo al solicitado, proporcionando en general los peores
resultados, puesto que este algoritmo busca el hueco más pequeño para el proceso, garantiza que
el fragmento que se deja es lo más pequeño posible y por esto se debe compactar más
frecuentemente.

Primer ajuste
El primer ajuste es aquel que recorre la memoria de arriba hasta abajo y ubica el proceso en el
primer bloque disponible que encuentre y que satisfaga el requerimiento de tamaño.

Siguiente

Este algoritmo tiene frecuentemente a la asignación de un bloque de memoria de la última


ubicación, donde se encuentra el bloque más grande, el bloque de memoria más grande se divide
en fragmentos más pequeños. Sera necesario el uso de la compactación para obtener un bloque
de memoria grande al final del espacio de memoria.

Peor ajuste

Consiste en tomar el hueco más grande que se encuentre en memoria y asignarlo al proceso que
está siendo admitido de tal manera que el nuevo hueco quede aún disponible luego de la
asignación de memoria para nuevos procesos.

Algoritmos de reemplazo
Algoritmo FIFO

En este algoritmo se lleva a cabo el reemplazo de la página que lleva más tiempo en memoria, el
sistema operativo mantiene una lista de las páginas y reemplaza la página cabecera de la lista y se
inserta al final, esta no tiene un buen rendimiento no siempre es bueno, pueden sustituirse
páginas muy usadas con esto podemos decir que más marcos en memoria no nos implica el hecho
que haya menos fallos de página.

Algoritmo Optimo

El algoritmo óptimo tiene la menor tasa de fallos y esto lo hace reemplazando las páginas que no
se va a usar durante más tiempo. Es decir, no se puede realizar ya que no se conoce a la utilización
de memoria de instrucciones futuras.

Usada hace más tiempo

Este algoritmo lo definimos como la sustitución de la página que más tiempo lleva sin ser usada,
esta se implanta mediante un contador, es decir, cada vez que accedemos a la memoria se
incrementa su valor, se copia el valor del contador en la tabla de páginas asociado a la página a la
que hemos accedido y se elimina la página que tiene el valor del contador más bajo. Se puede
implementar mediante una pila en la base se coloca la página que lleva más tiempo y en la parte
superior la más nueva.

Reloj

Utiliza un bit de referencia asociado a cada página, inicialmente están a cero cambia a 1 cuando se
accede a la página para leer o escribir el sistema operativo pone periódicamente todos a cero.

Algoritmos de Vaciado

1. Se define el vaciado por demanda cuando se escribe una página en la memoria secundaria sólo
cuando haya sido elegida para reemplazarse.
2. Podemos definir el vaciado previo al momento en que se escriben las páginas modificadas
antes de que se necesiten sus marcos, de forma que las páginas pueden escribirse por lotes.

Explique porque el sistema operativo hace uso de la compactación de memoria


El proceso de compactación son unas instancias particulares del problema de asignación de
memoria dinámica, y esta se refiere a satisfacer una necesidad de tamaño (N) en una lista de
huecos libres. Entre tantas posibilidades existe una que determina el hueco más indicado en el
momento de asignar. A continuación, estrategias comunes para la asignación de algún hueco en la
tabla.

PRIMER AJUSTE: Consiste en asignar el proceso en el primer hueco que se halle y se ajuste sin
importar que el hueco sea más grande que el tamaño del proceso a insertar.

MEJOR AJUSTE: Consiste en ubicar el proceso según su tamaño en el hueco más apropiado, esto
con el fin de evitar desperdicio de memoria.

PEOR AJUSTE: En este algoritmo se busca que el tamaño del hueco concuerde con el tamaño del
proceso. Es decir que sea el tamaño del hueco sea igual o mayor que el del proceso, sin importar
que se pueda perder gran cantidad de espacio en la memoria.

También podría gustarte