Anda di halaman 1dari 6

AMPLIACIN DE SISTEMAS OPERATIVOS (Cdigo: 71023016) Febrero 2016

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/

ESTE EXAMEN CONSTA DE 5 PREGUNTAS


Preguntas 1 a 4

1. Conteste razonadamente a las siguientes preguntas:


a) (1 p) Qu son los objetos del ncleo de Windows? Cmo se implementan? Quin
se encarga de gestionarlos?
b) (1 p) Explicar cmo se localizan los clusters de datos de un archivo en un sistema
FAT.

2. Definir y comentar las caractersticas de los siguientes elementos asociados a la imple-


mentacin de procesos multihilos en SOBUNIX:
a) (0.6 p) Hilos del ncleo.
b) (0.6 p) Hilos de usuario.
c) (0.8 p) Procesos ligeros.

3. (2 p) Qu estructuras mantiene el ncleo de un SOBUNIX para soportar los mecanis-


mos IPC del System V? Qu informacin contiene dichas estructuras por cada recurso
IPC?

4. Explique razonadamente el significado de las siguientes rdenes en un SOBUNIX:


a) (1 p) kill -SIGUSR2 1256
b) (1 p) ps -Al
AMPLIACIN DE SISTEMAS OPERATIVOS (Cdigo: 71023016) Febrero 2016
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/

ESTE EXAMEN CONSTA DE 5 PREGUNTAS


Pregunta 5

5. (2 p) La mscara de modo simblica del archivo ejecutable f16 que resulta de compilar
el programa que se muestra en la Figura 1 es -rwxrw-rwx y dicho archivo pertenece a
Ana (UID=600, GID=705). Explique razonadamente el funcionamiento del programa
en los siguientes casos:
a) (1 p) El programa lo ejecuta Ana.
b) (1 p) El programa lo ejecuta Maria (UID=620, GID=715).
Nota importante: Al explicar el funcionamiento del programa no olvide escribir tam-
bin el resultado que presenta en pantalla la ejecucin de la instruccin printf.

main()
{
int x[3];

x[0]=getuid();
x[1]=geteuid();
x[2]=setuid(x[1]);

printf("\n[ %d, %d, %d]\n",x[0],x[1],x[2]);


}

Figura 1 Cdigo C del programa f16


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

AMPLIACIN DE SISTEMAS OPERATIVOS (Cd. 71023016)


Solucin Examen Febrero 2016

Solucin Ejercicio 1
a) Un objeto del ncleo es una estructura de datos mantenida en el espacio de direcciones del ncleo
de Windows NT asociada a una determinada abstraccin y gestionada por el administrador de
objetos del ejecutivo. La abstraccin a la que est asociado un objeto define el tipo del objeto. Por
ejemplo, el ncleo asocia a un archivo abierto un objeto archivo, a un proceso un objeto proceso, a
un hilo un objeto hilo, a un semforo un objeto semforo, a una clave del registro un objeto clave,
a un driver instalado un objeto driver, etc.
Cada objeto tiene asignado un nombre codificado en Unicode, el ejecutivo mantiene un espacio
de nombres en memoria con una organizacin similar a una estructura de directorios de grfica
acclica. Windows utiliza el nombre de un objeto para localizar el objeto.
Un objeto implementado en Windows consta de dos partes: la cabecera y los datos especficos del
objeto. La cabecera contiene la informacin necesaria para gestionar el objeto, como por ejemplo:
su nombre y directorio en el espacio de nombres, su descriptor de seguridad y un puntero a la
estructura que implementa el tipo de objeto. Esta informacin es comn a todos los objetos e
independiente de su tipo.
Cada tipo de objeto definido se implementa mediante una estructura que contiene informacin
dependiente del tipo de objeto, como por ejemplo: derechos de acceso, recursos de memoria que
puede consumir y punteros a las funciones que se pueden invocar para operar (abrir, cerrar, borrar,
etc) sobre este tipo de objeto.
El administrador de objetos es el componente del ejecutivo encargado de gestionar (crear, confi-
gurar, borrar, etc) todos los objetos del ncleo. Adems proporciona una interfaz a los restantes
componentes del ejecutivo para crear y operar con los objetos.

