• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

elementsky

Como funciona o Kernel de um S.O.?

9 mensagens neste tópico

alguem me poderia explicar como funciona o kernel de um S.O., so mm numa de curiosidade, se pudessem postar um esquema..... agradecia

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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  :biggrin:, de qualquer forma vamos deixar aqui por enquanto, se necessessário muda-lo-ei mais tarde.

Cumps. Overrun

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora