Jump to content
elementsky

Como funciona o Kernel de um S.O.?

Recommended Posts

Andre
Kernel de um sistema operacional é entendido como o núcleo deste ou, numa tradução literal, cerne. Ele representa a camada mais baixa de interface com o Hardware, sendo responsável por gerenciar os recursos do sistema computacional como um todo. É no kernel que estão definidas funções para operação com periféricos (mouse, disco, impressora, interface serial/interface paralela), gerenciamento de memória, entre outros. Resumidamente, o kernel é um conjunto de programas que fornece para os programas de usuário (aplicativos) uma interface para utilizar os recursos do sistema.

Quanto à sua arquitetura, o kernel pode ser monolítico - em um único bloco, com todas as funcionalidades carregadas na memória - ou modular - com os módulos específicos para cada tarefa carregados opcionalmente, dinamicamente.

O kernel é a parte mais importante do sistema operacional, pois, sem ele, a cada programa novo que se criasse seria necessário que o programador se preocupasse em escrever as funções de entrada/saída, de impressão, entre outras, em baixo nível, causando uma duplicação de trabalho e uma perda enorme de tempo. Como o kernel já fornece a interface para que os programas possam acessar os recursos do sistema de um nível mais alto e de forma transparente, fica resolvido o problema da duplicação do trabalho.

Quando há periféricos ou elementos de um sistema computacional que o kernel não cobre, então se faz necessário escrever a interface para eles, os chamados device drivers. Geralmente, os kernels oferecem uma função para se executar chamadas de sistema, como por exemplo a ioctl() do Linux. Valendo-se dessa função, podem-se escrever rotinas para qualquer dispositivo.

[editar]

Kernel monolítico

Diagrama de interacção de um kernel monolítico (ou mono-bloco).

Kernel monolítico ou mono-bloco é um kernel que implementa um interface de alto nível para possibilitar chamadas de sistema específicas para gestão de processos, concorrência e gestão de memória por parte de módulos dedicados que são executados com privilégios especiais.

Alguns exemplos deste tipo de kernel:

BSD

Linux

[editar]

Micro-kernel

Diagrama de interacção de um micro-kernel.

Micro-kernel é um termo usado para caracterizar o sistema cujas funcionalidades do sistema saíram do kernel e foram para servidores, que se comunicam com um núcleo mínimo, usando o mínimo possível o "espaço do sistema" (nesse local o programa tem acesso a todas as instruções e a todo o hardware) e deixando o máximo de recursos rodando no "espaço do usuário" (no espaço do usuário, o software sofre algumas restrições, não podendo acessar alguns hardwares, nem tem acesso a todas as instruções).

Hurd

Minix

Microsoft Windows NT

[editar]

Enlaces externos

Explicando o que é kernel para leigos (vivaolinux.com.br)

Categoria: Sistemas operativos

espero k ajude :D

Share this post


Link to post
Share on other sites
Overrun™

Boas.

O tópico foi movido para as Duvidas Gerais visto que isto é uma dúvida sobre o funcionamento de algo e não uma discussão de como este algo é programado.

Cumps. Overrun

Share this post


Link to post
Share on other sites
theproject

Como deves imaginar um kernel nao se explica em meia duzia de linhas aqui. Mas possote dizer quais os seus componentes principais:

  gestao de processos

  gestao de memoria

  gestores de perifericos (o que chamas de drivers)

  sistema de ficheiros

  Comunicacao entre processos

O que cada componente faz é mais ou menos auto explicativo pelos seus nomes mas a maneira como o fazem depende muito de SO para SO... Sem concretizares um pouko a tua curiosidade e dificil dar uma ideia de como funciona.

Hasta

Share this post


Link to post
Share on other sites
Overrun™

depende eu keria saber km este unciona do ponto de vista da programação

então seria nas Dúvidas de programação e não na Discussão  :cheesygrin:, de qualquer forma vamos deixar aqui por enquanto, se necessessário muda-lo-ei mais tarde.

Cumps. Overrun

Share this post


Link to post
Share on other sites
Strong

Construir um sistema operativo é muito trabalhoso.. mas podes ler este fórum (http://www.mega-tokyo.com/forum/index.php) que foi de lá que tirei toda a informação (mais uns livros) para criar uma disquete de arranque, a única funcionalidade era imprimir umas quantas mensagens no ecrã e mais nada lol.. tempos em que era puto cromo :D  


perl is a prismthrough which chaos breeds order.perfection attained.

Share this post


Link to post
Share on other sites
elementsky

claro que eu nao pretendo  criar um sistema operativo, nem 0.5/10 de conhecimentos tenho para isso, é simplesmente uma questão de curiosidade nada mais, saber como as coisas funcionam etc...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.