b) En un sistema FAT la entrada asociada a un archivo en un directorio contiene, entre otros datos,
la direccin del primer cluster de datos del archivo. Para obtener la direccin del segundo cluster
de datos del archivo hay que acceder a la entrada de la tabla de asignacin de archivos asociada al
primer cluster, la cual contiene la direccin del segundo cluster. Los restantes clusters del archivo
se localizan de forma semejante ya que la entrada de la tabla de asignacin de archivos asociada a
un determinado cluster i de datos de un archivo contiene la direccin de siguiente cluster i + 1. En
el caso de que el cluster i sea el ltimo del archivo entonces su entrada de la tabla de asignacin
de archivos contiene el valor -1 (FFF en hexadecimal).

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

Solucin Ejercicio 2
Hilos del ncleo (kernel threads). Son hilos asociados al cdigo del ncleo del sistema operativo
que son creados y gestionados por el propio ncleo para la realizacin de funciones especificas,
como por ejemplo: dar soporte a procesos, atender operaciones de E/S, tratamiento de interrup-
ciones, etc. Los hilos del ncleo no necesitan estar asociados a ningn proceso.

Hilos de usuario (user threads). Son parte del cdigo de un determinado proceso de usuario. El
programador al disear un programa es el encargado de establecer el nmero de hilos de usuario
en que se va descomponer el cdigo del programa. Si el cdigo de un programa consta de un nico
hilo de usuario entonces al proceso asociado se le denomina proceso monohilo. Mientras que si
se descompone en varios hilos de usuario se denomina proceso multihilo. Para la gestin de los
hilos de usuario el programador utiliza una librera de hilos, como por ejemplo la librera Pthreads
de POSIX. Una librera de hilos contiene funciones para la creacin, destruccin, planificacin y
sincronizacin de los hilos de usuario, entre otras operaciones.

Procesos ligeros (lightweight processes). Tambin denominados procesadores virtuales. Son hilos
de usuario cuya gestin es realizada por el ncleo del sistema operativo. Un proceso ligero puede
estar asociado a uno o varios hilos de usuario. Es la librera de hilos la que se encarga de multiplexar
los hilos de usuario de un determinado proceso en un nmero menor o igual de procesos ligeros.
Los procesos ligeros solo se pueden utilizar en aquellos sistemas operativos cuyo ncleo soporte
hilos del ncleo, ya que cada proceso ligero tiene que tener asociado un hilo del ncleo para poder
ser planificado y ejecutado.

2
UNED - Ampliacin de Sistemas Operativos (Cd. 71023016) Solucin Examen Febrero 2016

Solucin Ejercicio 3
Los tres mecanismos IPC del System V: semforos, colas de mensajes y memoria compartida, aunque
son mecanismos distintos son soportados por el ncleo de forma muy similar. El ncleo mantiene una
tabla por cada tipo de mecanismo IPC. Una entrada en una de estas tablas se implementa mediante una
estructura de datos que contiene informacin de administracin y control sobre un determinado recurso
IPC, es decir, sobre una instancia de un determinado mecanismo IPC. Entre la informacin contenida en
una entrada se encuentra la siguiente:

Creador del recurso IPC. El UID y el GID del proceso que solicita la creacin el recurso.

Propietario del recurso IPC. El UID y el GID del proceso que actualmente es el propietario del
recurso. Inicialmente, el creador es el propietario del recurso, aunque el mismo o el superusuario
pueden transferir la propiedad del recurso a otro proceso.

Permisos del recurso IPC. Mascara de bits, similar a la mscara de modo de un archivo, que permite
establecer los permisos de acceso (lectura y/o escritura) al recurso para el propietario del recurso,
el grupo propietario y el resto de usuarios.

Llave o clave del recurso IPC. Nmero entero facilitado al ncleo por el proceso que solicita la
creacin o el acceso al recurso IPC. Solo los procesos que conozcan dicha llave podrn acceder
al recurso. Luego se puede considerar como una especie de contrasea de acceso. La llamada al
sistema ftok permite crear una llave de acceso.

