A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

2.5 Processos no Minix 1. gerenciamento de processos:

Apresentações semelhantes


Apresentação em tema: "2.5 Processos no Minix 1. gerenciamento de processos:"— Transcrição da apresentação:

1 2.5 Processos no Minix 1. gerenciamento de processos:
interrupçoes e traps. 2. tarefas de E/S: disco, tty, relógio, sistema, ethernet. 3. gerenciador de memória, arquivos, rede 4. init, processos de usuários.

2 1. gerenciar processos - capturar traps e interrupções:
salvar e recuperar estado agendar - tratar as mensagens: destinos são legais? localizar buffers de envio e recebimento na memória. copiar bytes do remetente para o destinatário.

3 2. tarefas (drivers) de E/S
- fornece serviços: (open, read, write ...). obs: camada 1 e 2 em um bloco binário chamado “kernel”. Camada 1 possui mais privilégios que a 2.

4 3. gerenciadores FM e MM - fornece serviços para os processos de usuário. - executam com menos privilégio que o kernel não acessa portas de I/O, nem memória for a do seu segmento - MM: fork, exec. - FS: read, mount, chdir. - agendador dá prioridade mais alta que a processos de usuário (mesmo para processador).

5 4. Processos de usuário - init, shell, editores, compiladores,
- deamon – espera algum evento como a chegada de um pacote de rede.

6 2.5.2 – minix x processos - árvore de processos: init é raiz.

7 Inicialização (fig. 2.31) disco rígido - MBR + tabela de partições
programa em MBR (lilo): - lê a tabela de partição - seleciona partição ativa. -- programa de inicialização no setor 1 da partição ativa = disquete.

8 Boot - carrega e dispara kernel, MM, FM, init.
(diferentes prioridades).

9 init - lê: /etc/ttytab # Device Type Program Init console minix getty ttyc minix getty ttyc minix getty - dispara getty ->exec login -> exec shell (/etc/passwd) - shell fica como filho de init.

10 fork e exec - fork: cria um novo processo
- exec: faz o processo executar um programa. - recebe memória : cabeçalho do prog. - tabela de processos :: kernel, FM, MM.

11 Comunicação interprocesso
- send(dest, &message); - receive(source, &message) - send_rec(src_dst, &message) não vai para rede, trabalha com ponteiros. o processo que envia fica bloqueado até que a mensagem seja recebida conversa com mesma camada ou uma abaixo.

12 Agendamento de processos
Ativado quando: - interrupção de I/O - relógio - término do processo Utiliza 3 filas – camadas 2,3,4. 2,3: executa até bloquear. 4: round robin.

13 Interrupção I/O dispositivo => controlador de interrupção.
controlador (hw) 1. interrompe CPU. 2. envia identificação da origem da interrupção kernel (sw): 1. salva registradores 2. sw. de driver, faz I/O (ex: teclado leu tecla, pega dados e prepara msg). 3. envia mensagem. 4. reinicia um processo

14 System call Procedimento que faz system call (ex: fork na lib posix).
1. coloca o ponteiro de mensagem e o destino em registradores da CPU. 2. executa trap. kernel: 1. salva registradores 2. envia e/ou recebe mensagem 3. reinicia um processo

15 Perguntas: - localize o código da system call fork
(até syscall.c _sendrec.c) - localize o código do agendador (2.6.9); proc.c - localize o código do init.


Carregar ppt "2.5 Processos no Minix 1. gerenciamento de processos:"

Apresentações semelhantes


Anúncios Google