Hasme este programa plis. 1.- Introducción El objetivo de esta práctica es profundizar en el c onocimiento y manejo de la característica multiproceso de LINUX construyendo u n planificador ( scheduler ) de procesos a alto nivel basado en señales, que implem enta una disciplina de turno rotativo también conocida como round robin . 2.- Planificador de procesos a nivel de usuario pro csched El planificador se puede construir con la ayuda de una cola o de una lista, algo que queda a la elección del alumno. El final del fichero (EOF) cuando se leen por tecla do los comandos y argumentos se logra pulsando Ctrl+D. PROCSCHED(1) PROCSCHED(1) NOMBRE procsched - Scheduler de procesos a nivel de usuario SINOPSIS procsched quanto [configfile] DESCRIPCIÓN El programa procsched lanza los procesos que le han sido configurados y realiza un reparto del tiempo de CPU entre los proc esos con una disciplina round-robin cuya duración (quanto) viene determinada por el primer parámetro (obligatorio) que se le pasa co mo argumento. El fichero de configuración configfile es opcional, de no estar presente se leerá la información de configuración de la entr ada estándar, siguiendo el mismo formato que el fichero. Formato del fichero de configuración: Consta de una línea por cada programa a ejecutar. Cada línea es de la siguiente forma: nombreprograma argumento1 argumento 2 argumento 3 ... Donde: quanto: es la cantidad de tiempo consecutiva que se le asignará a este proceso antes de pasar a otro (entero en segundos). nombreprograma argumento1 argumento 2 argumento 3 ... : es el programa a ejecutar junto con sus argumentos, que pueden ser u n número indeterminado y diferente para cada programa. El programa retira del ciclo de round-robin los procesos que vayan finalizando su ejecución. procsched termina cuando todos los procesos a ejecutar han acabado. Prácticas de Sistemas Operativos 170 VALOR DEVUELTO El planificador procsched indicará a su finalización el número total de cuantos consumidos (aunque sea parcialmente) y el n úmero de cambios de contexto producidos. 3.- Entrega de la práctica En el fichero comprimido a entregar al concluir la práctica debe encontrarse el Makefile provisto, así como todos los ficheros .c y .h neces arios para crear procsched . La acción por defecto del Makefile (la cual debe funcionar con sólo hacer make en ese directorio) debe ser crear el ejecutable procsched . Para la corrección de la práctica se borrarán todos los ejecutables, se hará un touch a todos los ficheros fuente y se recompilará mediante el Makefile . Se sugiere emplear la librería fragmenta.o ya empleada en la práctica anterior. 4.- Aplicaciones, funciones y llamadas al sistema ú tiles kill(l), kill(2), sigaction(2), sleep(3), raise(3), signal(2), signal(7), sleep(2), nanosleep(2), pause(2), alarm( 2), execvp(3), fork(2), wait(2).
Buena aportasion. +1 compañero
ResponderEliminarHasme este programa plis.
Eliminar1.- Introducción
El objetivo de esta práctica es profundizar en el c
onocimiento y manejo de la
característica multiproceso de LINUX construyendo u
n planificador (
scheduler
) de
procesos a alto nivel basado en señales, que implem
enta una disciplina de turno rotativo
también conocida como
round robin
.
2.- Planificador de procesos a nivel de usuario pro
csched
El planificador se puede construir con la ayuda de
una cola o de una lista, algo que
queda a la elección del alumno.
El final del fichero (EOF) cuando se leen por tecla
do los comandos y argumentos se
logra pulsando Ctrl+D.
PROCSCHED(1)
PROCSCHED(1)
NOMBRE
procsched -
Scheduler
de procesos a nivel de usuario
SINOPSIS
procsched quanto [configfile]
DESCRIPCIÓN
El programa
procsched
lanza los procesos que le han sido configurados y
realiza un reparto del tiempo de CPU entre los proc
esos con una
disciplina
round-robin
cuya duración (quanto) viene determinada por
el primer parámetro (obligatorio) que se le pasa co
mo argumento.
El fichero de configuración configfile es opcional,
de no estar presente
se leerá la información de configuración de la entr
ada estándar,
siguiendo el mismo formato que el fichero.
Formato del fichero de configuración: Consta de una
línea por cada
programa a ejecutar. Cada línea es de la siguiente
forma:
nombreprograma argumento1 argumento 2 argumento 3 ...
Donde:
quanto: es la cantidad de tiempo consecutiva que se
le asignará a este
proceso antes de pasar a otro (entero en segundos).
nombreprograma argumento1 argumento 2 argumento 3 ...
: es el programa a
ejecutar junto con sus argumentos, que pueden ser u
n número
indeterminado y diferente para cada programa.
El programa retira del ciclo de
round-robin
los procesos que vayan
finalizando su ejecución.
procsched
termina cuando todos los procesos
a ejecutar han acabado.
Prácticas de Sistemas Operativos
170
VALOR DEVUELTO
El planificador
procsched
indicará a su finalización el número total de
cuantos consumidos (aunque sea parcialmente) y el n
úmero de cambios
de contexto producidos.
3.- Entrega de la práctica
En el fichero comprimido a entregar al concluir la
práctica debe encontrarse el
Makefile
provisto, así como todos los ficheros .c y .h neces
arios para crear
procsched
. La
acción por defecto del
Makefile
(la cual debe funcionar con sólo hacer make en ese
directorio) debe ser crear el ejecutable
procsched
. Para la corrección de la práctica se
borrarán todos los ejecutables, se hará un
touch
a todos los ficheros fuente y se
recompilará mediante el
Makefile
.
Se sugiere emplear la librería
fragmenta.o
ya empleada en la práctica anterior.
4.- Aplicaciones, funciones y llamadas al sistema ú
tiles
kill(l), kill(2), sigaction(2), sleep(3), raise(3),
signal(2),
signal(7), sleep(2), nanosleep(2), pause(2), alarm(
2), execvp(3),
fork(2), wait(2).