Está en la página 1de 4

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y


FÍSICAS CARRERA DE
INGENIERÍA EN TECNOLOGÍA DE LA
INFORMACIÓN Y COMUNICACIÓN
Actividad Asincrónica 14/07/2022

ESTUDIANTE:
Suarez Mora Santiago Alberto

CURSO:
TIN-S-NO-8-1
Sistemas Operativos

PROFESOR:
Ing. Francisco Palacios O. Mg.
Índice
1. Segmentación y memoria virtual .......................................................................................... 3
Organización.................................................................................................................................. 3
Conclusión ..................................................................................................................................... 4
Bibliografía .................................................................................................................................... 4
1. Segmentación y memoria virtual

La segmentación permite al programador contemplar la memoria como si constara de


varios espacios de direcciones o segmentos. Con memoria virtual, el programador no
necesita preocuparse de las limitaciones de memoria impuestas por la memoria principal.
Los segmentos pueden ser de distintos tamaños, incluso de forma dinámica. Las
referencias a memoria constan de una dirección de la forma (número de segmento,
desplazamiento). (Stalling, 2005)

1. Simplifica el manejo de estructuras de datos crecientes. Si el programador no


conoce a priori cuán larga puede llegar a ser una estructura de datos determinada,
es necesario suponerlo, a menos que se permitan tamaños de segmento dinámicos.
Con memoria virtual segmentada, a cada estructura de datos se le puede asignar a
su propio segmento y el sistema operativo expandirá o reducirá el segmento
cuando se necesite. Si un segmento necesita expandirse en memoria y no dispone
de suficiente sitio, el sistema operativo puede mover el segmento a un área mayor
de la memoria principal, si la hay disponible, o descargarlo. En este último caso,
el segmento agrandado será devuelto a memoria en la siguiente ocasión.
2. Permite modificar y recompilar los programas independientemente, sin que sea
necesario recompilar o volver a montar el conjunto de programas por completo.
Esto se puede llevar nuevamente a cabo gracias al uso de varios segmentos.
3. Se presta a la compartición entre procesos. Un programador puede situar un
programa de utilidades o una tabla de datos en un segmento que pueda ser
referenciado por otros procesos.
4. Se presta a la protección. Puesto que un segmento puede ser construido para
albergar un conjunto de procedimientos y datos bien definido, el programador o
el administrador del sistema podrá asignar los permisos de acceso de la forma
adecuada.

Organización

En el estudio de la segmentación simple, se llegó a la conclusión de que cada proceso


tiene su propia tabla de segmentos y que, cuando todos los segmentos se encuentran en
memoria principal, la tabla de segmentos del proceso se crea y carga en memoria. Cada
entrada de la tabla de segmentos contiene la dirección de comienzo del segmento
correspondiente en memoria principal, así como su longitud. La misma estructura, una
tabla de segmentos, se necesitará al hablar de un esquema de memoria virtual basado en
segmentación. Nuevamente, es normal asociar una única tabla de segmentos a cada
proceso. En este caso, sin embargo, las entradas de la tabla de segmentos pasan a ser más
complejas. Puesto que sólo algunos de los segmentos de un proceso estarán en memoria
principal, se necesita un bit en cada entrada de la tabla de segmentos para indicar si el
segmento correspondiente está presente en memoria principal. Si el bit indica que el
segmento está en memoria, la entrada incluye también la dirección de comienzo y la
longitud del segmento. (Nalda, 2021)

Otro bit de control necesario en la entrada de la tabla de segmentos es un bit de


modificación que indique si el contenido del segmento correspondiente ha sido
modificado desde que se cargó por última vez en memoria principal. Si no ha habido
cambios, no será necesario escribir a disco el segmento cuando llegue el momento de
reemplazarlo en el marco que ocupa actualmente. Puede haber también otros bits de
control. Por ejemplo, si se gestiona la protección o la compartición a nivel del segmento,
se necesitarán bits con tal propósito. Más adelante se verán varios ejemplos de entradas
de tablas de segmentos.

Así pues, el mecanismo básico para leer una palabra de memoria supone la traducción de
una dirección virtual o lógica, formada por un número de segmento y un desplazamiento,
a una dirección física, mediante una tabla de segmentos. Puesto que la tabla de segmentos
tiene longitud variable, en función del tamaño del proceso, no es posible suponer que
quepa en registros. En su lugar, debe estar en memoria principal para que sea accesible.
Esto sugiere una implementación en hardware de este esquema. Cuando un proceso
determinado está ejecutando, la dirección de comienzo de la tabla de segmentos de este
proceso se guardará en un registro. El número de segmento de la dirección virtual se
emplea como índice de la tabla para buscar la dirección de memoria principal
correspondiente al comienzo del segmento. Ésta se añade a la parte de desplazamiento de
la dirección virtual para generar la dirección real deseada

Conclusión

Este Sistema de memoria virtual que considera bloques de tamaño desigual, definidos en
función de la estructura lógica del código y datos del programa. (Procedimientos, funciones,
arrays, matrices).  Cada bloque se denomina segmento.  La mayoría de las características
(conceptos) de los sistemas segmentados son similares a las de los sistemas paginados.

Bibliografía

Nalda, P. G. (2021). Carga y ubicacion de programas en memoria.


Stalling, W. (2005). Sistemas Operativos Aspectos Internos y Principios de Diseño.
http://quegrande.org/apuntes/EI/3/ECm2/teoria/08-09/tema_5_-_memoria_virtual.pdf

También podría gustarte