Minix

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (647 palavras )
  • Download(s) : 0
  • Publicado : 4 de abril de 2013
Ler documento completo
Amostra do texto
Estrutura
 do
 MINIX
 
 
Camadas: Init Proc. Mngr User mode Kernel mode Driver disco shell File Server Driver tty cron Progr. usuário Progr. usuário Servidores

Information NetworkServer Server

Driver Ethernet kernel

Outros drivers relógio system task

Núcleo
 do
 Minix
 3
 
O
 núcleo
 implementa
 os
 seguintes
 9pos
 de
 comunicação: 
–  send(dest,
 &message)
  –  receive(src,
 &message)
  –  send_rec(src_dst,
 &message)
  –  no9fy
 (dest,
 &message)
  Observações:
  •  Núcleo
 copia dados
 da
 área
 do
 processo
 fonte
 (src)
 
 para
 o
 processo
 des9natário
  (dest),
 usando
 CopyMess.
  •  Existem
 
 6
 formatos
 de mensagem
 (mess_1,
 mess_2,…)
 para
 diferentes
 conjuntos
  de
 parâmetros
 (=
 union
 com
 source,
 type
 e
 9pos
 de
 dados),
 definidos
 em kernel/ proc.h
 
 
  •  Parâmetros
 podem
 ser
 ponteiros
 para
 estruturas
 de
 dados
 do
 sistema
 
  •  Chamadas
 do
 sistema,
 interrupções
 de HW,
 do
 relógio,
 sinais,
 etc.
 todos
 são
  conver9dos
 para
 envios
 de
 mensagens
 (p.ex.
 _syscall
 traduz
 código
 de
 chamada
  em mensagem)
 

2

Funcionamento
 Básico
 

Minix
 3
 

User
 Process
  chama
 fork
 

libc
 

fork()
 {
  _syscall(PM,56,&m)
  }
 

PM
 do_fork(),
 do_exec(),
  ...
 

kernel/System.c
  get_priv();
 send_sig();
  ...
 

Em
 kernel/proc.c:
  sys_call();
 mini_send();
 mini_receive(); mini_no9fy();
 enqueue();
 dequeue();
  sched();
 pic_proc();
 lock_send(),
 lock_enqueue();
 lock_dequeue();
  Em
 kernel/mpx386.s:
 
Tratamento
 de
 interrupção...
tracking img