Professional Documents
Culture Documents
Grupo N1
Grupo N1
Un verdadero Microkernel
El microkernel lleva a cabo cuatro
servicios:
comunicacin entre procesos
comunicacin a bajo nivel de redes
scheduling de procesos
dispatching de interrupciones
Grupo N1
exec()
no
opcional
si
si
si
no
spawn()
si
no
opcional
si
si
opcional
si
opcional
si
no
Grupo N1
Creacin
ubicar el ID del proceso
establecer la informacin que define el entorno del proceso
Carga
es realizada por el loader thread
el thread corre bajo el ID del nuevo proceso
el AP puede manejar otros requerimientos mientras realiza la carga
Ejecucin
comienza a competir con otros procesos por el uso de los recursos
del CPU.
la muerte de un proceso padre no causa automticamente la muerte
del proceso hijo
Grupo N1
Grupo N1
READY
est listo para usar el CPU
SEND.BLOCKED
RECEIVE.BLOCKED
REPLY.BLOCKED
SIGNAL.BLOCKED
SEMAPHORE.BLOCKED
HELD
recibe una seal de Stop. No puede utilizar el CPU.
Se libera por una seal de Continuar o por otra seal de finalizacion
WAIT.BLOCKED
esta a la espera del estado de uno o ms
procesos hijos
DEAD
el proceso ha terminado pero no puede enviar su
mensaje de exit a su padre. La memoria que ocupa, es liberada
Grupo N1
SEND
blocked
12
11
1
6
10
WAIT
blocked
16
READY
15
REPLY
blocked
13
5
DEAD
(zombie)
14
RECEIVE
blocked
SIGNAL
blocked
el estado de un proceso
el estado de un proceso del SO
qnx_name_attach ()
qnx_name_locate ()
asigna un nombre
localiza un proceso por su nombre
Grupo N1
10
Grupo N1
Armar relojes
Intervalos absolutos (reemplazan):
basados en la UTC
Intervalos relativos (agregan):
basados en el valor acutal del
reloj
intervaltimer_settime()
Resolution
qnx_ticksize()
Reading
timer_gettime()
11
Grupo N1
Caractersticas:
entra por una llamada externa (en lenguaje C)
se ejecuta en el contexto en que est embebido el proceso
tiene habilitada la opcin de interrupcin
no habla directamente con la interrupcin 8259 del hard
debe ser lo ms corto posible
interrupqnx_hint_attach ()
establece interrupcin
qnx_hint_detach()
remueve la interrupcin
12
Grupo N1
Grupo N1
Marcos Pryce-Jones
Marcelo DUrso
Ana Montagna
13
Grupo N1