Elementos do grupo:
- Marcio Neves nº 20610
- Marco Leonor nº 17331
- Bernardo Marques nº 16460
- Valter Rocha nº 16022
O que é um Kernel ?
• Numa análise bastante simplificada, um kernel é um processo
que disponibiliza determinados serviços que permitem uma
utilização eficiente de um sistema computacional ou embedded.
• Actua como um mediador entre os programas e o hardware
oferecendo uma camada de abstracção relativamente ao hardware.
• Um kernel gere então as funcionalidades basicas e disponibiliza
certas ferramentas com a finalidade de facilitar a utilização dos
recursos de hardware do sistema em causa para o qual o kernel foi
desenhado.
2
Seviços disponibilizados por um
Kernel:
• Gestão de processos
• Comunicação entre processos
• Gestão de memória
• Gestão de mensagens
• Temporização
• Gestão de I/O
• Gestão de Erros
3
Processos e comunicação entre
processos:
• Criar ambiente multi-tasking
• Prioridades
• Preempção
4
Gestão de memória:
• Semáforos
• Alocação de memória a processos
5
Gestão de mensagens:
•Não usa o barramento global para
transmissão das mensagens.
•Evita que a mensagem seja lida antes que o
processo que envia termine.
•Comunicação entre processos mais robusta
6
Temporizações:
• Os processos podem ser executados em tempos
pré-determinados.
• Um processo que não termina em tempo util
pode ser terminado e o erro de timeout é
assinalado.
7
Gestão de I/O:
•É criado um nivel de abstracção em que o
programador não tem de se preocupar com
especificidades do hardware.
8
Porque não fazer um kernel em casa?
• Fazer um kernel sai mais caro do que comprar.
• Um kernel caseiro nunca está acabado.
• Um kernel caseiro não fica bem documentado
• A inevitavel mudança de equipa.
9
Porquê comprar um kernel comercial?
• Facil de usar e aprender.
• Bem documentada.
• Muitos dos bugs já foram encontrados e corrigidos.
• Technical Support.
10
Download

Elementos do grupo