Está en la página 1de 9

Control De Memoria En Sistemas

Operativos
Administracin De Memoria
La administracin de memoria se refiere a los distintos mtodos y
operaciones que se encargan de obtener la mxima utilidad de
la memoria, organizando los procesos y programas que se ejecutan de
manera tal que se aproveche de la mejor manera posible el espacio
disponible. Para poder lograrlo, la operacin principal que realiza es la
de trasladar la informacin que deber ser ejecutada por el procesador,
a la memoria principal. Actualmente esta administracin se conoce
como Memoria Virtual ya que no es la memoria fsica del procesador sino
una memoria virtual que la representa. Entre algunas ventajas, esta
memoria permite que el sistema cuente con una memoria ms extensa
teniendo la misma memoria real, con lo que esta se puede utilizar de
manera ms eficiente. Y por supuesto, que los programas que son
utilizados no ocupen lugar innecesario. Las tcnicas que existen para la
carga de programas en la memoria son: particin fija, que es la divisin
de la memoria libre en varias partes (de igual o distinto tamao) y la
particin dinmica, que son las particiones de la memoria en tamaos
que pueden ser variables, segn la cantidad de memoria que necesita
cada proceso. Entre las principales operaciones que desarrolla la
administracin de memoria se encuentran la reubicacin, que consiste
en trasladar procesos activos dentro y fuera de la memoria principal
para maximizar la utilizacin del procesador; la proteccin, mecanismos
que protegen los procesos que se ejecutan de interferencias de otros
procesos; uso compartido de cdigos y datos, con lo que el mecanismo
de proteccin permite que ciertos procesos de un mismo programa que
comparten una tarea tengan memoria en comn.

Memoria Real
La memoria real o principal es en donde son ejecutados los programas y
procesos de una computadora y es el espacio real que existe en
memoria para que se ejecuten los procesos. Por lo general esta memoria
es de mayor costo que la memoria secundaria, pero el acceso a la
informacin contenida en ella es de ms rpido acceso. Solo la memoria
cache es ms rpida que la principal, pero su costo es a su vez mayor.

Memoria Virtual
La memoria virtual es una tcnica de gestin de la memoria que permite
que el sistema operativo disponga, tanto para el software de usuario
como para s mismo, de mayor cantidad de memoria que est disponible
fsicamente. La mayora de los ordenadores tienen cuatro tipos de
memoria: registros en la CPU, la memoria cach (tanto dentro como

fuera del CPU), la memoria RAM y el disco


duro. En ese orden, van de menor
capacidad y mayor velocidad a mayor
capacidad y menor velocidad. Muchas
aplicaciones requieren acceso a ms
informacin (cdigo y datos) que la que se
puede mantener en memoria fsica. Esto es
as sobre todo cuando el sistema operativo
permite mltiples procesos y aplicaciones
ejecutndose
simultneamente.
Una
solucin al problema de necesitar mayor
cantidad de memoria de la que se posee
consiste
en
que
las
aplicaciones
mantengan parte de su informacin en disco, movindola a la memoria
principal cuando sea necesario. Hay varias formas de hacer esto. Una
opcin es que la aplicacin misma sea responsable de decidir qu
informacin ser guardada en cada sitio (segmentacin), y de traerla y
llevarla. La desventaja de esto, adems de la dificultad en el diseo e
implementacin del programa, es que es muy probable que los intereses
sobre la memoria de dos o varios programas generen conflictos entre s:
cada programador podra realizar su diseo teniendo en cuenta que es el
nico programa ejecutndose en el sistema. La alternativa es usar
memoria virtual, donde la combinacin entre hardware especial y
el sistema operativo hace uso de la memoria principal y la secundaria
para hacer parecer que el ordenador tiene mucha ms memoria
principal (RAM) que la que realmente posee. Este mtodo es invisible a
los procesos. La cantidad de memoria mxima que se puede hacer ver
que hay tiene que ver con las caractersticas del procesador. Por
ejemplo, en un sistema de 32 bits, el mximo es 232, lo que da 4096
Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de
aplicaciones mucho ms fcil, al poder ignorar completamente la
necesidad de mover datos entre los distintos espacios de memoria.
Aunque la memoria virtual podra estar implementada por
el software del sistema operativo, en la prctica casi siempre se usa una
combinacin de hardware y software, dado el esfuerzo extra que
implicara para el procesador.

Paginacin: El espacio de direcciones de cada proceso se divide en

bloques de tamao uniforme llamados pginas, los cuales se pueden


