Diferencia entre revisiones de «Esquemas de asignación de memoria»

 
(No se muestran 2 ediciones intermedias de 2 usuarios)
Línea 3: Línea 3:
 
|nombre=Esquemas de asignación de memoria
 
|nombre=Esquemas de asignación de memoria
 
|familia= Dos, Windows, Linux y Mac.
 
|familia= Dos, Windows, Linux y Mac.
|logo= SOima.jpg
+
|logo= Esquemas_de_asignación_de_memoria.jpeg
 
|captura=
 
|captura=
 
|pie=Logotipos de distintos Sistemas Operativos
 
|pie=Logotipos de distintos Sistemas Operativos
Línea 17: Línea 17:
 
|interfaz=
 
|interfaz=
 
|idiomas=Inglés, Español, Francés, Alemania, Portugués (entre otros)
 
|idiomas=Inglés, Español, Francés, Alemania, Portugués (entre otros)
}}'''Esquemas de asignación de memoria.''' La asignación de [[memoria]] es una de las principales responsabilidades de los [[sistemas operativos]], pues esta es la forma que el mismo tiene de destinar y dedicar una cierta cantidad de memoria a los [[procesos]] en ejecución.  
+
}}'''Esquemas de asignación de memoria.''' La asignación de [[memoria]] es una de las principales responsabilidades de los [[sistemas operativos]], pues esta es la forma que el mismo tiene de destinar y dedicar una cierta cantidad de memoria a los [[proceso]]s en ejecución.  
 
==Esquemas de asignación de memoria real==
 
==Esquemas de asignación de memoria real==
 
===Multiprogramación con particiones fijas (MFT)===
 
===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]].
+
Dado que los procesos no tienen necesariamente que tener el mismo tamaño que las [[Partición|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.
 
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)===
 
=== 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.
+
Al dividirse la memoria en [[bloque]]s 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===
 
===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 primer ajuste: El administrador de memoria revisa toda la lista de [[segmento]]s 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 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 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.
Línea 37: Línea 37:
 
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.
 
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.
+
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 [[Marco de página|marcos de páginas]]; en cada uno se puede almacenar justamente una página.
 
===Desventajas===
 
===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.  
 
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.  
Línea 48: Línea 48:
 
*[http://www.masadelante.com/faqs/sistema-operativo/ Memoria]
 
*[http://www.masadelante.com/faqs/sistema-operativo/ Memoria]
 
*[http://sistemasoperativos7a.galeon.com/ Memoria en Sistemas Operativos]
 
*[http://sistemasoperativos7a.galeon.com/ Memoria en Sistemas Operativos]
[[Category:Ciencias_Aplicadas_y_Tecnologías]] [[Category:Sistemas Operativos]]
+
[[Category:Ciencias_Aplicadas_y_Tecnologías]] [[Category:Sistemas operativos]]

última versión al 19:42 16 nov 2016

Esquemas de asignación de memoria
Información sobre la plantilla
Parte de la familia Dos, Windows, Linux y Mac.
Esquemas de asignación de memoria.jpeg
Desarrollador
Versión anteriorCommodore Amiga
Información general
Lanzamiento oficial1980
IdiomasInglés, Español, Francés, Alemania, Portugués (entre otros)

Esquemas de asignación de memoria. La asignación de memoria es una de las principales responsabilidades de los sistemas operativos, pues esta es la forma que el mismo tiene de destinar y dedicar una cierta cantidad de memoria a los procesos en ejecución.

Esquemas de asignación de memoria real

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.

Fuentes