Zusammenfassung der Ressource
Operating
System Kernels
- Microkernel
- Funcionalidades
- Dividido em vários processos os
chamados Servidores
- São essencialmente programas como todos os
outros, exceto que o kernel concede alguns deles
privilégios para interagir com partes da memória
física que a maioria dos programas não possuem
- Modos de operação
- Modo protegido
- Comunicação simplificado
entre processos (IPC)
- Gerenciamento de memória
- Gerenciamento de threads
- Modo usuário
- Não precisam de acesso direto ao HW
- Serviços como rede, vídeo, são
considerados não essenciais, e
residem no user-space
- Comunicação
- Troca de mensagem
- Mecanismo de comunicação
entre processos, permite um
servidor comunicar com
outro servidor
- Erros
- Afetam somente o
processo que ocorre
- Performace
- Utiliza o mínimo possível o "espaço do
sistema", poucos recursos, lento
- Exemplos
- Hurd
- Minix
- Vantagens
- Mais
seguro
- Mais fácil de
portar para
novas
arquiteturas
- Mais fácil de
expandir
- Núcleo Monolitico
- Funcionalidades
- Arquitetura de núcleo onde todo o núcleo é executado no espaço de núcleo no
modo de supervisão. Ou seja, é um kernel que possui todos os códigos de suporte
necessários. Funcionamento simples. Estrutura não visível.
- Modos de operação
- Protegido
- Todos os drivers de dispositivo,
agendamento, memória
virtual, todos os processos
Comunicação (não apenas a
IPC simples como em
Microkernel), o sistema de
arquivos (virtual) e o sistema
de chamadas
- Usuário
- Somente aplicativos
- Performace
- Rápido, processa a capacidade de chamar todas as funções
diretamente como um programa no modo usuário
- Comunicação
- Serviços
- Chamadas de sistema
- Erros
- Afeta todo o sistema
- Vantagens
- Rapidez da
execução
- Simplicidade de
implementação
- Desvantagens
- Limitado a inovações
- Dificuldade de
manutanção
- Versões
- Linux
- Unix
- MS-DOS
- Kernel Híbrido
- Microkernel
- Estabilidade
- Monolitico
- Benefícios de desempenho
- Tenta combinar
aspectos e
benefícios
- Modos de operação
- Usuário
- Controladores
de
dispositivos
- Sistemas
de
arquivos
- E/S
- Protejido
- IPC
- Servidores
- Desvantagens
- Maior trabalho
para o fabricante
de HW
- Problemas de
latência (inerente
microkernel)
- Versões
- Windows NT
- XNU
- ReactOS
- Subsistemas
- Vista
- Não concluído...
- Linux
- Arquitetura
- Monolitico e
modular
- Capacidade para carregar e
descarregar o Kernel-code
- Assim pode carregar drivers para
novos dispositivos sob demanda
- Gerenciamento
de processos
- Estrutura
- Arquivos abertos
- Endereçamento dos processos
- Status do processo
- RUNNING
- Tarefa em execução
- INTERRUBTIBLE
- Bloqueado, espera condição
para despertar e mudar
estado para RUNNING
- UNINTERRUBTILE
- Como INTERRUBTIBLE,
porém não pode mudar
para RUNNING
- ZOMBIE
- Tarefa terminou, pai fez a
chamada de sistema wait4()
- PID
- Short INT (32768)
- Chamadas de sistemas
- Chamadas de funções que
retornam sucesso ou falha
- Tratamento de interrupções
- Metade Superior
- Tmp critico
- Metade inferior
- Tmp ñ critico
- Softirqs
- Tasklets
- Work-queues
- Ativar ou desativar
manualmente
- Sincronização
do Kernel
- Shared-Memory-Applications
- Race conditions
- Bloqueio de
recurso
- Deadlock
- Linux possui recursos
contra Race condition e
Deadlocking
- Semáforo
- Gerenciamento de
tempo
- atualizar o sistema, hora do dia
- Gerenciamento de memória
- Paginas
- 4 kByte on
32Bit-Architecture
and 8 kByte on
64Bit-Architecture
- Radix-Tree
- Árvore binária que
permite uma pesquisa
rápida para a página
- Monolitico
- FreeBSD
- Monolitico e modular
- Gestão do processo
- Cada Thread
um processo
- Estrutura proc
- PID
- Fork()
- Cópia do PID
diferente da original
- Prioridade
- Status
- SIDL
- SRUN
- SSLEEP
- SSTOP
- SZOMB
- Process scheduling
- Usa time-share
- Peridiocidade
varável
- short jobs
- I/O-bound
- base level
- round robin
- Interrupções
- Threads de interrupção