colocar dentro de cualquier para pgina marco disponible en memoria.
Cuando las tablas de pginas son muy grandes se puede utilizar un
esquema de paginacin de varios niveles para que las pginas se
paginen a s mismas. Existen distintos niveles de paginacin y a su vez
distintos modelos de computadoras han trabajado con ellas.
Paginacin de nivel 1: PDP-11
Paginacin de 2 niveles: la VAX

Paginacin de 3 niveles: la SPARC


Paginacin de 4 niveles: la 68030
Memoria asociativa
En los algoritmos de paginacin las tablas de pginas se mantienen en
la memoria debido a su gran tamao, en potencia este diseo tiene un
efecto enorme en el rendimiento.
Algoritmos de reemplazo de pginas: Cuando ocurre un fallo
de pgina el sistema operativo debe elegir una pgina para retirarla de
la memoria y hacer un espacio para la pgina por recuperar. Si la pgina
por eliminar fue modificada mientras estaba en memoria, debe escribirla
en el disco para mantener actualizada la copia del disco, si por el
contrario la pgina no ha sido modificada la copia del disco ya est
actualizada por lo que no es necesario volver a escribir, la pgina por
leer slo escribe encima de la pgina por retirar. Aunque es posible
elegir una pgina al azar para el reemplazo relacionado con un fallo de
pgina, el rendimiento del sistema es mucho mejor si se elige una
pgina de poco uso.
Algoritmo de reemplazo de pginas ptimo: Mejor
algoritmo posible para reemplazo de pginas pero irrealizable en la
prctica. Al momento de ocurrir un fallo de pgina cierto conjunto de
pginas se encuentran en la memoria, en la siguiente instruccin se
har referencia a una de estas pginas, otras pginas no se utilizaran
sino hasta mucho despus, cada pgina puede ejecutarse con el nmero
de instrucciones ejecutadas antes de la primera referencia a esa pgina,
el algoritmo dice que se elimine la pgina con la mayor etiqueta; si una
pgina no va a utilizase sino hasta mucho despus que otra la
eliminacin de la primera retrasa el fallo de pgina lo ms posible, el
nico problema de este algoritmo es que es irrealizable. Al momento del
fallo de pgina el S.O. no tiene forma de saber a qu pgina se hace
referencia.
Algoritmo de pgina de uso no muy reciente: En un fallo
de pgina, el sistema operativo inspecciona todas las pginas y las
divide en cuatro categoras segn los valores actuales de los bits R y M
Clase 0: No se ha hecho referencia ni ha sido modificada
Clase 1: No se ha hecho referencia pero ha sido modificada
Clase 2: Se ha hecho referencia pero no ha sido modificada
Clase 3: Se ha hecho referencia y ha sido modificada
El algoritmo NRU implica una hiptesis que indica que es mejor eliminar
una pgina modificada sin referencias al menos por lo general un
intervalo de reloj, este algoritmo es fcil de comprender, de
implantacin eficiente y con un rendimiento que, an sin ser el ptimo si
es adecuado en muchos casos.

Algoritmo de reemplazo " primero en entrar, primero


en salir FIFO": El sistema operativo tiene una lista de todas las

pginas que se encuentran en memoria, siendo la primera pgina la ms


antigua y la ltima la ms reciente, en un fallo de pgina, se elimina la
primera pgina y se aade la nueva al final de la lista.

Algoritmo de reemplazo de pginas de la segunda


oportunidad: Una modificacin simple del FIFO que evita deshacerse

de una pgina de uso frecuente inspecciona el bit R de la pgina ms


antigua, busca una pgina antigua sin referencias durante el anterior
intervalo de tiempo.
Algoritmo de reemplazo de pginas del reloj: Aunque el
anterior algoritmo es razonable un mejor enfoque es mantener las
pginas en una lista circular con la forma de un reloj, una manecilla
apunta hacia la ms antigua. Al ocurrir un fallo de pgina se inspecciona
la pgina a la que apunta la manecilla si su bit R=0 se retira de la
memoria, se inserta la nueva pgina en su lugar en el reloj y la
manecilla avanza una posicin, si R=1 la manecilla avanza una posicin
y el bit se limpia, esto continua hasta encontrar una pgina con R=0.

Segmentacin: La memoria virtual es unidimensional, puesto que

cada segmento constituye un espacio independiente de direcciones, los


