lunes, 15 de febrero de 2016


PARTICIONES DINÁMICAS RE LOCALIZABLES:




Con este esquema de asignación de memoria, el administrador de memoria relocaliza los programas para reunir los bloques vacíos y compactarlos, para hacer un bloque de memoria lo bastante grande para aceptar algunas o todas las tareas en espera de entrar.


La compactación no es una tarea sencilla. Primero, todos los programas en memoria se deben re-localizar, de manera que queden contiguos; luego hay que ajustar cada dirección y cada referencia a una dirección en todo programa para tomar en consideración la nueva localización del programa en memoria.

La fragmentación interna es la pérdida de espacio en disco debido al hecho de que el tamaño de un determinado archivo sea inferior al tamaño del cluster, ya que teóricamente el archivo estaría obligado a ser referenciado como un cluster completo. Los cluster(s) son contiguos de forma que desde el último bit del archivo situado en el cluster "a" hasta el primer bit del archivo situado en el cluster contiguo (es decir "b") queda un espacio sobrante siempre teniendo la condición de que el archivo del cluster "a" fuera más pequeño que el cluster en sí.
Por eso se sugiere no disponer de un gran tamaño de partición en los discos nuevos donde la capacidad es muy importante. Por ejemplo si nuestro clúster es de 18KB (18.432 bytes) por más que un archivo ocupe menos, en nuestro disco ocupara 18KB. Esto sugiere una pérdida de ese espacio que dice utilizar pero no utiliza.
Por eso, en nuestro ejemplo, un archivo de 3KB ocupara en nuestro disco lo mismo que uno de 10KB, o sea 18 KB. Esa pérdida de espacio se denomina fragmentación interna, y no se corrige con el desfragmentador, sino disminuyendo el tamaño de la partición.

En la memoria del sistema la fragmentación se produce cuando los procesos asignados han ocupado posiciones no contiguas de memoria dejando demasiados bloques libres de pequeño tamaño, en los que no "caben" nuevos procesos.
En sistemas de ficheros la desfragmentación trata de resolver este problema, alineando los bloques de datos contiguos y juntando los bloques libres, produciendo así fragmentos mayores que sí serán elegidos para futuros ficheros. En la memoria principal se soluciona compactando los procesos para que estos ocupen posiciones contiguas y dejar los bloques libres juntos, o también se soluciona con la paginación de memoria.


Técnicas de Asignación de memoria


1er Ajuste
Se encarga de particionar la memoria y llenar de manera rápida la memoria, es un ajuste de rapidez

Mejor ajuste
Se encarga de poner las tareas en mejores espacios por lo cual proporcionando que la memoria tenga muy poca fragmentacion, es un ajuste de optimista

peor ajuste
Asigna tareas muy pequeñas en espacios muy grandes, usado para tener precisión, se utilizo en el lenguaje falscran en el viaje a la luna.

Siguiente ajuste
Se asigna una tarea, la siguiente tarea a asignar se evalúa desde la siguiente partición a la tarea anterior no desde el inicio de la memoria


Casos de eliminación

Las tareas al terminar su proceso de memoria y al salir en dinámicas ocurren tres casos

1-- Entre 2 espacios ocupados: 1 libre

2- Entre 1 espacio ocupado y 1 vació: une  2 particiones

3- Entre dos espacios de memoria Vacíos: une 3 particiones

Dinámicas re localizables

El administrador de memoria re localizar los programas para reunir los bloques vacíos y los compacta para hacer un bloque de memoria lo bastante grande, lo que permite que la fragmentacion externa se elimine entre tareas lo que da un mejor funcionamiento a la memoria, menor fragmentacion mas espacios para tareas.

Este proceso se ejecuta por 3 razones
1-Tiempo
2-% de memoria
3- Tareas en cola





domingo, 14 de febrero de 2016

Particiones de Memoria 

Las particiones de memoria pueden ser definidas estáticamente durante la generación del sistema o dinámicamente en respuesta a las demandas del usuario.
       
