Está en la página 1de 3

AMPLIACIN DE SISTEMAS OPERATIVOS (Cdigo: 71023016) Febrero 2017

Material permitido: Solo calculadora no programable Aviso 1: Todas las respuestas deben estar debida-
mente razonadas.
Tiempo: 2 horas Aviso 2: Escriba con buena letra y evite los tachones.
N2 Aviso 3: Solucin del examen y fecha de revisin en
http://www.uned.es/71023016/

1. Conteste razonadamente a las siguientes preguntas:


a) (1 p) Explicar la implementacin y el control de procesos en MS-DOS.
b) (1 p) De qu depende el nmero de niveles de paginacin utilizado en los SOBU-
NIX?

2. (2 p) Dibujar un diagrama, adecuadamente rotulado, de las estructuras de datos que


utiliza Linux para gestionar el espacio de direcciones virtuales de un proceso.

3. (2 p) Explicar razonadamente las caractersticas generales de la planificacin de proce-


sos multihilos en SOBUNIX.

4. (2 p) En un SOBUNIX, explicar razonadamente el significado de cada uno de los ele-


mentos de la siguiente lnea del archivo /etc/passwd:

ped69:x:101:10:Pedro Dest:/export/home/ped69:/bin/bash

5. En un SOBUNIX, explique razonadamente el significado de las siguientes llamadas al


sistema:

a) (0.5 p) fork();
b) (0.5 p) execv("data",0);
c) (0.5 p) kill(1024,SIGUSR2);
d) (0.5 p) s=wait(&var);
UNED - Ampliacin de Sistemas Operativos (Cd. 71023016) Solucin Examen Febrero 2017

AMPLIACIN DE SISTEMAS OPERATIVOS (Cd. 71023016)


Solucin Examen Febrero 2017

Solucin Ejercicio 1
a) MS-DOS es un sistema operativo monotarea, hasta que no termina de ejecutarse un proceso no
puede comenzar a ejecutarse otro. El proceso que se ejecuta tiene un control total de los recursos
de la mquina. Su ejecucin solo puede ser interrumpida por el sistema operativo para realizar
el tratamiento de las interrupciones. Esta caracterstica simplifica enormemente el control de los
procesos y elimina la necesidad de implementar un planificador de procesos.
En MS-DOS el control de procesos es muy simple, el proceso que se est ejecutando (proceso
padre) puede crear otro proceso (proceso hijo) invocando a la funcin del sistema 4BH tambin
conocida como funcin EXEC. Esta funcin carga en memoria al proceso hijo y le transfiere el
control. Mientras el proceso hijo se ejecuta el proceso padre permanece bloqueado en la memoria
principal. Cuando el proceso hijo va a terminar su ejecucin invoca a una funcin del sistema para
transferir el control de nuevo a su proceso padre.

b) El nmero de niveles de paginacin utilizados es fijado por cada SOBUNIX en funcin de la


arquitectura hardware.

Solucin Ejercicio 2

VM = vm_area_struct
task_struct

mm_struct
mm Lista

mmap VM VM VM
mmap_rb
:

rbol rojo-negro

Solucin Ejercicio 3
En la mayora de los SOBUNIX, el planificador implementa una planificacin global basada en mltiples
colas de prioridad y realimentacin. En este tipo de planificacin, cada unidad planificable tiene asignada
una determinada prioridad, que es un nmero entero positivo comprendido entre 0 y un cierto valor
mximo Pmax . En algunos SOBUNIX el valor 0 corresponde a la mxima prioridad posible, mientras
que en otros la mxima prioridad corresponde a Pmax. El planificador siempre intenta que se ejecute la
unidad planificable de mayor prioridad, aunque esto no siempre es posible si el ncleo es no expropiable.
El valor de la prioridad de una unidad planificable se establece en funcin de diferentes criterios: el
modo de ejecucin (modo usuario o en modo ncleo), el tipo de trabajo (trabajo interactivo, trabajo por
lotes, trabajo en tiempo real, trabajo del sistema operativo e interrupciones), el tiempo de procesador
consumido, el tiempo de espera en las colas, etc. El valor de la prioridad puede variar o no con el tiempo
de vida de la unidad planificable, es decir, la prioridad puede ser esttica o dinmica. Por ejemplo, la
prioridad de las unidades planificables asociadas a las interrupciones suele ser alta y esttica. Mientras
que la prioridad de las unidades planificables asociadas a trabajos por lotes suele ser baja y dinmica.

1
UNED - Ampliacin de Sistemas Operativos (Cd. 71023016) Solucin Examen Febrero 2017

En funcin del valor de su prioridad cada unidad planificable en el estado preparado forma parte de una
determinada cola de unidades planificables en el estado preparado o cola de prioridad. Las unidades
planificables que poseen una prioridad dinmica pueden pasar durante su tiempo de vida por diferentes
colas. El planificador establece una determinada planificacin local para cada cola, como por ejemplo:
planificacin FIFO, planificacin de tiempo compartido, planificacin basada en prioridades, etc.
Algunos SOBUNIX, como SVR4 o Solaris, para dotar de mayor flexibilidad al planificador definen
clases de planificacin cada una de los cuales tiene asociada un rango de valores de prioridad y un
mecanismo de clculo de la prioridad. Cada unidad planificable pertenece a una determinada clase de
planificacin. Normalmente se dispone de una clase de planificacin por cada tipo de trabajo soportado
en el sistema: clase de trabajos en tiempo real, clase de trabajos de tiempo compartido o interactivos, etc.

Solucin Ejercicio 4
Los datos del usuario se separan por el carcter ':'. De izquierda a derecha se muestran los siguientes
datos: ped69 es el nombre de usuario, x indica que la contrasea se encuentra encriptada dentro del
archivo cuyo nombre de ruta absoluta suele ser /etc/shadow, 101 es el UID, 10 es el GID, Pedro
Dest es el nombre completo del usuario, /export/home/ped69 es el nombre de ruta absoluta del
directorio de trabajo inicial, y /bin/bash es el nombre de ruta absoluta del intrprete de comandos
que utiliza por defecto el usuario.

Solucin Ejercicio 5
a) Esta llamada al sistema crea un nuevo proceso. Al proceso que invoca a fork se le denomina
proceso padre y al nuevo proceso que se crea se le denomina proceso hijo. El proceso hijo recin
creado es una copia prcticamente idntica del proceso padre y comparte el acceso a todos sus
recursos.

b) Esta llamada al sistema reemplaza las regiones del espacio de direcciones del proceso que invoca la
llamada por las regiones del programa data pasado como argumento. Cuando finaliza la llamada
al sistema exec el proceso invocador pasa a ejecutar el cdigo del programa invocado.

c) Esta llamada al sistema enva la seal SIGUSR2 al proceso con PID=1024.

d) Esta llamada al sistema suspende la ejecucin del proceso que la invoca hasta que alguno de
sus procesos hijos entre en estado zombi. Esta llamada si se ejecuta con xito devuelve en s el
PID del primer hijo de A en estado zombi que encuentra. Adems almacena los ocho bits menos
significativos del estatus de salida en la direccin asociada a la variable var. Si el proceso A no
tiene procesos hijos o si wait es interrumpida por una seal, entonces se considera que se ha
producido un error en la ejecucin y la llamada devuelve en s el valor -1.

También podría gustarte