domingo, 20 de enero de 2019

Link relacionados

Interesante, revisalo

Esquemas de asignación "Imagínate lo educativo que es "

SUPER EDUCATIVO

Video Educativo

GESTIÓN DE LA MEMORIA

En un sistema operativo moderno, la gestión de la memoria corre a cargo de un subsistema básico que se encarga de:
Presentar a los procesos un espacio de memoria contiguo, aunque se estén utilizando diferentes espacios (memoria principal y memoria secundaria)
Optimizar la manera en la que se utiliza la memoria:
·         Los datos e instrucciones con los que se trabaja deben estar en memoria principal
·         Los datos e instrucciones con los que no se trabaja pueden estar descargados a memoria secundaria
·         Se debe evitar los fallos de página (necesitar algo que está en memoria secundaria, lo que nos obliga a esperar a que se traiga hasta memoria principal)
·         Se debe utilizar la memoria principal disponible para acelerar la entrada/salida (buffers y caché)


REASIGNACIÓN

En los sistemas con memoria virtual, los programas durante su ejecución pueden salir por un tiempo de la memoria y luego regresar, de modo que no pueden colocarse en el lugar que ocupaban previamente. Por ello debe ser posible que residan en diferentes partes de la memoria en diferentes momentos. Así, la gestión de memoria en el sistema operativo debe ser capaz de trasladar los programas en memoria y manejar referencias a la memoria y las direcciones en el código del programa para que siempre apunten a la ubicación correcta. La unidad de gestión de memoria virtual también debe hacer frente a la concurrencia.

Protección

Los procesos no deberían poder referenciar la memoria de otros procesos sin permiso, para evitarlo existe la protección de memoria, que evita que código malicioso o erróneo de un programa interfiera con la operación de otros programas en ejecución.

Memoria compartida

Aunque la memoria utilizada por diferentes procesos suele estar protegida, algunos procesos puede que sí tengan que compartir información y, para ello, han de acceder la misma sección de memoria. La memoria compartida es una de las técnicas más rápidas para posibilitar la comunicación entre procesos.

Organización lógica

Los programas a menudo están organizados en módulos, algunos de los cuales pueden ser compartidos por diferentes programas, algunos son de solo-lectura y otros contienen datos que se pueden modificar. Se escriben y se compilan independientemente. La gestión de memoria es responsable de manejar esta organización lógica, que se contrapone al espacio de direcciones físicas lineales. Una forma de lograrlo es mediante la segmentación de memoria.

Organización física

La memoria suele dividirse en un almacenamiento primario de alta velocidad y uno secundario de menor velocidad. La gestión de memoria del sistema operativo se ocupa de trasladar la información entre estos dos niveles de memoria.

Dirección física
En la informática, una dirección física (también denominada dirección real o dirección binaria) es una dirección de memoria que se representa en forma de un número binario en la circuitería de bus de direcciones para permitir que el bus de datos acceda a una celda de almacenamiento particular de la red principal de memoria o un registro de dispositivo de E/S mapeada en memoria.
Resultado de imagen para DIRECCIONES VIRTUALES Y FÍSICAS

Dirección Virtual

En informática, la memoria virtual es una técnica de gestión de la memoria que se encarga de que el sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria que esté disponible físicamente. La mayoría 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 más información (código y datos) que la que se puede mantener en memoria física. Esto es así sobre todo cuando el sistema operativo permite múltiples procesos y aplicaciones ejecutándose simultáneamente. Una solución al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su información en disco, moviéndola a la memoria principal cuando sea necesario. Hay varias formas de hacer esto.
Una opción es que la aplicación misma sea responsable de decidir qué información será guardada en cada sitio (segmentación), y de traerla y llevarla. La desventaja de esto, además de la dificultad en el diseño e implementación del programa, es que es muy probable que los intereses sobre la memoria de dos o varios programas generen conflictos entre sí: cada programador podría realizar su diseño teniendo en cuenta que es el único programa ejecutándose en el sistema. La alternativa es usar memoria virtual, donde la combinación entre hardware especial y el sistema operativo hace uso de la memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha más memoria principal (RAM) que la que realmente posee. Este método es invisible a los procesos. La cantidad de memoria máxima que se puede hacer ver que hay tiene que ver con las características del procesador. Por ejemplo, en un sistema de 32 bits, el máximo es 2, lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de aplicaciones mucho más fácil, al poder ignorar completamente la necesidad de mover datos entre los distintos espacios de memoria.
Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador.

 Resultado de imagen para DIRECCIONES VIRTUALES Y FÍSICAS