distintos segmentos pueden crecer o reducirse en forma independiente
sin afectar a los dems. Una memoria segmentada tiene otras ventajas
como hacer ms sencilla la administracin de las estructuras de datos
que crecen o se reducen, si cada procedimiento ocupa un segmento
independiente con la posicin inicial cero el ligado independiente de los
procesos compilados es mucho ms sencillo.
Bit que se activa si se hace referencia a la pgina en cuestin
Bit que se activa si se modifica la pgina
Hiperpaginacion:
se
denomina
Hiperpaginacion (thrashing en ingls) a la situacin en la que se utilizan
una creciente cantidad de recursos para hacer una cantidad de trabajo
cada vez menor. Usualmente se refiere a cuando se cargan y descargan
sucesiva y constantemente partes de la imagen de un proceso desde y
hacia la memoria principal y la memoria virtual o espacio de
intercambio. En un estado normal, esto permite que un proceso
bloqueado y no listo para correr deje lugar en memoria principal a otro
proceso listo. Cuando se produce Hiperpaginacion, los ciclos
del procesador se utilizan en llevar y traer pginas (o segmentos, segn
sea el caso) y el rendimiento general del sistema se degrada
notablemente.

Controlador de memoria
El controlador de memoria es un circuito electrnico digital que se
encarga de gestionar el flujo de datos entre el procesador y la memoria.
Puede ser independiente o integrado en otro chip como en el

encapsulado del procesador. Sin embargo este mtodo de integracin


lastra a renovar los controladores segn avanza la tecnologa de las
memorias
Propsito: Los controladores de memoria contienen los elementos
necesarios para leer y escribir en la DRAM y actualizar la memoria RAM
mediante envo de impulsos de corriente a travs de todo el dispositivo.
Si no se actualizase, la DRAM perdera los datos escritos en
los condensadores al dejar escapar la carga en menos de una fraccin
de segundo. Segn las normas de JEDEC, dichas cargas no se escapan
con menos de 64 milisegundos La lectura y escritura en la DRAM se
realiza mediante unas direcciones fsicas de columnas y filas a travs de
un circuito multiplexor, donde posteriormente un de multiplexor se
encarga de seleccionar la celda a la que se desee acceder, al enviar los
datos desde la DRAM necesita volver a pasar por el multiplexor con el fin
de reducir el ancho de bus de la operacin. El ancho de bus se define
como el nmero de lneas paralelas dispuestas para poder comunicarse
con las celdas. Este ancho se construye de 8 bits hasta de 512 bits,
presentes tpicamente en ordenadores que requieren una ingente
cantidad de transferencia de datos, o ms comnmente en las tarjetas
grficas. En stas ltimas se suelen agrupar en varios chips de 64 bits
que trabajan conjuntamente para lograr una suma mayor.
Controladores DDR: DDR son las siglas del ingls Double Data
Rate, en espaol podramos denominarlas Memoria de doble tasa de
transferencia de datos. Los controladores de memoria DDR son capaces
de manejar memorias del tipo DDR SDRAM, que son capaces de doblar
la tasa de datos transferidos a igual frecuencia de reloj y ancho de bus
que sus predecesoras.

Control De Perifricos En Sistemas


Operativos
Gestin de Entradas y Salidas
Esto representa los intercambios de informacin desde el procesador o
incluso al acceso directo de la memoria. Esta actividad de entrada y
salida se realiza gracias a la relacin que hay entre el sistema operativo
con los diversos perifricos, as administrar y controlar los estados y
recursos que tienen cada uno de estos mediante los controladores de
dispositivos.

Dispositivos o perifricos
Son aparatos solidos e independientes que van conectados a la unidad
central de la computadora. Existen diversos tipos de dispositivos con
funciones diferentes. Existen tres tipos de dispositivos segn su funcin:
Dispositivos
de
entrada: tienen
la
tarea
de
introducir informacin, rdenes, comandos e instrucciones para que la
computadora lo procese con el sistema operativo. Entre los ms
conocidos se encuentran el teclado, el mouse, el escner etc.
Dispositivos de salida: son los que se encargan de procesar los
resultados de salida de los procesos de datos. Y mostrarlos al usuario.
Entre los ms conocidos se encuentran el monitor, la impresora etc.
Dispositivos
de
Bloques: Estos
perifricos
almacenan
informacin en bloques de tamao fijo, estos van desde 128 bytes hasta
1024 bytes. Entren los dispositivos de bloques se encuentran unidad
lectora de CD-ROM, Disco Duro etc.

Problemas entre el Sistema Operativo y los


Dispositivos

Cada dispositivo tiene diferentes funciones.


Los dispositivos dependen de ncleo de sistema operativo.
Existe diferentes velocidades entre los dispositivo tanto como de
entrada, salida y bloque.
El sistema operativo trata de buscar la mejor manera de realizar la
funcin de entrada y salida.
Control de entrada y salida: mediante esta actividad el sistema
operativo decide qu proceso har uso del recurso, durante cunto
tiempo y en qu momento.

Entrada y salida Controladas por Programas e


