Vous êtes sur la page 1sur 14

Sistemas Operacionais I

Estrutura Interna do MINIX 3

Minix 3
Diferente do UNIX (Linux), em que o kernel monoltico, o MINIX 3 baseado em uma estrutura do tipo micro-kernel. A comunicao entre processos se d atravs de troca de mensagens. Esse design permite uma estrutura mais flexvel e modular.

Camadas do MINIX 3
MINIX 3 estruturado em quatro camadas; Cada camada tem uma funo bem definida; As camadas podem ser vistas abaixo:

Camada 1 - kernel
Escalona processos; Gerncia as transies entre os estados pronto, bloqueado e em execuo; Manipula todas as trocas de mensagens entre processos:
validao do destino localizao dos buffers de send e receive na memoria fsica cpia de bytes do sender para o receiver

Oferece suporte para acesso a portas de I/O e interrupes (modo kernel);

Camada 1 - clock task


Alm do kernel, inclui dois modulos cujas funes so similares a device drivers Clock task um dispositivo de I/O,que interage com o hardware que gera o sinal de temporizao. Interface com o kernel apenas.

Camada 1 - system task


Uma das principais funes da camada 1 prover chamadas de kernel para camadas superiores System Task implementa essas chamadas, entre as quais esto:
Leitura e escrita em portas I/O Cpia de dados entre espaos de endereo

Camada 1
System Task e Clock Task so compilados em espao de end. Kernel, mas possuem call stacks prprias: Apesar de ser quase todo escrito em C, uma pequena parte do kernel est em Assembly, entre elas:
Manipulao de interrupo Trocas de contextos de processos Manipulao da MMU

O porte requer reescrita do cdigo Assembly

Demais Camadas
O kernel trata as trs camadas restantes da mesma forma e poderiam se classificadas como uma s; Cada processo nas camadas acima limitado a instrues em modo usurio e escalonado pelo kernel; Nenhuma delas acessa um segmento de memria fora do atribudo a si; Processos na camada 2 tem mais privilgios do que os da camada 3 e assim por diante;

Camada 2
A camada 2 inclui os drivers do MINIX 3 Um driver necessrio para cada tipo de dispositivo Device Drivers podem fazer chamadas ao kernel:
Ex: Transferncia de dados entre diferentes processos

Device Drivers, tipicamente iniciam com o sistema, mas podem iniciar posteriormente;

Camada 3
Contm os servers(servidores), que provm servios teis aos processos de usurio; Dois servers so essenciais FS e PM
FS: responsvel pelas chamadas de sistema do sistema de arquivos, como read, mount, and chdir. PM: responsvel pelos chamadas de sistema que envolvam processos, como fork e exec, assim como tambm pelos sinais, alarm e kill. Alm de gerenciar a memria;

Camada 3
Alm dos dois citados tem-se outros servers especficos para o MINIX 3:
IS (Information Server): prove informaes sobre outros drivers e servers; RS (Reincarnation Server): inicia e se preciso reinicia drivers que no foram carregados pra memria Inet: servidor de rede

Servers no acessam I/O diretamente, somente atravs dos drivers; Servers podem se comunicar com o kernel atravs do System Task

Camada 3
Chamadas kernel so diferentes de chamadas de sistema POSIX; Chamadas kernel so de baixo nvel e so providas pelo System Task para as camadas superiores; Programas de usurio usam chamadas POSIX e no chamadas kernel; Chamadas Kernel podem ser consideradas um caso especial de chamadas de sistema

Camada 3
O sistema no precisa ser recompilado para adio de funcionalidades e de novos servers; Drivers e Servers nas camadas 2 e 3 podem ser chamados de processos do sistema; Processos do sistema fazem parte do SO; Processos do sistema tem maior prioridade do que processos de usurio;

Camada 4
Composto de processos do usurio Shells, compiladores, so exemplos de processos de usurio Geralmente existem enquanto o usurio estiver logado, entretanto alguns seguem rodando mesmo depois que o usurio desloga, por exemplo o Init;

Vous aimerez peut-être aussi