TO
TECNOL
OGÍCO TRABAJO…CUBRIO
EXCELENTE
PUNTOS
TODOS LOS
Introducción --------------------------------------------------------------------------2
Conclusión --------------------------------------------------------------------------18
Actividades de Aprendizaje
----------------------------------------------------19
1
INTRODUCCIÓN
2
La selección de uno de ellos depende principalmente del diseño del hardware para
el sistema. A continuación, se observarán los puntos correspondientes a la
administración de la memoria
3
Los sistemas de administración de memoria se pueden clasificar en dos tipos: los
que desplazan los procesos de la memoria principal al disco y viceversa durante la
ejecución y los que no.
Política
El sistema operativo debe llevar a cabo una política de espacio de asignación de
memoria.
Esto es necesario cuando se precisa crear el mapa de memoria de un proceso
que ocupa un determinado tamaño para poder así determinar qué zonas libres se
deberían utilizar; esto con el fin de lograr conjugar los siguientes aspectos:
Buen aprovechamiento de la memoria
Algoritmo de decisión eficiente
4
¿Se colocan los programas lo más cerca unos de otros en los espacios
disponibles de la memoria principal para reducir al mínimo el desperdicio de
espacio, o se colocan los programas lo más rápido posible para reducir al
mínimo el tiempo de ejecución?
Si se necesita colocar un nuevo programa en el almacenamiento principal y éste
está lleno, ¿Cuál de los otros programas se desaloja? Una vez que hayan
respondido esas preguntas, entonces será posible determinar cuál es la mejor
política de asignación de memoria.
Entre las políticas de asignación de memoria tenemos las siguientes:
FIFO
Los procesos se despachan de acuerdo a su tiempo de llega a la cola de procesos
listos, si un proceso llega al procesador sale hasta que termine. La política FIFO
actualmente no se usa como el esquema principal de un sistema, pero si por
ejemplo cuando se usa una política de prioridades y hay procesos con la misma
prioridad, a estos se les podría aplicar FIFO.
Round Robin
Los procesos se atienden en la forma que lo hace el FIFO, pero se les asigna una
cantidad limitada de tiempo en el procesador, si no termina en ese lapso se manda
al final de la lista de procesos listos.
5
cortos, lo logra usando una formula basada en el tiempo de espera y el tiempo de
servicio, con lo cual la prioridad de cada trabajo no solo está en función del tiempo
de servicio sino también del tiempo que ha esperado para ser atendido.
6
Para que un sistema informático sea cómodo para los usuarios, el sistema
operativo proporciona una vista lógica y uniforme del sistema de almacenamiento
de la información. El sistema operativo abstrae las propiedades físicas de los
dispositivos de almacenamiento y define una unidad de almacenamiento lógico,
el archivo.
El sistema operativo asigna los archivos a los soportes físicos y accede a dichos
archivos a través de los dispositivos de almacenamiento.
7
3.3 – ORGANIZACIÓN DE MEMORIA VIRTUAL
“Almacenamiento virtual” significa la capacidad de direccionar un espacio de
almacenamiento mucho mayor que el disponible en el almacenamiento primario de
determinado sistema de computación.
Técnicas de “paginación”.
Técnicas de “segmentación”.
Una combinación de ambas técnicas.
Real:
o Sistemas dedicados a un solo usuario.
Real:
o Sistemas de multiprogramación en memoria real:
Multiprogramación en partición fija:
Absoluta.
Relocalizable (reubicable).
Multiprogramación en partición variable.
Virtual:
o Multiprogramación en almacenamiento virtual:
Paginación pura.
8
Segmentación pura.
Combinación paginación / segmentación.
“Direcciones virtuales”:
o Son las referidas por un proceso en ejecución.
“Direcciones reales”:
o Son las disponibles dentro del almacenamiento primario.
“Espacio de direcciones virtuales (v)” de un proceso:
o Es el número de direcciones virtuales a que puede hacer referencia
el proceso.
“Espacio de direcciones reales (r)” de un computador:
o Es el número de direcciones reales disponibles en el ordenador.
Existen varios medios para asociar las direcciones virtuales con las reales.
9
(como ejemplo Figura 3.13).
10
Organización del Almacenamiento de Niveles Múltiples
11
Segundo nivel: “almacenamiento auxiliar, secundario o adicional ”:
o Generalmente consta de discos de gran capacidad que pueden
mantener los programas y datos que no caben al mismo tiempo en el
más limitado almacenamiento real.
12
Transformación de Bloques
El sistema está informado del lugar del almacenamiento real donde han
sido colocados los bloques de almacenamiento virtual.
Cuanto mayor sea el bloque menor será la fracción del almacenamiento
real que debe dedicarse a contener la información del mapa.
Con bloques grandes:
o Se reduce la sobrecarga de almacenamiento del mecanismo de
transformación.
o Se incrementa el tiempo de transferencia entre los almacenamientos
secundario y primario.
o Consumen más almacenamiento real pudiendo limitar el número de
procesos que pueden compartirlo.
Los bloques pueden ser de tamaño:
o Igual: se denominan “páginas” y la organización de almacenamiento
virtual asociada se denomina “paginación”.
o Diferente: se denominan “segmentos” y la organización de
almacenamiento virtual asociada se denomina “segmentación”.
Se pueden combinar ambas técnicas: segmentos de tamaño variable
compuestos de páginas de tamaño fijo.
13
Contiene la dirección real “b ’ ” para el bloque “b”.
El desplazamiento “d” se añade a la dirección de inicio del
bloque, “b’ ”, para formar la “dirección real” deseada: “r= b’ +
d”.
14
3.4 - ADMINISTRACIÓN DE MEMORIA VIRTUAL
Estrategias de Administración
Las estrategias para la administración de sistemas de almacenamiento virtual
condicionan la conducta de los sistemas de almacenamiento virtual que operan
según esas estrategias.
1. Estrategias de obtención
Determinan cuándo se debe transferir una página o un segmento del
almacenamiento secundario al almacenamiento real.
Por demanda
15
Este método garantiza que las únicas páginas traídas del almacenamiento
principal sean las que en realidad necesita el proceso. La sobrecarga
implicada en la decisión de qué páginas traer a almacenamiento principal es
mínima.
Por anticipado
2. Estrategias de colocación
Determinan en qué lugar del almacenamiento primario se debe colocar una página
o segmento entrante.
16
3. Estrategias de reemplazo
Sirven para decidir cuál página o segmento se debe desplazar para dejar espacio
a una página o segmento entrante cuando está completamente ocupado el
almacenamiento primario.
17
e. Página no usada recientemente. Las páginas que no han tenido uso reciente,
tienen poca probabilidad de ser usadas en un futuro próximo y pueden ser
reemplazadas por otras nuevas.
Liberación de página
En una administración del almacenamiento mediante conjuntos de trabajo, los
programas indican por referencia explícita cuáles páginas desean utilizar.
Los programas que ya no requieran páginas específicas deberán desechar tales
páginas de sus conjuntos de trabajo. Por lo regular, hay un tiempo durante el cual
permanecen en el almacenamiento principal las páginas que ya no se requieren.
Cuando es evidente que ya no será necesaria una página, un usuario podría dar
una orden de liberación voluntaria de página para liberar el marco de página.
Tamaño de páginas
Un punto importante a considerar en la administración del almacenamiento virtual
es el tamaño que debe tener las páginas. Problemas como si el tamaño de las
páginas en el sistema debe ser siempre el mismo, o si los tamaños más grandes
deben ser múltiplos enteros de los tamaños menores de página, no tienen
respuestas universales. No existe una necesidad imperiosa de que todos los
sistemas tengan el mismo tamaño de página o en ese caso, un tamaño de página
único.
18
CONCLUSIÓN
19
ACTIVIDADES DE
APRENDIZAJE
20
Investigar y discutir el concepto de administración de
memoria, su clasificación y jerarquía basados en el
estado del arte actual de los sistemas operativos
21
CLASIFICACIÓN DE MEMORIA
Características
BIOS
Características
22
Tipos de Memoria ROM
Memoria CACHE
Características
Características
23
SATA - SERIAL ADVANCED TECHNOLOGY ATTACHMENT
Cintas Magnéticas
Características
Memoria Virtual
Características
24
JERARQUÍA DE MEMORIA
25
Definir las ventajas y desventajas de la memoria virtual
Ventajas:
Desventajas
26
memoria virtual deba ser llevada a memoria real; pequeño desperdicio de memoria
que se produce en la última página de un programa (ya que rara vez el tamaño del
programa es múltiplo del tamaño de las páginas); merma en el rendimiento del
computador si es incorrectamente utilizada; posible incremento del tiempo de
ejecución de cada programa como consecuencia de la paginación (operaciones de
entrada/salida que demorarán la ejecución del programa).
La memoria virtual puede ser una herramienta poderosa para incrementar
la performance del computador. Pero ello depende de ciertos factores, tales como:
Velocidad de los dispositivos que contendrán la memoria virtual: La
actividad de paginación afecta adversamente a la performance del equipo cuando
el procesador real está frecuentemente esperando que termine una operación de
entrada/salida de paginación; por tanto, se debe procurar que los requerimientos
de operaciones de paginación estén por debajo de lo necesario para aprovechar
convenientemente la multiprogramación. En caso contrario se incrementarán los
tiempos ociosos del órgano de comando. Velocidad del procesador: Una relación
desbalanceada entre la velocidad del procesador y la del dispositivo de paginación
puede alterar el rendimiento. Tamaño de la memoria real y virtual: La cantidad de
memoria real de la CPU (en relación con el tamaño de la memoria virtual) afectará
el número de páginas faltantes que deberán ser traídas del dispositivo de
paginación. Si el tamaño de la memoria real es igual al de la virtual que están
usando los programas en ejecución no habrá páginas faltantes ya que todas
estarán en memoria real. En cambio, cuando la memoria real sea menor, la
cantidad de páginas faltantes estará dada por la razón de la memoria virtual usada
por la memoria real disponible. Estructura de los programas: La cantidad de
memoria virtual que usa un programa no es un factor tan significativo en la
performance del equipo como la forma en que la usa. Algunas formas para
incrementar el rendimiento del equipo son:
Usar áreas de entrada/salida más larga: Reduce el tiempo en que las
páginas del programa estarán en memoria real. Sin embargo, un aumento muy
significativo podría afectar negativamente el rendimiento en equipos con poca
memoria real.
Aumentar la capacidad de manejo de páginas faltantes cuando la actividad
de paginación causa frecuentes desactivaciones de programas: Esto puede ser
realizado:
Usando un dispositivo de mayor velocidad; estableciendo más dispositivos
de paginación; reduciendo o eliminados archivos del dispositivo de paginación;
reduciendo la actividad del canal que corresponde al dispositivo de paginación; o
aumentando un poco la memoria real.
27
Funciones de un administrador de memoria
Requisitos de Gestión de Memoria
28
Elaborar un mapa conceptual de las diferentes técnicas
de la administración de memoria real
29
Analizar los problemas que presenta la asignación
de memoria
Primer ajuste
30
Mejor ajuste
Peor ajuste
31
Sistema Buddy
El espacio completo disponible se trata como un único bloque de tamaño 2U.
Si se realiza una petición de tamaño s, tal que 2U-1<s<=2U, se asigna el bloque
entero
En otro caso, el bloque se divide en dos bloques buddy iguales de tamaño.
El proceso continúa hasta que el bloque más pequeño mayor o igual que s se
genera.
Almacenamiento virtual
Capacidad de obtener acceso a direcciones en un espacio de almacenamiento
mucho mayor que el disponible en el almacenamiento primario del sistema.
SO Atlas, Manchester 1960.
32
Disociación de las direcciones (V) a las que hace referencia un proceso en
ejecución de las direcciones disponibles en el almacenamiento primario (R).
Las direcciones calculadas por procesos no necesariamente las disponibles en el
almacenamiento primario
Dirección real: Dirección disponible en memoria.
Dirección virtual: Direcciones usadas por procesos.
Intercambio/swap
Un proceso puede intercambiarse temporalmente de memoria a un
almacenamiento de respaldo y luego puede ser retomado hacia la memoria para
continuar su ejecución.
El almacenamiento de respaldo se hace en el disco, que debe ser rápido y tener
suficiente espacio para ubicar copia de todas las imágenes de memoria para todos
los usuarios; debe proveer acceso directo a estas imágenes de memoria.
Descargar (swap out), cargar (swap in): Variante de intercambio en algoritmos de
planificaciones de prioridad; los procesos de baja prioridad se sacan de memoria
de tal forma que los procesos de mayor prioridad puedan ser cargados y
ejecutados.
La mayor parte del tiempo es tiempo de transferencia; este es directamente
proporcional a la cantidad de memoria intercambiada.
Existen versiones modificadas de intercambio en los diferentes sistemas, por
ejemplo, Unix, Linux y Windows.
Vista esquemática del intercambio
33
Fundamentos de memoria virtual
El procesador utiliza y genera direcciones virtuales.
Parte del mapa de memoria (virtual) está en disco (swap) y parte en memoria
principal.
La MMU (memory management unit) traduces las direcciones virtuales en físicas.
La MMU produce un fallo de página (trap) cuando la dirección no está en memoria
principal.
El SO trata el fallo de página, haciendo un transvase entre la memoria principal y
el área de intercambio (swap disco).
En el esquema de MMU, el valor del registro de reubicación se suma a cada
dirección generada por el proceso de usuario al momento de ser enviado a la
memoria.
El programa del usuario se preocupaba de las direcciones lógicas; nunca tenía
que preocuparse por las direcciones físicas.
34
Almacenamiento virtual
Espacio de direcciones virtuales, V: espacio de direcciones a las que puede hacer
referencia un proceso.
Espacio de direcciones reales, R: Almacenamiento físico disponible, en general
V>>R.
Traducción dinámica de direcciones (DAT): V===>R.
Mapa de correspondencia de traducción de direcciones: por bloques=s páginas,
<> segmento.
Direccionamiento bidimensional: Bloque, desplazamiento.
35
Diferenciar entre partición, segmento, página de
memoria y sus características
Gestión
Sistema de gestión de memoria en un sistema operativo.
La segmentación es una técnica de gestión de memoria que pretende acercarse
más al punto de vista del usuario. Los programas se desarrollan, generalmente, en
torno a un núcleo central (principal) desde el que se bifurca a otras partes (rutinas)
o se accede a zonas de datos (tablas, pilas, etc.).
Desde este punto de vista, un programa es un conjunto de componentes lógicos
de tamaño variable o un conjunto de segmentos, es decir, el espacio lógico de
direcciones se considera como un conjunto de segmentos, cada uno definido por
un identificador, y consistente de un punto de inicio y el tamaño asignado.
La segmentación de un programa la realiza el compilador y en ella cada dirección
lógica se expresará mediante dos valores: Número de segmento
(s) y desplazamiento dentro del segmento (d).
Una de las implementaciones más obvias y directas de un espacio de memoria
segmentado es asignar un segmento distinto a cada una de las secciones del
espacio en memoria de un proceso.
La segmentación también ayuda a incrementar la modularidad de un programa: Es
muy común que las bibliotecas enlazadas dinámicamente estén representadas en
segmentos independientes.
Partición
Las particiones, por decirlo de algún modo, son los trozos en que está dividido un
disco duro.
Así, cuando decimos que un disco duro tiene tres particiones, significará que el
disco duro está dividido en tres trozos, no necesariamente iguales.
Todo disco duro para poderse utilizar con cualquier sistema operativo debe tener
como mínimo una partición.
Si sólo tenemos una significará que el disco duro no está dividido, y la partición
ocupa todo el disco duro quitando el espacio no particionado.
36
Nosotros, podemos elegir el tamaño de cada partición en función de lo que irá en
cada una de ellas y de la capacidad del disco duro.
En caso de que, sobre espacio, será espacio no particionado.
El espacio no particionado de un disco duro no es accesible ya que no forma parte
de ninguna partición.
37
Por ejemplo, si vamos a instalar un Windows 95, 98 o Me debemos tener al menos
una partición primaria con el sistema de archivos FAT32. Si vamos a instalar
Windows NT, Windows 2000 o Windows XP debemos utilizar el sistema de
archivos NTFS, aunque el XP también acepta el sistema de archivos FAT32.
Si fuéramos a instalar Linux o Unix deberíamos asignarle el sistema de archivos
EXT2, EXT3, etc.
Esto se hace al crear una partición o al darle formato.
Página de memoria
En sistemas operativos de computadoras, los sistemas
de paginación de memoria dividen los programas en pequeñas partes o páginas.
Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las
páginas llamados marcos de página. De esta forma, la cantidad de memoria
desperdiciada por un proceso es el final de su última página, lo que minimiza
la fragmentación interna y evita la externa.
En un momento cualquiera, la memoria se encuentra ocupada con páginas de
diferentes procesos, mientras que algunos marcos están disponibles para su uso.
El sistema operativo mantiene una lista de estos últimos marcos, y una tabla por
cada proceso, donde consta en qué marco se encuentra cada página del proceso.
De esta forma, las páginas de un proceso pueden no estar continuamente
ubicadas en memoria, y pueden intercalarse con las páginas de otros procesos.
En la tabla de páginas de un proceso, se encuentra la ubicación del marco que
contiene a cada una de sus páginas. Las direcciones lógicas ahora se forman
como un número de página y de un desplazamiento dentro de esa página
(conocido comúnmente como offset). El número de página es usado como un
índice dentro de la tabla de páginas, y una vez obtenida la dirección del marco de
memoria, se utiliza el desplazamiento para componer la dirección real o dirección
física. Este proceso se realiza en una parte del computador específicamente
diseñada para esta tarea, es decir, es un proceso hardware y no software.
38
Investigar y discutir en grupo los mecanismos de
optimización de memoria
Para optimizar el uso del CPU y de la memoria, el sistema operativo debe de tener
varios procesos a la vez en la memoria principal, para lo cual dispone de varias
opciones de administración tanto del procesador como de la memoria. La
selección de uno de ellos depende principalmente del diseño del hardware para el
sistema.
Organización de la Memoria
En primer lugar tenemos que distinguir claramente entre tres tipos de memoria:
Memoria EEPROM donde almacenaremos el programa que haremos, esta
memoria solo podrá ser leída por el pic (el pic va leyendo las instrucciones del
programa almacenado en esta memoria y las va ejecutando). Al apagar el pic esta
memoria no se borra.
39
Memoria RAM en cuyos registros se irán almacenando los valores de las
variables que nosotros queramos y cuando nosotros queramos (por programa), al
apagar el pc esta memoria se borra.
Administrador de la Memoria
Entre algunas ventajas, esta memoria permite que el sistema cuente con una
memoria más extensa teniendo la misma memoria real, con lo que esta se puede
utilizar de manera más eficiente. Y por supuesto, que los programas que son
utilizados no ocupen lugar innecesario.
Las técnicas que existen para la carga de programas en la memoria son: partición
fija, que es la división de la memoria libre en varias partes (de igual o distinto
tamaño) y la partición dinámica, que son las particiones de la memoria en tamaños
que pueden ser variables, según la cantidad de memoria que necesita cada
proceso.
40
Jerarquía de la Memoria
Se busca contar con capacidad suficiente de memoria, con una velocidad que
sirva para satisfacer la demanda de rendimiento y con un coste que no sea
excesivo.
41
REFERENCIAS BIBLIOGRAFÍAS
http://cmapspublic2.ihmc.us/rid=1NHTMQL9Z_8JBHWZ-20TL/Administraci%C3%B3n
%20de%20Memoria.cmap
http://sitemasoperativosicurosemestre6.blogspot.com/2013/07/32-memoria-real.html
https://sites.google.com/site/materiasisoperativo/unidad-3-administracion-de-la-
memoria/3-3-organizacion-de-memoria-virtual
https://es.wikipedia.org/wiki/Paginación_de_memoria
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro26/tcnicas_de_reemplazo_de_p
gina.html
http://marroquin12.blogspot.com/2012/11/34-administracion-de-la-memoria-virtual.html
https://sites.google.com/site/sisoper1/home/gestion-de-memoria
http://castillosa.blogspot.com/2015/01/ventajas-y-desventajas.html
https://sites.google.com/site/materiasisoperativo/unidad-3-administracion-de-la-
memoria
https://rangivas.wordpress.com/2015/05/16/requisitos-de-gestion-de-memoria/
https://prezi.com/qyqgxptzvube/funciones-del-administrador-de-memoria/
https://chsosunal201610912053.wordpress.com/2016/05/03/problema-de-la-asignacion-
dinamica-de-memoria/
https://es.wikipedia.org/wiki/Segmentación_de_memoria
http://www.rinconsolidario.org/linux/cursoLinux/comoInstalarLinux/particiones/particion
es.html
https://sites.google.com/site/materiasisoperativo/unidad-3-administracion-de-la-memoria/3-3-
organizacion-de-memoria-virtual
42