SISTEMAS OPERATIVOS II

Tercer curso Ingeniería Informática. Curso 2004-2005

Práctica 2: Procesos en UNIX. Prioridades

Añadir al shell de la práctica anterior las siguientes funciones de manejo de las prioridades

prio [pid] [valor]
Establece la prioridad del proceso pid a valor. Si no se indica valor informa de la prioridad del proceso pid (como el comando infopri), y si no se indican ni valor ni pid informa de la prioridad del shell. En caso de no poder establecer la prioridad informará de ello. (Prioridad se refiere al parámetro ts_ upri especipicado en priocntl)

lim [pid] [valor]
Establece el límite de la prioridad del proceso pid a valor. Si no se indica valor informa de la prioridad del proceso pid (como el comando infopri), y si no se indican ni valor ni pid informa de la prioridad del shell. En caso de no poder establecer el límite informará de ello.(Límite se refiere al parámetro ts_ uprilim especificado en priocntl)

infopri [pid]
Informa de la prioridad del proceso especificado por pid: nos indicará los valores de ts_ upri y ts_ uprilim obtenidos mediante priocntl. Tambien nos mostrará el valor de prioridad obtenido con getpriority. Si no se especifica pid, o si pid es el del propio shell, se informará ademas del valor devuelto por nice (0).

cadena @pri [&]
Crea un proceso que ejecuta el programa especificado en cadena (cadena representa un ejecutable junto con sus parámetros y podría contener una lista de variables de entorno, como en LV comando ) estableciendo su prioridad en el valor especificado por pri. Por jemplo, la siguiente orden ejecutaría en primer plano el programa a.out dentro de un xterm con prioridad -4 y tendría un entorno formado por las variables TERM y DISPLAY
# TERM DISPLAY xterm -e a.out @-4

lo mismo, pero con la ejecución en segundo plano

# TERM DISPLAY xterm -e a.out @-4 &

Información detallada de las llamadas al sistema y las funciones de la librería debe obternerse con man

La prioridad a la que se refiere @pri es el valor ts_upri accedido con priocntl.

Para comprobar el funcionamiento de las prioridades puede utilizarse el programa e.c disponible en

http://www.dc.fi.udc.es/os/~afyanez/Practicas/sources/e.c
ejecutando varias instancias del mismo en sendos xterm con distintas prioridades. Ejemplo, si e es el ejecutable resultado de la compilación de e.c
#xterm -e e 1000 @-5 &
#xterm -e e 1000 @-30 &
#xterm -e e 1000 @-50 &
nos permitirá comprobar la influencia de la prioridad en la ejecución de procesos. Para una buena comprobación del funcionamiento de las prioridades, esta práctica DEBE ejecutarse en la máquina local (castro).
FORMA DE ENTREGA Va a ser utilizado el servicio de recogida de prácticas suministrado por el Centro de Cálculo de esta Facultad y parte del proceso de corrección de las prácticas va a ser automtico (compilación, listado de practicas entregadas etc) por lo cual deben entregarse exactamente como se indica a continuación:

FECHA DE ENTREGA JUEVES 28 ABRIL 2005