sexta-feira, 18 de maio de 2007

Visão Geral de um Sistema Linux

* Baseado no Livro de Lars Wirzenius

O Núcleo do Sistema: KERNEL

Todo sistema operacional, independentemente de sua interface, aplicatios adicionais, gerenciador e navegador de arquivos consiste de um núcleo de sistema (kernel). O
kernel é o coração do sistema operacional (muitos vezes, errôneamente considerado o próprio sistema operacional).
A função do kernel é manter o funcionamento e a estabilidade de todo o sistema operacional, tais como: discos, inicialização e execução de tarefas e programas de maneira correta, aloca memória e outros recursos diversos como rede, e sucessivamente. O kernel evita que qualquer usuário possa utilizar diretamente os recursos de hardware, conduzindo o usuário ao uso de ferramentas disponíves. Sendo assim o kernel mantém uma espécie de proteção entre os usuários residentes na máquina operante. Os recursos e ferramentas que são disponibilizados pelo kernel são utilizados através de system calls (chamadas de sistema).

Os programas do sistema utilizam os recursos disponibilizados pelo kernel para executar e implementar diversos serviços para o funcionamento adqequado do sistema operacional. Tarefas do sistema e todos os demais programas, são executados "sobre o kernel", o qual é denominado user mode (modo usuário). A diferença entre programas do sistema e aplicações é compreensível pelo seu objetivo: as aplicações visão que execuções úteis sejam realizadas (jogar, por exemplo).
Um editor de textos, é uma aplicação o telnet (
protocolo cliente-servidor de comunicações usado para permitir a comunicação entre computadores ligados numa rede) é um programa (ou tarefa) do sistema.
A diferença entre tarefas do sistema, e aplicações é algumas vezes mínima, e somente importante para classificadores excêntricos.

Em um sistema operacional, ainda podemos encontrar compiladores e suas bibliotecas correspondentes (gcc e C no caso do linux), mesmo que nem todas as linguagens façam parte do sistema. Costumeiramente o sistema operacional é definido como o que há nos discos de instalação, o que no Linux pode variar bastante, já que ele pode ser encontrado em diversas fontes ao redor do mundo.