Kernel, Microkernel e Exokernel
Por: Kelven Rodrigues • 26/5/2017 • Projeto de pesquisa • 1.981 Palavras (8 Páginas) • 356 Visualizações
REsumo
O presente relatório descreve o trabalho teórico realizado no âmbito da cadeira “Sistemas Operativos I” integrada no 1º semestre do 2º ano do curso de Engenharia Informática do ISCTEM.
Este projecto consiste na pesquisa, descrição e demonstração do funcionamento dos diversos tipos de Kernel. Ainda, consiste na produção de um excerto de código, escrito em linguagem de programação C.
Palavras-Chave : Kernel, Microkernel, Exokernel, Windows, Unix, Solaris, C, Linux.
Índice
Resumo ii
Índice iii
Índice de imagens iv
1. Introdução 5
1.1. Enquadramento e Objectivos 5
1.2. Tecnologias Utilizadas 6
1.3. Organização do Relatório 6
2. Referencial Teórico 7
2.1. O que é o Kernel ? 7
2.2. Como funciona o Kernel ? 7
2.3. Tipos de Kernel 7
2.3.1. Kernel Monolítico (SOLARIS) 7
2.3.2. Microkernel (UNIX e Windows) 9
2.3.3. Exokernel 11
3. Trabalho Prático 12
4. Conclusão 15
Bibliografia 16
Índice de imagens
Figura 1 - Kernel Monolítico 7
Figura 2 - Arquitectura do SOLARIS 10 8
Figura 3 - Arquitectura do SOLARIS 11 8
Figura 4 - MicroKernel 9
Figura 5 - Arquitectura do GNU Hurd 9
Figura 6 - Kernel Híbrido 9
Figura 7 - Arquitectura do Windows NT 10
Figura 8 - Exokernel 11
Figura 9 - Programa em execução - Directório inexistente 13
Figura 10 - Programa em execução - Directório existente 14
Figura 11 - Programa em execução - Directório existente, Ficheiro inexistente 14
Figura 12 - Programa em execução - Directório e Ficheiro existentes 14
1. Introdução
Um Sistema Operativo define-se como sendo um programa ou um conjunto de programas, cuja função é gerir os recursos do sistema, fornecendo uma interface entre o computador e o utilizador.
É difícil imaginar o funcionamento de um computador sem a existência de um Sistema Operativo. De facto, é um componente de extrema importância para que a máquina funcione de modo eficaz e seguro. Pode-se dizer que o Sistema Operativo é o gestor do computador, pois organiza a execução das aplicações, aloca espaços de memória para a execução dos programas, gere a disputa de recursos, trata do envio e recepção de dados dos utilizadores com a máquina, entre outras funções importantes.
1.1. Enquadramento e Objectivos
Reconhecendo a importância do Sistema Operativo no mundo da tecnologia, pretende-se aprofundar os conhecimentos sobre o funcionamento do mesmo.
Neste sentido, foi proposto o estudo de três tipos de núcleo do Sistema Operativo.
1.1.1. Objectivo Geral
Estudar os vários tipos de núcleo dos Sistemas Operativos.
1.1.2. Objectivos Específicos
Investigar sobre o núcleo (kernel), micronúcleo (microkernel) e exonúcleo (exokernel);
Associar os três tipos de núcleo aos Sistemas Operativos Windows, Unix e Solaris;
Redigir, executar e testar um excerto de código que faça a manipulação de ficheiros num ambiente Linux.
1.2. Tecnologias Utilizadas
Relativamente à parte teórica, a pesquisa foi feita utilizando o material fornecido nas aulas de Sistemas Operativos I. Eventualmente, foi feito o uso da Internet para esclarecimento de certos conceitos.
Quanto à parte prática, o código foi escrito no editor de texto Sublime Text 3. O compilador usado para testar o programa foi o GCC (GNU Compiler Collection). Todo o processo de escrita e compilação ocorreu num ambiente Linux (Ubuntu).
1.3. Organização do Relatório
O presente documento divide-se da seguinte forma :
No presente capítulo, apresentam-se algumas notas introdutórias;
No segundo capítulo, apresenta-se a pesquisa feita sobre o tema atribuído;
No terceiro capítulo, apresenta-se o código do programa e os testes do mesmo;
No quarto e último capítulo, apresenta-se a conclusão do trabalho.
2. Referencial Teórico
2.1. O que é o Kernel ?
Kernel é o componente central do Sistema Operativo da maioria dos computadores. Ele tem um papel muito importante para o funcionamento dos computadores, por ser a ligação entre o processamento de dados e programas.
É o grande responsável por fazer a ligação entre o hardware e o software do computador. O seu objectivo principal é gerir a máquina e fazer com que as aplicações possam ser executadas através dos recursos existentes no computador. Além disso, o kernel tem como responsabilidade garantir que a memória RAM seja utilizada do melhor modo possível para que assim não ofereça qualquer risco para o computador.
2.2. Como funciona o Kernel ?
O funcionamento não ocorre de forma simples, mas sim apresenta-se como um processo complexo, dependendo do tipo de kernel que a máquina possui.
Cada tipo de kernel funciona de uma forma específica,
...