You are on page 1of 10

Universidad Tecnolgica del Per

SISTEMAS OPERATIVOS
Semestre: 2011 I Ciclo: III (TERCERO) PROFESOR: CARLOS JARA ALVA

Segmentacion


Cual es la vision que el usuario tiene de la memoria? Como piensa usted en un programa cuando lo esta escribiendo? Piensa en el como un programa principal con un conjunto de subrutinas, procedimientos, funciones o modulos? Se habla de las funciones por ejemplo de una hoja de calculo, pero podria preocuparse de que direcciones en la memoria ocupan estos elementos.

Segmentacion
 

Es un esquema de administracion de memoria que soporta esta vision del usuario. Un espacio de direcciones logicas es un conjunto de segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del mismo. Por lo tanto, el usuario especifica cada direccion mediante dos cantidades: un nombre de segmento y un desplazamiento. Para simplificar la implementacion, los segmentos se enumeran y se hace referencia a ellos por un numero de segmento, en lugar de un nombre de segmento. Por lo tanto una direccion logica consta de un duplo: <numero-de-segmento, desplazamiento>

Ejemplo de segmentacion


Tenemos cinco segmentos numerado del 0 al 4. Los segmentos se almacenan en la memoria fisica. La tabla de segmentos tiene una entrada distinta para cada segmento, dando la direccion inicial del segmento en la memoria fisica (la base) y la longitud de dicho segmento (el limite). Por ejemplo, el segmento 2 tiene 400 bytes de longitud y comienza en la localidad 4300. De esta forma, una referencia al byte 53 del segmento 2 se mapea en la localidad 4300 + 53 = 4353. Una referencia al segmento 3, el byte 852 se mapea en 3200 (la base del segmento) + 852 = 4052.

Ejemplo de segmentacion
1400

pila Subrutina
Segmento 3 Segmento 0 2400

Segmento 0

Limite 0 1 2 3 1000 400 400 1100 1000

Base 1400 6300 4300 3200 4700


4700 3200

Tabla de smbolos Sqrt


Segmento 4 Segmento 1

Segmento 3
4300

Segmento 2

Segmento 4 Programa principal


Tabla de segmentos
5700

6300 Segmento 2

Segmento 1
Espacio de direcciones lgicas
6700

Memoria Fisica

Proteccion y compartimiento


El compartimiento ocurre a nivel de segmentos. Asi, cualquier informacion puede ser compartida si se define que sea un segmento. Varios segmentos puede ser compartidos, por lo que un programa compuesto de varios segmentos puede serlo. Por ejemplo se considera un editor de texto en un sistema de tiempo compartido. Un editor completo es bastante grande y esta compuesto de muchos segmentos. Estos segmentos puede ser compartidos por todos los usuarios, limitando la memoria fisica necesaria para soportar las tareas de edicion. En lugar de n copias del editor, solo necesitamos una copia. Para cad usuario, si se necesitan segmentos distintos y unicos para almacenar variables locales.

Ejemplo de compartimiento de segmentos en un sistema de memoria segmentada


Editor Limite
Segmento o 43062

Base 43062 68348


72773 68348

Editor Datos 1

0 Datos 1
Segmento 1

25286 4425

90003

Editor 0
Segmento 0

Limite 25286 8850

Base 43062 90003


98553

Datos 2

Datos 2
Segmento 1

Instalacion de paquetes en Linux


 




Administracin de paquetes Vienen a ser como los archivos de instalacin de los servicios y paquetes que utiliza el sistema operativo Linux. La gran mayora de distros usan RPM. Desarrollado por Red Hat para su distribucin de GNU/LINUX. RPM utiliza una base de datos que se almacena en /var/lib/rpm, la cual contiene todas la informacin de todos los paquetes que son instalados en el sistema Formato de un rpm:
Nombre de paquete versin subversin plataforma extensin.

Opciones RPM
Para consultar aquellos componentes que forman parte del paquete a buscar se usa el parmetro ql. #rpm ql nombre_paquete.  Consultar sobre el paquete instalado: #rpm q nombre_paquete  Borrar el paquete instalado: #rpm e nombre_paquete Mostrar informacin completa del paquete: #rpm qi nombre_paquete Para obtener informacin del rpm: #man rpm


Forzar la instalacin de un paquete:


# rpm ivh nombre_paquete_completo --force

Si muestra conflictos de archivos:


#rpm ivh nombre_paquete_completo replacefiles

Si muestra errores de dependencia:


#rpm ivh nombre_paquete_completo nodeps

Si desea actualizar un paquete


#rpm Uvh nombre_paquete_completo nodeps

You might also like