tedra de Sistemas Operativos
Unidad 4 Administración de Memoria
Parte 4 Segmentación
2021
Temario - Segmentación
Necesidad de la segmentación
Características de la segmentación
Traducción de direcciones
Tabla de segmentos
Análisis comparativo entre paginación y segmentación
Bibliografía
Necesidad de la segmentación
La memoria física real (RAM) es una secuencia unidimensional
de bytes
El usuario prefiere considerar un programa como un conjunto
de métodos, procedimientos, funciones, estructuras de datos
(objetos, matrices, pilas, variables, etc.)
Segmentación esquema de gestión de memoria que soporta
la visión de la memoria que poseen los usuarios
Necesidad de la segmentación
Ejemplo: un compilador en un espacio de
memoria unidimensional
Un compilador genera muchas tablas a medida
que se ejecuta:
Texto de código fuente
Tabla de símbolos
Tabla de constantes
Árbol de análisis sintáctico
Pila para las llamadas a procedimientos
¿Qué sucede si crece la tabla de símbolos?
Espacio de
direcciones
unidimensional
Segmentacn
Concepto técnica de administración de memoria virtual en la cual el
programa se divide en partes de diferente tamaño denominadas
segmentos
Cada segmento posee su propio espacio de direccionamiento virtual y se
procesa en forma independiente
Permite que cada segmento pueda crecer en forma independiente sin
afectar al resto de segmentos
Facilita la compartición de datos
Permite protección de segmentos de forma independiente
Genera fragmentación externa
Un espacio lógico de direcciones es una colección de segmentos y cada
segmento tiene un nombre y una longitud
Segmentación
Memoria segmentada:
Se dispone de dos o más
espacio de direcciones
virtuales independientes
Un segmento es una
entidad lógica el
programador está
consciente de la existencia
de la segmentación
Cada segmento tiene un
tipo de datos diferente
Segmentación
Traducción de direcciones:
El usuario proporciona DOS valores un número de segmento y un
desplazamiento
Dirección
lógica
Número de
segmento
Desplazamiento dentro
del segmento
=
+
El desplazamiento de la dirección lógica, debe estar comprendido
entre 0 y el límite del segmento. De lo contrario, se genera un error
Segmentacn
Traducción de direcciones:
Tabla de segmentos mapea las direcciones bidimensionales
definidas por el usuario sobre las direcciones físicas unidimensionales
Cada entrada de la tabla de segmentos dirección BASE del
segmento y un LÍMITE del segmento
Dirección BASE contiene la dirección física inicial del lugar donde
se aloja el segmento en la memoria RAM
LÍMITE del segmento especifica la longitud del segmento
Traducción localizar el segmento y luego sumar al valor de la
dirección BASE, el byte al que se quiere acceder
El S.O. controla que la dirección física esté dentro del segmento
Segmentación
Ejemplo de traducción de direcciones:
SUBRUTINA
Segmento 0
SQRT
Segmento 1
PROGRAMA
PRINCIPAL
Segmento 2
PILA
Segmento 3
TABLA DE
SEGMENTOS
Segmento 4
Longitud
1000
Longitud
1000
Longitud
1100
Longitud
400
Longitud
400
Segmentación
Número de
segmento
Límite
Base
Tipo de datos
0 1000 1400 Subrutina
1 400 6300 Sqrt
2 400 4300 Prog. ppal
3 1100 3200 Pila
4 1000 4700 Tabla de seg.
Segmento 4
Segmento 0
Segmento 3
Segmento 1
Memoria RAM
4700
1400
4300
6300
Segmento 2
3200
2400
5700
Ejemplo de traducción de direcciones:
Dirección lógica Número de segmento Desplazamiento
Si se desea acceder al byte 150 del segmento 2
Dirección física = BASE + 150
4450
4450
Número de
segmento 2
Tabla de segmentos
Segmentación- Ventajas
Cada segmento tiene un tipo de datos diferente
Facilita la compartición de procedimientos o datos entre varios
procesos
Cada segmento puede crecer o reducirse de forma independiente
Cada segmento puede tener un tipo de protección diferente
El programador es consciente de que se está utilizando la técnica de
segmentación
Análisis comparativo entre paginacn y segmentacn
Característica Paginación
Segmentación
¿El programador debe conocer la técnica?
NO SI
Cantidad de espacios
de direccionamiento por cada
programa
UNO MUCHOS
¿El tamaño del programa puede exceder la memoria física?
SI SI
¿Se diferencian
los procedimientos de los datos? NO SI
¿Se pueden proteger por
separado los diferentes tipos de
datos?
NO SI
¿Se facilita la compartición
de procedimientos entre
usuarios?
NO SI
Se genera fragmentación…
INTERNA EXTERNA
Los programas se dividen en partes de tamaño…
FIJO VARIABLE
Conclusiones
Segmentación con paginación
Los segmentos se dividen en páginas para no mantenerlos enteros en la
memoria RAM
La paginación y segmentación se combinan para potenciar las ventajas de
cada técnica
Windows:
Implementa pre-paginación
Cada un segundo un demonio de paginación verifica si existen suficientes
marcos libres en RAM
Linux:
Implementa paginación por demanda SIN pre-paginación y sin concepto de
conjunto de trabajo
Utiliza el algoritmo de reemplazo de páginas del reloj
Bibliograa
TANENBAUM Andrew S. (2009). Sistemas Operativos Modernos. 3era.
Edición. Prentice Hall.
Capítulo 3: Administración de Memoria. Páginas 234 - 247
SOP-Unidad 4-Parte 4 - SEGMENTACION - 2020.pptx
browser_emoji Estamos procesando este archivo...
browser_emoji Lamentablemente la previsualización de este archivo no está disponible. De todas maneras puedes descargarlo y ver si te es útil.
Descargar
. . . . .