[go: up one dir, main page]

0% encontró este documento útil (0 votos)
35 vistas33 páginas

Clase 08 - Unidad 4 Admin Mem Principal

Este documento presenta una introducción a la administración de memoria en sistemas operativos. Explica los requisitos de memoria, las técnicas de partición y paginación para asignar memoria a procesos. También describe cómo se organizan las secciones de memoria para cada proceso, como texto, datos, pila y espacio libre. Brevemente menciona técnicas como intercambio, compactación, y los tipos de fragmentación que pueden ocurrir. Finalmente, resume el concepto de paginación usando tablas de páginas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas33 páginas

Clase 08 - Unidad 4 Admin Mem Principal

Este documento presenta una introducción a la administración de memoria en sistemas operativos. Explica los requisitos de memoria, las técnicas de partición y paginación para asignar memoria a procesos. También describe cómo se organizan las secciones de memoria para cada proceso, como texto, datos, pila y espacio libre. Brevemente menciona técnicas como intercambio, compactación, y los tipos de fragmentación que pueden ocurrir. Finalmente, resume el concepto de paginación usando tablas de páginas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 33

SC- 203 Fundamentos de Sistemas

Operativos
Clase 08
Agenda

• Unidad 4: Administración de
Memoria Principal
• 4.1 Gestión de Memoria:
• Requerimientos
• Partición
• Paginación
Administración de Memoria

• El único espacio de almacenamiento que el procesador puede utilizar


directamente, más allá de los registros (que si bien son internos y
sumamente rápidos, son de capacidad demasiado limitada) es la
memoria física.
Administración de Memoria
• Todas las arquitecturas de procesador tienen instrucciones
para interactuar con la memoria, pero ninguna lo tiene para
hacerlo con medios persistentes de almacenamiento, como las
unidades de disco.

Importante: Cuando se encuentre en un texto referencia al


almacenamiento primario siempre se referirá a la memoria,
mientras que el almacenamiento secundario se refiere a los
discos u otros medios de almacenamiento persistente.
• La memoria de alta velocidad es demasiado
cara y cuando el procesador solicita el
contenido de una dirección de memoria y
esta no está aún disponible, tiene que
detener su ejecución (stall) hasta que los
datos estén disponibles.
• El CPU no puede, a diferencia del sistema
operativo, “congelar” todo y guardar el
estado para atender otro proceso: para el
procesador, la lista de instrucciones a
ejecutar es estrictamente secuencial, y todo
tiempo que requiere esperar una
transferencia de datos es tiempo perdido

La respuesta para reducir esa


espera es la memoria caché.
El espacio en memoria
de un proceso

• Cuando un sistema operativo inicia un


proceso, no se limita a volcar el archivo
ejecutable a memoria, sino que tiene
que proporcionar la estructura para que
éste vaya guardando la información de
estado relativa a su ejecución
Secciones del espacio de memoria de
un proceso

• Sección (o segmento) de • Sección de datos Espacio fijo


texto Es el nombre que recibe preasignado para las variables
la imagen en memo- ria de las globales y datos inicializados (como
instrucciones a ser ejecutadas. las cadena de caracteres por
Usualmente, la sección de ejemplo). Este espacio es fijado en
texto ocupa las direcciones tiempo de compilación, y no puede
más bajas del espacio en cambiar (aunque los datos que
memoria. cargados allí sí cambian en el tiempo
de vida del proceso).
• Espacio de libres: Espacio de
memoria que se emplea para la
asignación dinámica de memoria
durante la ejecución del proceso. Este
espacio se ubica por encima de la
sección de datos, y crece hacia arriba.
Este espacio es conocido en inglés
como el Heap.
• Pila de llamadas Consiste
en un espacio de memoria
que se usa para almacenar
la secuencia de funciones
que han sido llamadas dentro
del proceso, con sus
parámetros, direcciones de
retorno, variables locales,
etc. La pila ocupa la parte
más alta del espacio en
memoria, y crece hacia
abajo. En inglés, la pila de
llamadas es denominada
Stack.
Intercambio o Swapping

Consiste en llevar cada proceso completo


a memoria, ejecutarlo durante cierto
tiempo y después regresarlo al disco.

Los procesos inactivos mayormente son


almacenados en disco.
Intercambio o Swapping

Las direcciones que contienen los


procesos se deben reubicar
constantemente, ya sea mediante software
cuando se intercambia o (más
probablemente) mediante hardware
durante la ejecución del programa.
Por ejemplo, los registros base y límite
funcionarían bien en este caso.
Intercambio o Swapping

Cuando el intercambio crea varios huecos


