viernes, 18 de septiembre de 2015

Memoria.



Memoria RAM: Memoria de acceso aleatorio, Se utiliza como memoria de trabajo de computadora para el sistema operativo, los programas y la mayor parte de software, es sensible a la energía sin una fuente de poder no tienen funcionamiento.


Memoria ROM: Memoria solamente para leer, es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de información y no su escritura, independientemente de la presencia o no de una fuente de energía.


Memoria cache: Es la memoria de acceso rápido de una computadora, que guarda temporalmente los datos recientemente procesados, es un búfer especial de memoria que poseen las computadoras que funciona de forma similar a la memora principal.



Al iniciar el computador la memoria RAM siempre va estar vacía, al momento de iniciar el computador ingresan procesos llamados tareas. Siempre abran tareas por realizar en la memoria RAM del computador.



Conceptos utilizados.

Des-asignación: Es la salida de tareas de la memoria cuando termina la ejecución esto depende del tiempo o del sistema operativo y puede salir en cualquier momento.


Fragmentación: Es la memoria ocupada pero no utilizada, de da cuando la partición de memoria es más grande que la tarea en ejecución.


Memorias Antiguas.


Memorias para un solo usuario: En este tipo de memoria se asignan n cantidad de tareas de un tamaño diferente a unas particiones de memoria de tamaño fijo.




Las tareas 2, 3, 5 quedan en cola hasta que alguna de las tareas termine la ejecución o sea des-asignada.



- Particiones fijas: Este tipo de memoria tienen unas particiones ya creadas por defecto, no tienen    que ser necesariamente del mismo tamaño. Cuando una tarea ingresa busca la primera partición de memoria donde  quepa y en ese lugar hace la ejecución sin importar la fragmentación. Estas dieron paso a la    multiprogramación y a la multitarea.





-          Particiones dinámicas: Este tipo de memoria crea cada una de sus particiones dependiendo del tamaño de la tarea a realizar, pero las memorias dinámicas con el tiempo se compartan como fijas, cuando se produce una des asignación  y no la de la última partición queda un espacio fijo de memoria y cuando ingrese la siguiente tarea puede quedar fragmentación.





Si ingresamos dos tareas más y des asignamos la tarea 2 visualizaremos como las memorias dinámicas se comportan como fijas al pasar el tiempo.




Cuando la tarea 2 termino se ejecución dejo una partición de memoria libre, la tarea 6 siguió el orden e ingreso después de la tarea 5 que fue la última en ingresar, cuando la tarea 7 intento entrar al final la memoria estaba completamente llega entonces se dirigió a la partición de memoria libre que dejo la tarea 2, como era más grande que la tarea 7 se produjo fragmentación y se comportó como una memoria fija.




Si intentamos ingresar una nueva tarea al estar la memoria llena como en las memorias fijas también hay tareas en cola.




- Técnicas de asignación:


       1. Peor ajuste: Este tipo de ajuste gasta mucho tiempo y mucho gasto de memoria no le importa  como quede distribuida solo le importa la precisión, se utiliza en las memorias fijas.

   
        2. Primer ajuste: Este tipo de ajuste pone la tarea en la primera partición de memoria vacía que encuentra, tiene menos tiempo de ejecución pero tiene mucha fragmentación.






        3. Mejor ajuste: Este tipo de ajuste ingresa las tareas en la primera partición de memoria vacía donde queden mejor ubicadas, optimiza mas la memoria pero tiene mas tiempo de ejercicio.





         4. Siguiente ajuste: Este tipo de ajuste parte desde el ultimo elemento que ingreso y lo ingresa en la primera partición de memoria que este vacía, si este recorre la memoria y llega al ultimo elemento de nuevo este  queda en cola. 


   
   Des asignación. 
   
 Particiones fijas.



            
 Particiones dinámicas.


    
   Todas las tareas salen por tiempo de ejecución.
   
   
1.Caso: Entre particiones ocupadas.

 -  Se va TD en las particiones fijas, sale directa la tarea


 
              
-  Se va T4 en las particiones dinámicas, pregunta al anterior y al siguiente si esta libre si no están libres sale la tarea.




2. Caso: entre una libre y una ocupada

- Se va TB en las particiones fijas, sale directa la tarea.


                  

 - Se va T2 en las particiones dinámicas, pregunta si están libre, si hay una libre y una ocupada sale la tarea y las dos particiones de memoria libres las une.


     
     
  3. Caso: entre dos libre

- Se va TA en las particiones fijas, sale directa la tarea.




- Se va T1 en las particiones dinámicas, pregunta si la anterior y la siguiente están libre, si las  dos l o están sale la tarea y une las tres particiones de memoria libres.


  

Re-localizada.


Las re-localizadas solo se pueden efectuar en las memorias dinámicas.



  
Sucede en tres eventos o instancias.

1. Por tiempo
2. Cantidad de tareas en cola
3. Por porcentaje de ocupación de memoria.




Las tareas X y M intentan ingresar pero las particiones de memoria en blanco no tienen el espacio disponible se produce la re-localizada.

Cuando las tareas re re-localizan no debe haber ninguna ejecución ni entrar y salir tareas, cuando se las la re-localizada quedan las tareas congeladas por que si no pasa esto al mover se puede perder información. luego si pueden entrar las tareas en cola.



Registro de re-localizada: cuanto se mueve cada tarea cundo se re-ubica.


  

Se suma el espacio que se movió, si la tarea anterior tenia fragmentación se cuenta el espacio que se va mover mas la fragmentación del anterior.



Memorias Nuevas.



Paginación: Esta forma de manejo de memoria provienen de las particiones fijas, no se pueden re-localizar. la memoria se encuentra dividida en paginas iguales hasta la partición para el sistema operativo se encentra paginada, a cada una de estas particiones se les denomina marcos.




En la paginación la tabla de tareas tiene un nuevo espacio para las paginas que ocupa la tarea.




Toda tarea que llega se pagina y luego si se ingresa a memoria, en la paginación pueden entrar en cualquier partición de memoria vacía sin importar el orden solo que se encuentre vacía, se hace una división para saber el numero de paginas.

                         25 / 10 = 2     residuo 5


                          32 / 10 = 3     residuo 8



La ultima pagina de cada tarea tiene fragmentación, no tendrán fragmentación cuando al buscar el numero de paginas el residuo sea 0.



                       47 / 10 = 4     residuo 3




Al la T3 necesitar 5 marcos para ingresar, el solo haber 4 marcos disponibles la T3 queda en cola.


La paginación tiene una tabla para el control de las tareas separadas por paginas.




Para buscar errores se va a la tarea con el error y la linea donde este esta, se hace una division pata ver en que parte de la pagina esta el error.

ejemplo:   T2 - error linea  24.
 
                      24 /   10 =  2       residuo 4

el error se encuentra en la pagina 2 en la linea 4.