imported>Nuno Tavares m (*cat +fusãoMicro-kernel) |
imported>Nuno Tavares m (+monolítico +img) |
||
Linha 6: | Linha 6: | ||
Quando há [[periferico|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 driver]]s. 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]]. | Quando há [[periferico|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 driver]]s. 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]]. | ||
==Kernel monolítico== | |||
[[Image:Kernel-monolithic.png|thumb|right|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 [[chamada de sistema|chamadas de sistema]] específicas para gestão de [[processo]]s, [[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]] | |||
* [[Windows NT|Microsoft Windows NT]] | |||
==Micro-kernel== | ==Micro-kernel== | ||
[[Image:Kernel-microkernel.png|thumb|right|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). | '''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). | ||
Edição das 03h16min de 24 de julho de 2005
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.
Kernel monolítico
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:
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).
ast:Kernel
ca:Nucli del sistema operatiu
cs:Kernel
de:Kernel
en:Kernel (computer science)
es:Kernel
fi:Käyttöjärjestelmän ydin
fr:Noyau (informatique)
id:Kernel (Ilmu komputer)
is:Stýrikerfiskjarni
it:Kernel
ja:カーネル
ko:커널 (컴퓨터)
lt:Branduolys (OS)
nl:Kernel
no:Kjerne (datamaskiner)
pl:Jądro systemu operacyjnego
ru:Ядро (операционной системы)
sv:Operativsystemskärna
zh:内核