1. Objetivo
Investigar sobre la
paginación y segmentación en los sistemas operativos.
2. Introducción
La
memoria es uno de los recursos más valiosos que gestiona el sistema operativo.
Uno de los elementos principales que
caracterizan un proceso es la memoria que utiliza. Ésta está lógicamente
separada de la de cualquier otro proceso del sistema. Un proceso no puede
acceder, al espacio de memoria asignado a otro proceso, lo cual es
imprescindible para la seguridad y estabilidad del sistema. El direccionamiento
es una parte importante de la gestión de memoria, puesto que influye mucho en
la visión del mismo por parte de un proceso, como en el aprovechamiento del
hardware y el rendimiento del sistema.
3.1 Paginación
Es una técnica de manejo de memoria, en la cual el espacio de
memoria se divide en secciones físicas de igual tamaño, denominadas marcos de
páginas. Los programas se dividen en unidades lógicas.
Las páginas de un programa necesitan estar continuamente en:
Memoria, los mecanismos de paginación permiten la
correspondencia correcta entre las direcciones virtuales y las direcciones
reales de la memoria que se reverencien.
Figura 1: Paginación
3.1.1 Tablas
de páginas
Cada página tiene un número que se utiliza como índice en la
tabla de páginas, lo que da por resultado el número del marco correspondiente a
esa página virtual. Si el BIT presente/ausente es 0, se provoca un señalamiento
(TRAP) hacia el sistema operativo. Si el BITes 1, el número de marco que
aparece en la tabla de páginas se copia en los BITS de mayor orden del registro
de salida.
Figura 2: Tabla de Páginas
3.1.2 Características
de la paginación
· El espacio de direcciones lógico de un proceso puede
ser no contiguo.
·
Se divide la memoria física en bloques de tamaño fijo
llamados marcos (frames).
· Se divide la memoria en bloques de tamaño llamados páginas.
· Se mantiene información en los marcos libres.
· Para correr un programa de en páginas de tamaño, se necesitan encontrar n marcos y cargar el programa.
· Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas.
· Se produce fragmentación interna.
· Se divide la memoria en bloques de tamaño llamados páginas.
· Se mantiene información en los marcos libres.
· Para correr un programa de en páginas de tamaño, se necesitan encontrar n marcos y cargar el programa.
· Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas.
· Se produce fragmentación interna.
3.1.3 Ventajas
de la paginación
- Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud.
- No es necesario que las paginas estén contiguas en memoria, por lo que no se necesitan procesos de compactación cuando existen marcos de páginas libres dispersos en la memoria.
- Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.
·
3.1.4 Desventajas
de la paginación
- El
costo de hardware y software se incrementa, por la nueva información que
debe manejarse y el mecanismo de traducción de direcciones necesario. Se
consumen muchos más recursos de memoria, tiempo en el CPU para su
implantación.
- Se deben reservar áreas de
memoria para las PMT de los procesos. Al no ser fijo el tamaño de estas,
se crea un problema semejante al de los programas (cómo asignar un tamaño
óptimo sin desperdicio de memoria, u ovearhead del procesador).
3.2 SEGMENTACIÓN
Es un esquema de manejo de memoria mediante el cual la
estructura del programa refleja su división lógica, llevándose a cabo una
agrupación lógica de la información en bloques de tamaño variable denominados
segmentos. Cada uno de ellos tienen información lógica del programa: subrutina,
arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una
colección de segmentos, que generalmente reflejan la división lógica del
programa.
Figura 3: Segmentación
3.2.1 OBJETIVOS:
- Modularidad
de programas: Cada rutina del programa puede
ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al
resto del programa.
- Estructuras
de datos de largo variable: Ejm.
Stack, donde cada estructura tiene su propio tamaño y este puede
variar.
- Protección: Se
pueden proteger los módulos del segmento contra accesos no
autorizados.
- Compartición: Dos o
más procesos pueden ser un mismo segmento, bajo reglas de protección;
aunque no sean propietarios de los mismos.
- Enlace
dinámico entre segmentos: Puede
evitarse realizar todo el proceso de enlace antes de comenzar a ejecutar
un programa. Los enlaces se establecerán sólo cuando sea necesario.
3.2.2 Ventajas
de la Segmentación
· Permite definir protecciones selectivamente
· Permite compartición de zonas de memoria de forma eficaz
· Todo ello sin añadir complejidad a los algoritmos de gestión de espacio
3.2.3 Desventajas
de la Segmentación
·
El compilador/enlazador debe reconocer un
espacio segmentado (desventaja leve)
·
Necesita soporte del hardware
·
Incurre en un acceso adicional a memoria
(para la tabla de segmentos)
·
No soluciona del todo los problemas de las
técnicas de ubicación contigua (fragmentación).
4. Conclusión
Estas
formar de segmentar la memoria ayuda al sistema operativo a no sufrir posibles
bloqueos por una saturación de la memoria, ya que estos segmentos le dan a cada
proceso un espacio lógico en el que puede trabajar de manera eficaz.
5. Bibliografía
Tanenbaum, A. 2009. Sistemas
Operativos Modernos. 3 ed. México.
Ann Mclver Mchoes. 2011.
Sistemas Operativos. 6 ed.
http://www.ual.es/~acorral/DSO/Tema_3.pdf