La segmentación es un esquema para implementar espacios de direcciones virtuales que se usaba en los primeros computadores de tiempo compartido. Pese a que hoy en día se encuentra en desuso, es interesante estudiar la segmentación por su simplicidad.
Como se vió en capítulos anteriores, cada proceso tiene su propio espacio de direcciones virtuales, independiente del resto de los procesos. Este espacio de direcciones virtuales se descompone en cuatro áreas llamadas segmentos (ver figura ):
Figure: Segmentos del espacio de direcciones virtuales de un proceso.
En una organización segmentada, los segmentos residen en un área contigua de la memoria real del computador. La figura muestra un posible estado de la memoria de un computador con los distintos segmentos de varios procesos.
Figure: Ejemplo de ubicación de los segmentos de dos procesos en
la memoria real.
En la figura se observa que el segmento sistema contiene una imagen de toda la memoria real del computador. Esta es una técnica muy usada en la implementación de Unix.
Cuando un proceso accesa la memoria siempre suministra una dirección en su espacio de direcciones virtuales. El procesador debe traducir esa dirección a su posición efectiva en la memoria real del computador, es decir a su dirección real.
Para traducir las direcciones virtuales a direcciones reales, el
procesador posee una tabla de segmentos con 4 filas. Cada una de
estas filas describe uno de los 4 segmentos del