Interrupciones
Por programas: es la forma ms sencilla en realizar operaciones de

entradas y salidas. Esto ocurre cuando el procesador y el dispositivo


coinciden en el mismo tiempo definido; el procesador interacta
directamente con el dispositivo comprobando el estado o si tiene algn
dato listo para as poder recibirlo.
Por interrupciones: en este caso el procesador espera un tiempo
indefinido hasta que el modulo que es el encargado de proyectar la
operacin de entrada y salida est preparado para ejecutar la operacin.

Control-estado y datos de E/S controladas por


programas
El procesador es el que tiene la mayor importancia y determina
la actividad y el control sobre los procesos de entrada y salida y el
programa indica en qu momento se ejecuta.
El microprocesador: Se encarga de decidir el estado de los
dispositivos indicando informacin del dispositivo como: datos listos para
transmitir, dispositivo ocupado, dispositivo no conectado o error, etc.
Procesamiento de la Interrupcin: a) El dispositivo le enva
una seal de interrupcin al procesador. b) El procesador termina la
instruccin que estaba ejecutando antes que comience a responder a la
interrupcin. c) El procesador investiga si hay una interrupcin, si
encuentra dicha interrupcin le informa al dispositivo que la causo. d) El
procesador se prepara para transferir control a la interrupcin y guarda
informacin necesaria para terminar con el proceso que se interrumpi.
e) El procesador carga en la computadora la direccin de inicio del
programa de servicio que se interrumpi. f) Una vez completado con la
interrupcin, el procesador contina con el ciclo de instruccin
siguiente. h) Cuando se termina con el servicio de la interrupcin los
registros vuelven a restaurarse.
Entrada y salida sincrnica: cuando la operacin de entrada y
salida finaliza, el control es retornado al proceso que la gener.
Entrada y salida Sincrnica: retorna al programa usuario sin
esperar que la operacin de entrada y salida finalice. Se necesita una
llamada al sistema que le permita al usuario esperar por la finalizacin
de entrada y salida, si es requerido.

Acceso Directo de la Memoria (DMA)


Tiene la habilidad de transferir directamente la informacin entre la
memoria y los dispositivos de entrada o estos a la memoria sin la
necesidad de un canal que intercambie datos.
Caractersticas del acceso directo a memoria: Las
computadoras modernas que tienen DMA, transfieren datos a los
dispositivos de menos utilizacin que las que no tienen DMA. El
procesador transfiere cuando otras operaciones se terminan y dicha
transferencia se encuentra en proceso, luego termina cuando recibe la
interrupcin del DMA. Es til en actividades de aplicaciones en tiempo
real.

El DMA necesita:
Registro contador: guarda la longitud de bloque a transferir.
Bits: indica si la operacin es de lectura o escritura.
Bloque de control: controla el funcionamiento del sistema.
Existen 3 tipos de transferencia para el mximo aprovechamiento
del bus:
Por rfagas: el DMA toma el control del bus y no lo suelta hasta
terminar la transferencia.
Por robo de ciclo: el DMA toma el bus durante un ciclo enviando
una palabra cada vez.
Transparente: se aprovechan los ciclos en que el procesador no
usa el bus.

Procesadores de entrada y salida


Revisin de mtodos de entrada y salida: el procesador
efecta una sentencia de espera hasta que el dispositivo est
preparado.
Entrada y salida por interrupciones: el procesador puede
realizar otros procesos y solo atiende el dispositivo que produce la
interrupcin.
Acceso directo a memoria: el procesador solo se encarga de
realizar el acceso a la memoria indicndole la cantidad de
transferencias. Esta actividad solo se encarga de controlar las
transferencias. Durante el proceso de entrada y salida el procesador
puede realizar otras tareas.
Procesadores de entrada y salida o canales: El canal es un
procesador auxiliar dedicado a la operacin de entrada y salida. Esto
tiene una lista de instrucciones con lmites y operaciones de entrada y
salida, ya que son capaces de controlar las operaciones mediante las
instrucciones. Las instrucciones se almacenan en la memoria principal
de la computadora. El procesador de entrada y salida ejecuta estas
instrucciones y controla la transferencia de datos.

Buffer de entrada y salida


Estos son espacios de memoria principal que se mantienen solo para
almacenar datos que envan de los dispositivos o destino a ellos. Los
buffers se clasifican en: buffer simple, que su transferencia de entrada e
hace desde el dispositivo hacia el buffer que el sistema operativo guarda
en la memoria principal a dicho proceso. Buffer doble, es cuando un
proceso transfiere sus datos a un buffer mientras que el sistema
operativo vaca o llena el buffer secundario.

También podría gustarte