domingo, 2 de agosto de 2009

Sobre kernel e sistemas operacionais - parte I


Um computador é composto por duas partes principais: o hardware e software.

O hardware é toda e qualquer peça material do computador, como mouse, teclado, monitor, etc. Sozinho, o hardware não faz nada. Ele não conecta a internet, não serve para digitar nada, não filma e não mostra nada no monitor.

O software é todo o resto, tudo que não é tocável. Desde os programas que você usa até os drivers necessários para que eles funcionem. A função do software é controlar o hardware, é torná-lo útil.

O kernel é o software mais básico que pode existir. Isso não significa que ele seja simples, mas sim indispensável para o funcionamento de todo o resto. O kernel é a camada mais básica de um sistema operacional, ele recebe as instruções dos programas e as traduz para o hardware. Se o computador fosse um carro, o kernel seria o motor, e os pedais seriam os programas. Você mexe nos pedais, mas quem faz o carro andar de fato é o motor.

Todos os sistemas operacionais incluem um kernel e algumas ferramentas para lidar com ele. Um exemplo de sistema operacional é o Windows. O Windows possui um kernel e muitas ferramentas de manipulação. Até mesmo o ambiente gráfico está incluído no kernel. Esse tipo de kernel permite que novos módulos sejam adicionados sem ser necessário reconstruí-lo. É como colocar um reboque no carro, não é preciso desmontar e montar o carro todo para adicioná-lo. Entretanto, quanto mais módulos são adicionados ao kernel, mais pesado ele fica, e você não pode desmontá-lo e retirar o que não precisa. Ou seja, o kernel do Windows fica mais pesado com a instalação de novos recursos, e não há nada que possa ser feito para evitar isso.

Existem outros sistemas operacionais, como Linux e Mac OS, que utilizam outro kernel. Ele funciona de maneira diferente: carrega apenas as ferramentas mínimas de manipulação, o que o torna naturalmente mais leve e rápido. Sua desvantagem é que para se adicionar um módulo novo, é preciso desmontá-lo, incluir o módulo e remontá-lo. Esse processo se chama "recompilar o kernel". Por esse motivo, a Apple, fabricante do Mac OS, decidiu vender o sistema operacional e o hardware juntos. Assim ela se encarrega de reconstruir o kernel sempre que for necessário, e você não precisa aprender a manipulá-lo, basta ligar o computador e tudo vai funcionar. O Linux é feito para funcionar com uma infinita gama de hardware, por isso tem a maior quantidade de módulos possível. Ao iniciar, ele detecta qual o seu hardware, e liga apenas os módulos necessários, o que o torna tão leve quanto um kernel de Mac OS. Os problemas ocorrem quando ele não detecta corretamente o hardware, ou não tem os módulos necessários.

(continua)

Um comentário:

  1. Textos facéis de entender,curtos e objetivos;até euu conseui entendeer = P

    ResponderExcluir