Informacin propia de cada tipo de recurso IPC. Como por ejemplo punteros que permiten locali-
zar a los diferentes componentes de un determinado recurso IPC.

El nmero mximo de entradas que puede tener la tabla asociada a un determinado tipo de mecanismo
IPC, o lo que es lo mismo el nmero de recursos IPC de un determinado tipo, es un parmetro que puede
ser configurado por el superusuario.
Por otra parte, el ncleo asigna a cada recurso IPC creado un determinado identificador numrico entero
que lo identifica de manera unvoca. El ncleo usa este identificador para localizar la entrada asociada
al recurso en la tabla correspondiente. La asignacin del identificador se realiza en el momento de la
creacin o asignacin del recurso. El ncleo devuelve este identificador al proceso para que lo utilice
como argumento de entrada en las posteriores llamadas al sistema que vaya a realizar para operar sobre
el recurso, y as agilizar su localizacin.

Solucin Ejercicio 4
a) Este comando enva la seal SIGUSR2 al proceso con PID=1256.

b) Este comando muestra un listado con informacin sobre los procesos existentes en el sistema, la
opcin -A hace que se muestren todos los procesos existentes en el sistema, mientras que la opcin
-l hace que se muestre un listado con ms informacin, es decir, un mayor nmero de columnas.

3
UNED - Ampliacin de Sistemas Operativos (Cd. 71023016) Solucin Examen Febrero 2016

Solucin Ejercicio 5
El enunciado del problema afirma que f16 pertenece a la usuaria Ana (UID=600, GID=705). Asimismo
su mscara de modo simblica es -rwxrw-rwx, cuyo significado es el siguiente:

El propietario del archivo (Ana) puede leer, escribir y ejecutar el archivo. Adems este archivo
tiene su bit S_ISUID desactivado.

Los usuarios del grupo propietario del archivo, por defecto GID=705, pueden leer y escribir el
archivo, pero no pueden ejecutarlo. Adems este archivo tiene su bit S_ISGID desactivado.

El resto de usuarios pueden leer, escribir o ejecutar el archivo. Adems este archivo tiene su bit
S_ISVTX desactivado.

Una vez explicado el significado de la mscara de modo simblica es posible contestar a lo que pide en
el enunciado:

a) De acuerdo con la mscara de modo simblica la propietaria del archivo (Ana) tiene permiso de
ejecucin sobre su archivo f16. Al proceso A que se crea en el sistema asociado a la ejecucin
de f16 se le asigna UID=600 y EUID=600. Al ejecutar el proceso A en primer lugar se invoca a
la llamada al sistema getuid para asignar el valor del UID del proceso a la variable x[0], en
este caso x[0]=600. Luego se invoca a la llamada al sistema geteuid para asignar el valor del
EUID del proceso a la variable x[1], en este caso x[1]=600.
A continuacin se invoca a la llamada al sistema setuid para asignar al UID y al EUID del
proceso el valor de x[1]. Como el EUID del proceso A no es el del superusuario y el valor de
x[1] coincide con el valor del UID del proceso A entonces solamente el EUID del proceso A se
configura con el valor de x[1]. En resumen el resultado de esta llamada al sistema es configurar
el EUID del proceso A al valor EUID=600, valor que por otra parte ya tena sin necesidad de haber
ejecutado esta llamada al sistema. Cmo setuid se ha ejecutado con xito entonces se asigna el
valor 0 a la variable x[2].
Por ltimo se imprime en pantalla el mensaje

[600, 600, 0]

y el proceso A finaliza su ejecucin.

b) La usuaria Mara no pertenece al grupo de Ana ya que sus GID son distintos. De acuerdo con la
mscara de modo simblica tiene permiso de ejecucin sobre f16. Al proceso A que se crea en
el sistema asociado a la ejecucin de f16 se le asigna UID=620 y EUID=620. El funcionamiento
del proceso A es similar al descrito en el caso anterior, con la diferencia de que en este caso el
mensaje que aparece en pantalla es

[620, 620, 0]

Anda mungkin juga menyukai