jueves, 19 de mayo de 2016

ALGORITMOS DE UBICACIÓN, RE-UBICACIÓN Y REEMPLAZO

Politica de lectura Fetch por demanda
- Ubicación
- Remplazo
- Vaciar
Politicas y Algoritmos 
a. Lectura: Por demanda y Paginación previa.
b. Ubicación: Mejor ajuste, Primer Ajuste, Siguiente Ajuste, Peor Ajuste.
c. Re ubicación: Optimo, Usada hace mas tiempo FIFO, Reloj.

d. Vaciado: Por demanda, Vaciado Previo.

viernes, 13 de mayo de 2016

FRAGMENTACION EXTERNA


Imagen tomada de https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Fragmentacionpng.png/300px-Fragmentacionpng.png


Esto ocurre cuando el primer bloque libre de memoria no es suficiente para que el siguiente programa lo use. Por ejemplo, digamos que un sistema carga tres programas en la memoria, cada uno ocupando 50 megabytes o MB. El segundo programa termina, dejando ese bloque de 50 MB libres. Si el siguiente programa a iniciar requiere de 100 MB, no sería capaz de utilizar ese bloque de 50 MB de espacio libre, y el sistema le asigna el siguiente intervalo de 100 MB libres. Esa brecha en la memoria utilizada se mantendría sin uso hasta que algún programa requiera menos de 50 MB de memoria. Con el tiempo, estos pequeños espacios pueden sumarse, y un sistema se puede ejecutarse con memoria baja a pesar de las muchas pequeñas áreas de memoria libre.
Tomado de http://www.ehowenespanol.com/diferencias-fragmentacion-interna-externa-info_495419/

FRAGMENTACION INTERNA


Imagen tomada de http://labvirtual.webs.upv.es/Applets/GAndreu/Objeto_Fijas_Una_cola/part_fijas_frag_interna.jpg


Ésta se deriva del hecho de que mientras la memoria está denominada en bytes, la unidad más pequeña disponible generalmente es mayor que eso debido a las reglas de memoria de direccionamiento. Por ejemplo, si el sistema carga un programa que requiere de 50 MB y 19 bytes de memoria, puede que no sea capaz de iniciar el próximo programa a ese 20° byte, en lugar de iniciarlo al byte 24 o 28. Estas brechas resultan en pequeñas áreas de memoria inutilizable, simplemente porque el sistema no puede abordar todos y cada byte de memoria disponible para él. Si bien pérdida de memoria por la fragmentación interna generalmente es mucho menor que la pérdida por la fragmentación externa, estas pequeñas cantidades todavía pueden sumarse con el tiempo.
Tomado de http://www.ehowenespanol.com/diferencias-fragmentacion-interna-externa-info_495419/

miércoles, 11 de mayo de 2016

SEGMENTACIÓN SIMPLE


Imagen tomada de http://images.slideplayer.es/1/92224/slides/slide_32.jpg

Otro modo de subdividir el programa el la segmentación, en este caso el programa y sus datos asociados se dividen en un conjunto de segmentos.

En el sistema operativo se mantiene una tabla de segmentos para cada uno de los procesos y la lista de bloques libres. Una dirección de memoria, es un número de segmento (S) y un desplazamiento dentro del segmento (W)

jueves, 5 de mayo de 2016

PAGINACION SIMPLE





















Imagen tomada de http://images.slideplayer.es/1/92224/slides/slide_28.jpg

Las particiones de tamaño fijo y las particiones de tamaño variable hacen un uso ineficiente de la memoria; las primeras generan fragmentación interna, mientras que las segundas originan fragmentación externa

En el sistema operativo se mantiene una tabla de páginas para cada uno de los procesos y la lista de marcos para cada pagina contiene una dirección de memoria, es un numero de página (P) y un desplazamiento dentro de la pagina (W).

martes, 3 de mayo de 2016

GESTIÓN DE MEMORIA

Imagen tomada de http://labvirtual.webs.upv.es/Applets/GAndreu/Objeto_Fijas_Una_cola/part_fijas_frag_interna.jpg

La memoria física es un conjunto de celdas referenciables por medio de una dirección lineal (p.ej. de la 00000h a la FFFFFh) n Para que un programa se ejecute, su código y sus datos necesitan estar cargados en memoria (al menos en parte) n En un sistema multitarea, la memoria ha de repartirse entre los diferentes procesos
Tomado de http://sopa.dis.ulpgc.es/so/teoria/pdf/so-08-Memoria.pdf

En un sistema monoprogramado, la memoria principal se divide en dos partes: una parte para el sistema operativo (monitor residente, núcleo) y otra parte para el programa que se ejecuta en ese instante. En un sistema multiprogramado, la parte de " Usuario " de la memoria debe subdividirse aún mas para hacer sitio a varios procesos. La tarea de subdivisión la lleva a cabo dinàmicamente el sistema operativo y se conoce como gestión de memoria.

En un sistema multiprogramado resulta vital una gestión efectiva de la memoria. Si solo hay unos pocos procesos en memoria, entonces la mayor parte del tiempo estarán esperando a la E/S y el procesador estará desocupado. Por ello, hace falta repartir eficientemente la memoria para meter tantos procesos como sea posible.

Requisitos para la gestión de memoria:
a. Re-ubicación: Un proceso después de dejar la memoria virtual puede re ubicarse a la memoria principal, no necesariamente a la misma ubicación.
b. Protección: Los procesos no deberían ser capaces de referenciar el espacio de memoria de otro proceso sin permiso, es posible comprobar las direcciones absolutas de los programas puesto que estos pueden ser re ubicados, deben ser traducidas durante la ejecución.
c. Compartición: Permite a varios procesos acceder a la misma zona de memoria, es mejor permitir a cada proceso a la misma copia del programa que tener cada uno su copia individual.
d. Organización Lógica: Deben ser llamados por registros de apuntador.
e. Organización Física: La memoria disponible para un programa y sus datos puede ser insuficiente, el programador no sabe cuanto espacio habrá disponible.