Sistemas operativos monopuesto
Gestin de memoria
Sistemas Informticos
Para que un proceso se ejecute debe estar residente en la memoria interna del ordenador, es decir, la memoria ram.
Gestin de memoria
La primera solucin fue la falta de gestin.Un nico proceso ocupaba el espacio de memoria.
Gestin de memoria
Para poder tener varios procesos (unos grandes y otros pequeos), se reservaron espacios grandes y pequeos.Podiamos tener una o varias colas de tareas.
Gestin de memoria
Swapping
Manda a memoria secundaria procesos que por alguna razn no sern atendidos en un espacio de tiempo breve.
Como decidimos que tarea no ser atendida? Prioridad, estado de espera, t de permanencia en mem.
Como decidimos que tarea merece ocupar ese espacio?Buscar la explicacin de los algoritmos (round-Robin con FIFO, FCFS, STR y SRTF)
Gestin de memoria
Swapping
Al mandar un proceso a memoria secundaria no es un fichero como el original, pues puede haber sido modificado, y su estado ha cambiado. Se le llama imagen del proceso.
Como esta imagen del proceso no puede sobreescribir la original, necesitamos un archivo de intercambio.
Gestin de memoria
Swapping
Un nico archivo: de que tamao?NT, unix
Uno por proceso: necesitamos mas espacio en disco y complicamos el direccionamiento.Resto de windows
Gestin de memoria
Fragmentacin de memoria
Fragmentacin interna: Si en una particin de 4 MB guardo un fichero de 2,5 MB pierdo 1,5 MB
Fragmentacin externa: Si me quedan 3 particiones de 4 MB y tengo que guardar un fichero de 6 MB a pesar de tener espacio, no podr guardarlo en memoria.
Gestin de memoria
Usando particiones variables
Otorgamos a cada proceso el espacio que necesita.Necesitamos compactar memoria cuando se liberan espacios.
Problemas con el crecimiento de los procesos.
Gestin de memoria
PAGINACIN
Para solucionar el problema anterior, intentamos conseguir que un proceso pueda usar posiciones de memoria no contigua.
Gestin de memoria
PAGINACIN
Dividimos el espacio de memoria en bloques de tamao fijo, denominados marcos de pgina
El espacio de direcciones de un proceso (direcciones que puede generar) lo dividimos en bloques (pginas) del tamao de los marcos.
Asignamos un marco a cada pgina que deba estar cargada en memoria.
Gestin de memoria
PAGINACIN
Si tenemos marcos de 4 KB y un proceso necesita 14 KB, necesitar 4 pginas (de 0 a 3), y a cada pgina se le asigna una direccin fsica mediante un tabla de pginas que se construye cuando se carga el proceso.Cada direccin lgica se divide en nmero de pgina y desplazamiento dentro de esa pgina.
Gestin de memoria
Segmentacin
La fragmentacin del cdigo se rige en este caso por criterios lgicos, un segmento puede ser una funcin, un mdulo, una estructura de datos...El compilador, al realizar su tarea, construye los distintos segmentos, numerndolos para poder reubicarlos.
Gestin de memoria
Paginacin-Segmentacin
No es extrao que un sistema utilice las dos tcnicas, podemos tener un programa dividido de manera lgica en segmentos, y cada uno de estos segmentos ubicado en memoria utilizando la paginacin.
Gestin de memoria
Averigua las direcciones fsicas de:(0,430)
(1,10)
(2,500)
(3,400)
(4,112)
Segn la siguiente tabla de segmentosN de segmentoBaseLongitud
0219600
1230014
290100
31327580
4195296
???Pgina ??? (???)12/10/2009, 22:54:04Pgina /