Cuando el particionamiento es estático, se produce un desaprovechamiento de la memoria, cuando se carga un objeto de menor tamaño que la partición y al espacio que se desaprovecha, se le denomina fragmentación interna.
El particionamiento dinámico, elimina este problema, haciendo cada partición tan grande como sea necesario para ajustarse al objeto dado, por lo tanto, cuando se lleva un objeto fuera de la memoria, la partición ocupada por él, se devuelve a la reserva de espacio libre.
            Después de algún tiempo de funcionamiento, el particionamiento dinámico produce una dispersión de espacio libre en áreas discontinuas, que son de un tamaño insuficiente para albergar otro objeto. A este tipo de desaprovechamiento de la memoria, se le denomina fragmentación externa.
            Respecto a la manera de abordar la asignación de memoria no contigua, se pueden utilizar las dos técnicas siguientes:
·         La Paginación.
·         La Segmentación.


En la Paginación, la memoria principal se divide en un conjunto de marcos de página de igual tamaño y cada proceso se divide en una serie de páginas del mismo tamaño, que los marcos de página en que se ha dividido la memoria principal. El proceso se cargará situando todas sus páginas en los marcos libres, que no necesariamente serán contiguos.
            La utilización de la Paginación, elimina la fragmentación externa, pero puede producirse una pequeña fragmentación externa en la última página de un proceso.
            En la Segmentación los programas se dividen en módulos y cada módulo se convierte en un segmento durante la compilación del programa. Un proceso se cargará, situando todos sus segmentos, en particiones dinámicas, que no necesariamente tienen que ser contiguas.
            La utilización de la Segmentación, elimina totalmente la fragmentación interna, pero puede producirse fragmentación externa, que se elimina con la compactación.
            Independientemente del tipo de asignación de la memoria que se utilice, la posible eficacia de un gestor de memoria, es mayor en sistemas donde los programas son reubicables, es decir, que puedan ser cargados en las distintas áreas de memoria, disponibles en un momento dado.
            Con objeto de proporcionar unas bases comunes, para la evaluación de cada esquema analizado, se establecen los siguientes criterios de medida:
·         Memoria desaprovechada.
·         Complejidad en el tiempo.
·         Procesos suplementarios de acceso a memoria.

La memoria desaprovechada se considera que es la fracción de memoria física sin usar, que un esquema de gestión de memoria dado, es incapaz de asignar, cuando procesa una secuencia de peticiones de memoria.

La complejidad en el tiempo, se refiere a la dificultad del cálculo que es preciso realizar, para la asignación o desasignación de la memoria, utilizado por un esquema determinado de gestión de la memoria.
 Los procesos suplementarios de los accesos a memoria, se refieren a la duración de las operaciones adicionales, llevadas a cabo por un esquema de gestión de memoria dado, cuando accede a la memoria.
            Una definición más amplia de la memoria desaprovechada, consiste en la posibilidad de mantener residentes en memoria, múltiples copias de un único objeto común, debido a un deficiente o restringido uso compartido.
            Un gestor de memoria ideal debe:
Minimizar:
·         La memoria desaprovechada.
·         La complejidad en el tiempo.
·         Los procesos suplementarios de acceso a memoria.
            Proporcionar:
·         Una buena protección de memoria.
·         Un uso compartido flexible.

Estos requerimientos no son realizables simultáneamente, por los esquemas de gestión de memoria que se van a describir, por lo tanto, un diseñador de un sistema operativo, tendrá que identificar y establecer la prioridad de un diseño particular, para crear un esquema de gestión de memoria apropiado a los requerimientos del sistema dado.
REQUISITOS PARA LA GESTIÓN DE MEMORIA.
            Al realizar un estudio de los diversos mecanismos y políticas relacionadas con la gestión de memoria, conviene tener presente los requisitos que se deben satisfacer, en el diseño de un módulo de gestión de memoria:
·         Reubicación.
·         Protección.
·         Compartición.
·         Organización lógica.
·         Organización física.