Esquema de asignación de memoria en multiprogramación

Multiprogramación con particiones fijas (MFT)

Dado que los procesos no tienen necesariamente que tener el mismo tamaño que las particiones, existirán espacios no utilizables dentro de estas, denominados como [fragmentación interna]].
Esto hace que no se utilice el total de la memoria siendo una de las principales deficiencias de este esquema de asignación.

Multiprogramación con particiones variables (MVT)

Al dividirse la memoria en bloques de tamaño diferente, puede ocurrir que el bloque más grande no pueda contener un programa dado, a pesar de que la suma de los espacios libres sea mayor que el tamaño del programa; a esto se le denomina fragmentación externa.

Esquemas

·         Esquema primer ajuste: El administrador de memoria revisa toda la lista de segmentos hasta encontrar un espacio lo suficientemente grande. El espacio se divide entonces en dos partes, una para el proceso y la otra para la memoria no utilizada. Este algoritmo es rápido, puesto que busca lo menos posible.
·         Esquema de próximo ajuste: Funciona de la misma forma que el anterior, con la diferencia que mantiene un registro del lugar dónde encuentra un hueco adecuado. La siguiente vez que se le llama, comienza a buscar desde el punto donde se detuvo, en lugar de comenzar a buscar siempre desde el inicio.
·         Esquema de mejor ajuste: Busca en toda la lista y toma el mínimo hueco adecuado. En lugar de asignar un hueco grande, intenta encontrar un hueco más cercano al tamaño necesario.
·         Esquema peor ajuste: Toma siempre el hueco más grande disponible, de forma que el hueco resultante sea lo suficientemente grande para ser útil.

Asignación no contigua

En el momento de la carga de un trabajo le corresponde al sistema operativo localizar los huecos libres existentes con las capacidades requeridas para los segmentos, construir la tabla de segmentos y colocar en un registro base la dirección de ésta, si el trabajo va a ser ejecutado de inmediato. Normalmente la tabla de segmentos es conservada en el PCB del proceso.

Ventajas

Con este esquema, los programas se dividen en unidades de tamaño fijo. A estas unidades se les denomina: páginas; es decir, un programa está compuesto por un conjunto de estas.
Por otro lado, la memoria física se divide en bloques de igual longitud, coincidiendo esta con la que tienen las páginas. A estos bloques se les llaman marcos de páginas; en cada uno se puede almacenar justamente una página.

Desventajas

En el paginado no existe la fragmentación externa, pero si se presenta la fragmentación interna en el último marco de página, pues normalmente tendrá una parte de su espacio sin uso.
La solución a esto está utilizar páginas pequeñas. El tamaño de las páginas (y de los marcos) es definido por el hardware, normalmente una potencia de 2, lo cual hace la traducción de lógica a física más sencilla.

Segmentación

El esquema de segmentación paginada parte de algunas ventajas de la paginación: elimina la fragmentación externa y aprovecha eficientemente la memoria; así como otras de la segmentación: visible al [programador] y da soporte para compartición y protección. Este esquema es de frecuente uso en sistemas operativos actuales.





INTEGRANTES

OBANDO ERICK
BARRE JONATHAN
BARRES IVAN DARIO

Link relacionados

Interesante, revisalo Esquemas de asignación "Imagínate lo educativo que es " SUPER EDUCATIVO Video Educativo