· O que é?
De acordo com Tanenbaum e Woodhull (Sistemas
Operacionais, 2000),
O software
de computador pode ser dividido, grosso modo, em duas espécies: programas de
sistema, que gerenciam a operação do computador em si, e programas aplicativos,
que executam o trabalho que o usuário realmente deseja. O programa de sistema
mais fundamental é o sistema operacional,
que controla todos os recursos do computador e fornece a base sobre a qual os
programas aplicativos podem ser escritos.
Assim, sistema
operacional é essencial para o funcionamento do computador, pois é o software
intermediário entre os aplicativos e o hardware, fazendo a conexão entre ambos.
· Como funciona?
o
Núcleo (ou
kernel) – é o software que contém os componentes centrais do sistema
operacional. É ele que decide quais aplicativos tem acesso ao hardware e
gerencia o acesso à memória RAM, entre outras coisas.
§
Execução de
programas – o sistema operacional gerencia a execução de programas, tornando
essa mais eficiente. Também é graças a ele que os aplicativos são mais simples
de desenvolver e executar, pois o kernel do SO faz o trabalho “mais pesado”,
por assim dizer.
§
Modos – há dois
modos básicos num SO: o modo protegido (protected
mode) e o modo supervisor (supervisor
mode). O modo supervisor é o utilizado pelo kernel para as tasks que precisam de acesso irrestrito
ao hardware. Ele entra em cena quando o computador está ligando, por exemplo,
ou quando um programa faz uma interrupção e o controle volta para o kernel. O
modo protegido é utilizado basicamente para quase todo o resto: as aplicações
rodam no modo protegido e dependem do kernel para interagir com o hardware.
§
Memória virtual –
faz com que o usuário pense que há muito mais memória RAM disponível do que
realmente há. Graças a quem? Ao kernel, é claro. Ele decide que memória cada
programa vai usar num determinado momento, permitindo ao SO usar a mesma
locação de memória para tasks
variadas.
§
Multitarefa – Adivinhem?
O kernel tem um pedaço de software chamado scheduler,
que determina quanto tempo cada programa levará executando, e em que ordem
serão executados. Isso permite executar vários programas no mesmo computador,
dando a impressão de que estão sendo executados ao mesmo tempo.
o
Networking –
Computadores, mesmo executando sistemas operacionais diferentes, podem se
conectar para compartilhar recursos. Isso permite que o SO de um computador
acesse outro computador para usar recursos do outro como se estes estivessem
presentes no computador local.
Referências:
OPERATING System. Disponível em:
<http://en.wikipedia.org/wiki/Operating_system>. Acesso em: 16 de junho
de 2014.
TANENBAUM,
Andrew S; WOODHULL, Albert S. Sistemas
Operacionais: Projeto e Implementação. Tradução de Edson Furmankiewicz.
Porto Alegre: Bookman, 2000.
Task pode ser traduzido como tarefa ou processo quando em execução, as tasks que funcionam no modo supervisionado já em processo pleno no SO também "dão a impressão" de multitarefas?
ResponderExcluirAcredito que seja um exemplo do quê ocorria em sistemas mobile em versões mais antigas e claro, em computadores no passado, afinal, o termo 'real multitasking' o quê significaria? Não há múltiplos processos ao mesmo tempo?
As vezes o real confunde-se bastante com o virtual, principalmente quando núcleos emulam outros núcleos para otimizar processamento de multi-tarefas, toda essa parte do funcionamento interdependente do SO e do hardware são muito interessantes, espero que com o avançar do curso toda esse funcionamento seja bem trabalhado.
ResponderExcluir