segunda-feira, 16 de junho de 2014

Sistemas Operacionais - Uma visão geral


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

2 comentários:

  1. 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?
    Acredito 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?

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