Proceso 5
en la memoria, es posible combinarlos
todos en uno grande desplazando los
Proceso 6
procesos lo más hacia abajo que sea
posible. Proceso 1
Esta técnica se conoce como:
SO
Compactación de memoria
Asignación de Memoria

• PARTICIONAMIENTO FIJO

• PARTICIONAMIENTO DINAMICO O VARIADO

• PAGINACION

• SEGMENTACION
Fragmentación
• Es un fenómeno que se manifiesta a medida que los procesos terminan
su ejecución, y el sistema operativo libera la memoria asignada a cada
uno de ellos. Si los procesos se encontraban en regiones de memoria,
apartadas entre sí, comienzan a aparecer regiones de memoria
disponible, interrumpidas por regiones de memoria usada por los
procesos que aún se encuentran activos.
Fragmentación
Al crear un nuevo proceso, el sistema operativo tiene tres
estrategias según las cuales podría asignarle uno de los bloques
disponibles:

Estrategia Estrategia
Particiones Particiones
Fijas Variables
Particiones Fijas

• Consiste en dividir la
memoria libre en
varias partes de
igual tamaño o
diferentes tamaños.
• Estas particiones no
varían su tamaño.
Particiones Fijas
Tras la asignación de la
partición al proceso, puede
generarse una diferencia de
tamaños entre los espacios
de direcciones del proceso y
el de la partición.

A lo anterior se le conoce
como:
Fragmentación Interna
Particiones Fijas
Fragmentación interna
• Se debe a la diferencia de tamaño
entre la partición de memoria y el
objeto residente dentro de ella.
• Se produce siempre que se trabaje
con bloques de memoria de tamaño
fijo.
• Si el tamaño del objeto no coincide
con el de la partición, queda una
zona que no se puede aprovechar.
Particiones Variables
Las particiones en este caso son
variables en número y longitud, esto
significa que cuando se carga un
proceso a memoria principal se le asigna
el espacio que necesita en ella.
Con el paso del tiempo, los procesos
abandonan la memoria, por las razones
conocidas, dejando huecos que son
considerados:
Fragmentación externa
Particiones Variables
Fragmentación externa
• Se debe al desaprovechamiento de memoria entre
particiones.
Paginación

Es la técnica más utilizada por los


sistemas que utilizan memoria
virtual.
Las direcciones generadas por el
programa se conocen como
direcciones virtuales y forman el
espacio de direcciones virtuales.
Paginación

Cuando se utiliza memoria virtual, las direcciones virtuales no van


directamente al bus de memoria.

La CPU envía direcciones


virtuales a la MMU

CPU

Memoria Controlador de
Disco
Unidad de
Administración de
memoria

BUS

La MMU envía direcciones físicas a


la memoria
Paginación

En vez de ello, van a una MMU (Memory Management Unit, Unidad de


administración de memoria) que asocia las direcciones virtuales a las
direcciones de memoria físicas.
La CPU envía direcciones
virtuales a la MMU

CPU

Memoria Controlador de
Disco
Unidad de
Administración de
memoria

BUS

La MMU envía direcciones físicas a


la memoria
Paginación

El espacio de direcciones
virtuales se divide en unidades de
tamaño fijo llamadas páginas.

Las unidades correspondientes


en la memoria física se llaman
marcos de página.

Las páginas y los marcos de


página por lo general son del
mismo tamaño.
Paginación

En el hardware real, un bit de


presente/ausente lleva el registro de cuáles
páginas están físicamente presentes en la
memoria.
La MMU detecta que la página no está
asociada, se produce un fallo de página lo
que implica que el SO traiga la información
de la página que no encontró y la escriba en
memoria.
Paginación

El sistema operativo selecciona un


marco de página que se utilice poco
y escribe su contenido de vuelta al
disco.
Tablas de páginas

Las tablas de páginas son administradas por


la MMU. Realizan la conversión de las
direcciones virtuales a las físicas.

La dirección virtual se divide en:

• Un número de página virtual (bits de


mayor orden).

• Un desplazamiento (bits de menor orden).


Tablas de páginas

El número de página virtual se utiliza como


índice en la tabla de páginas para buscar la
entrada para esa página virtual.

En la entrada en la tabla de páginas, se


encuentra el número de marco de página (si
lo hay).
El número del marco de página se adjunta al
extremo de mayor orden del
desplazamiento.
Algunos comandos en Linux para
administración de la memoria
• comando free, con él puedes ver la memoria RAM y SWAP usada y
libre. También puede usarse free –h
• comando swapon se puede activar particiones o archivos de
intercambio, pero con la opción -s también ver la capacidad de ésta.
• Comando vmstat que, como su propio nombre indica, muestra el
estado de la memoria virtual. La ejecución vmstat -s -S M temenos
acceso a más información. Y un comando similar sería memstat
Gracias

También podría gustarte