SISTEMAS OPERACIONAIS - EF08TEC02

 

Todas as vezes que alguém pergunta: qual o sistema operacional que você usa? Instantaneamente, você pensa na janelinha do Windows, no shell do Linux ou mesmo no ícone de configurações do Android, dentre outros, não é mesmo?!

Mas e se eu te contasse que um sistema operacional não se resume àquele visual com pastinhas bonitinhas clicáveis e tão úteis em nosso dia-a-dia - conhecido como GUI (Graphical User interface, interface gráfica do usuário)

Durante a leitura, nós vamos identificar qual o conceito de sistema operacional, alguns de seus aspectos fundamentais, compreenderemos sua importância tanto para o usuário comum, quanto para as pessoas desenvolvedoras, e também conheceremos tipos e estruturas de sistemas.

O que é um sistema operacional?

Fundamentalmente, um sistema operacional é um software, que pode ser o Linux, Windows, Android, macOS, UNIX, entre outros. No entanto, ele não resume aquilo que seus olhos conseguem ver ou ao que você consegue interagir. Em outras palavras, é um programa que conversa diretamente com o hardware da sua máquina.

O sistema operacional assegura que os programas funcionem corretamente. Mas antes de entendermos o que é um sistema operacional, precisamos definir o que é um sistema computacional.

Um computador moderno apresenta alguns elementos principais, que podemos destacar:

  • ·       Um ou mais processadores (o core);
  • ·      Memória principal;
  • ·      Dispositivos de entrada e saída (E/S), como monitores e teclados.

Todos esses componentes lidam em conjunto com os programas na sua máquina. À primeira vista pode parecer pouca coisa, mas você conhece de fato todos os componentes que pertencem ao seu computador? Sabe como todos eles funcionam?

Já pensou então, se todo o usuário e usuária se preocupassem com detalhes de hardware para escrever um arquivo de texto? Ou pior, se os desenvolvedores e desenvolvedoras tivessem que aprender os pormenores dos componentes de um computador moderno para conseguir começar a programar? Parece um trabalho sem fim, não é?

Qual a função do sistema operacional?

O autor do livro sistemas operacionais modernos, Tanenbaum, levanta essa questão e justifica que o sistema operacional surgiu para intermediar o diálogo entre máquina e pessoa programadora (ou mesmo usuário/a mais avançado).

Assim, a gente não precisa se preocupar em administrar todos os recursos na mão, ou então, por exemplo, ter que deslocar um espaço na memória específico para determinada variável?

Ademais, certamente a quantidade de programadores e softwares disponíveis na atualidade não seria a mesma se houvesse a necessidade também de gerenciar formas de otimização dos recursos.

Muitas vezes o sistema operacional é considerado um software base, porque fornece suporte às aplicações. Ele funciona como uma interface entre a aplicação e as rotinas de E/S com o hardware, ou seja, é preciso ter um sistema que faça essa conversa, e é nesse campo que o sistema operacional atua. Essa peça mais elementar de software opera em dois modos: o modo núcleo (modo supervisor) e o modo usuário.

No modo supervisor o acesso é completo a todo o hardware, e é possível enviar qualquer instrução que a máquina seja capaz de executar. O modo usuário é mais restrito para instruções que interferem no controle da máquina, mas é onde todo o resto do software opera.

Na imagem abaixo, conseguimos visualizar de forma simplificada as responsabilidades dos modos usuário e núcleo, assim como o local de atuação dos programas de interface com o usuário (GUI ou shell):





Desenho que mostra as camadas de um sistema operacional, sua posição e  relação com hardware e o modo usuário. Na camada acima há o modo usuário, que é composto pelas aplicações (como navegador web, reprodutor de música), a segunda camada é o programa de interface com o usuário. A terceira camada é o modo núcleo, que também é um software mas já faz parte do sistema operacional. Por fim há o hardware.

Embora a divisão de responsabilidades pareça muito clara, em diversas ocasiões, a distinção entre o campo de atuação do sistema operacional e o modo usuário (software usual) se torna complexa. Um exemplo dessa afirmação é um programa que funciona em modo usuário, mas executa tarefas privilegiadas, como permitir ao usuário a troca de senha.

Em outras palavras, definir exatamente um sistema operacional não é tão simples assim, mas conseguimos diferenciá-los de programas de usuário por meio de suas particularidades.

Em resumo, as principais funções do sistema operacional são:

1) funcionar como uma ponte entre aplicações na camada do usuário e hardware;

2) e gerenciar os recursos de um sistema complexo (por exemplo, quando você executa vários programas ao mesmo tempo, na realidade é o seu sistema operacional que troca, em frações de segundos, o programa processado pela unidade central de processamento).

Além disso, são programas robustos, complexos e possuem longa vida. Apesar de serem muito difíceis de escrever, você acredita que o Linux tem cerca de cinco milhões de linhas? E isso é só a parte que opera no modo núcleo!


Comentários

Postagens mais visitadas deste blog

O ILUMINISMO E A ILUSTRAÇÃO

PARÓDIA SOBRE O ILUMINISMO

OS ATOS INSTITUCIONAIS - DE 01 A 05