Significado de Memoria ROM

La memoria ROM es el medio de almacenamiento de programas o datos que permiten el buen funcionamiento de los ordenadores o dispositivos electrónicos a través de la lectura de la información sin que pueda ser destruida o re-programable. El significado de memoria ROM es “Read Only Memory” traducido al español “Memoria de solo lectura.”
La memoria ROM es conocida como memoria no volátil ya que la información contenida en ella no es borrable al apagar el dispositivo electrónico.
La memoria ROM se encuentra instalada en la tarjeta madre “motherboard” lugar donde se encuentra la información básica del equipo, llamada “BIOS.”

Para qué sirve la memoria ROM

La memoria ROM es de suma importancia para el buen funcionamiento de los ordenadores y dispositivos electrónicos ya que al ser encendidos la memoria ROM permite el arranque del programa inicial que dará lugar a la iniciación de todo el sistema.

Significado de Memoria RAM

La memoria RAM es la memoria principal de un dispositivo donde se almacena programas y datos informativos. Las siglas RAM significan “Random Access Memory” traducido al español es “Memoria de Acceso Aleatorio”.  
La memoria RAM es conocida como memoria volátil lo cual quiere decir que los datos no se guardan de manera permanente, es por ello, que cuando deja de existir una fuente de energía en el dispositivo la información se pierde. Asimismo, la memoria RAM puede ser reescrita y leída constantemente.
Los módulos de  RAM, conocidos como memoria RAM son integrantes del hardware que contiene circuitos integrados que se unen al circuito impreso, estos módulos se instalan en la tarjeta madre de un ordenador. Las memorias RAM forman parte de ordenadores, consolas de videojuegos, teléfonos móviles, tablets, entre otros aparatos electrónicos.
Existen 2 tipos básicos de memoria RAM; RAM dinámica (DRAM) y RAM estática (SRAM), ambas utilizan diferentes tecnologías para almacenar los datos. La RAM dinámica (DRAM) necesita ser refrescada 100 de veces por segundos, mientras que la RAM estática (SRAM) no necesita ser refrescada tan frecuentemente lo que la hace más rápida pero también más cara que la memoria RAM dinámica. 


Memoria PROM


Los dispositivos programables se definen como aquellos circuitos de propósito general que poseen una estructura interna que puede ser modificada por el usuario final (o a petición suya, por el fabricante) para implementar una amplia gama de aplicaciones. El primer dispositivo que cumplió estas características fue la memoria PROM, que puede realizar un comportamiento de circuito utilizando las líneas de direcciones como entradas y las de datos como salidas (implementa una tabla de verdad).

También se podría decir, que la prom es un tipo de memoria de sólo lectura (ROM) que permite ser grabada con datos mediante un hardware especial llamado programador de PROM.

Memoria Cache

La cache es la solución al problema de rendimiento del sistema de memoria. Es muy pequeña y está incluida en el interior del micro. Su función es sencilla, conseguir que los datos más usados estén lo más cerca del procesador para ser accedidos de la manera más rápida posible.


Memoria Virtual

La memoria virtual aparece unida a los sistemas operativos modernos. Permite simular una RAM de mayor tamaño que la que tienes instalada en tu equipo.

Pero, veamos cómo se ejecuta un programa. Las aplicaciones y sus datos, para poder ser usados por el procesador, tienen que pasar del disco duro, que es donde se encuentra almacenado todo cuando apagas al equipo, a la memoria RAM que puede ser accedida de forma directa por el micro.


Sistemas Operativos


Un sistema operativo puede ser definido como un conjunto de programas especialmente hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora. Este conjunto de programas que manejan el hardware de una computadora u otro dispositivo electrónico. Provee de rutinas básicas para controlar los distintos dispositivos del equipo y permite administrar, escalar y realizar interacción de tareas.


Un sistema operativo, tiene también como función, administrar todos los periféricos de una computadora. Es el encargado de mantener la integridad del sistema.
Podemos decir que el sistema operativo es el programa más importante de la computadora.