Minix 3.0
Por: juniorademir1993 • 8/12/2015 • Trabalho acadêmico • 1.037 Palavras (5 Páginas) • 455 Visualizações
Minix
Ademir Almeida
Alan Felix
Caio Vinícius
1
Nós escolhemos o guaxinim porque é um animal pequeno, bonito, inteligente, ágil, comem insetos, e são amigáveis, pelo menos, se você mantiver sua lata de lixo bem trancada.
Roteiro
Introdução
Processos e Threads
Deadlock
Gerência de Memória
2
Introdução
3
Breve histórico do Unix
Multics (Informações Multiplexadas e Serviços Computacionais) - Criado na decada de 60
Projeto de Grande porte mas sem grandes resultados;
UNICS (Informações Uniplexadas e Serviços Computacionais) - 1969
Rebatizado para UNIX
4
Breve histórico do Minix
Criado por causa da AT&T;
Feito do zero e com objetivos acadêmicos;
Estruturado de forma modular;
Escrito em C;
Filosofia "Small is beautiful";
Inspirou Linus Torvalds a desenvolver o Linux
5
Minix 1.0 (1987)
Compatível com a versão 7 do UNIX,
Cerca de 12.000 linhas de código em C, incluindo Kernel, gerenciamento de memória, sistemas de arquivos.
O código e binários desta versão foram liberados através de diskets com um manual de referência
6
Minix 2.0 (1997)
BaseadO na segunda versão do livro de Tanenbaum,
Disponibilizado para processadores x86 e Solaris em arquitetura SPARC.
Além disso foi adicionado o padrão POSIX e distribuído a partir de CD-ROM
7
Minix 3.0
Adição de suporte a rede via TCP/IP
X Window System (X11 - desenhar e mover as janelas no dispositivo de visualização e interação com um mouse e teclado.)
Kernel reescrito e reduzido em 4000 linhas de código
Suporte completo a multi-programação e multi-usuário
8
Minix 3.0
Drivers de dispositivos executam como processos de usuário
Linguagens: cc, gcc, g++, perl, python, etc.
Suporte de até 4GB de Ram
A versão 3 é descrita na terceira edição do livro Sistemas Operacionais;
9
Classificação
Micronúcleo (microkernel).
Apenas o núcleo do SO executa no modo kernel.
O SO passa a ser de mais fácil manutenção.
10
Processos e Threads
11
Processos no Minix
Coleção de processos que se comunicam entre si e com processos de usuários través de mensagens.
Estruturado em camadas, que executam funções específicas.
A comunicação é feita na mesma camada e/ou na camada superior com a inferior.
12
Processos - Estrutura Interna
13
Processos - Estrutura Interna - Camada 1
Captura todas as interrupções e traps.
Faz o escalonamento e fornece modelo de processos sequenciais independentes que se comunicam por mensagens
14
Processos - Estrutura Interna - Camada 2
Contém os processos de E/S, chamados de tarefas e/ou drivers de dispositivos
Todas as tarefas na camada 2 e todo código na camada 1 formam o Kernel
15
Processos - Estrutura Interna - Camada 3
Contém processos que fornecem serviços úteis para os processos de usuário.
Realiza a interpretação das chamadas de sistemas.
16
Processos - Estrutura Interna - Camada 4
Contém todos os processos de usuário, shells, editores, compiladores e programas escritos pelos usuários.
17
Chamadas de sistema - Fork e Exec
fork é o único meio de criar um novo processo.
exec permite criar um processo para executar um programa especificado.
Comunicação interprocessos através de mensagens.
Tarefas > gerenciador de memória e servidor de arquivos > processos do usuário.
18
Escalonamento de Processos
O MINIX utiliza um algoritmo de escalonamento com Filas Multinível.
Fila de prontos é dividida de acordo com a classificação dos processos.
Cada fila pode ter diferentes algoritmos, no MINIX se usa o Round-Robbin.
...