A Necessidade dos Sistemas Operacionais

Este é o segundo artigo da série que discute as abstrações encontradas na computação.

No primeiro artigo foi dada uma pequena explicação sobre o uso do assembly para programar diretamente instruções em processadores. O uso dessa técnica é complexo, pois as instruções dessa linguagem não possuem uma analogia com aquelas que usamos para nos comunicarmos.

Antes de chegarmos às linguagens de programação de mais alto nível, precisamos entender o papel dos sistemas operacionais e o porquê de constituírem mais uma das abstrações com que lidamos na computação.

Bem resumidamente, um sistema operacional provê um conjunto de serviços para os programas executados em um computador. Consequentemente ao escrever programas, tarefas como leitura e gravação de dados, interação do usuário, exibição de informações entre outras são delegadas ao sistema operacional.

O sistema operacional é inicializado após o carregamento das instruções BIOS (Basic Input Output System). Esse sistema usa as funções BIOS para comunicar-se com as diferentes partes que compõe o computador (processador, memória, discos de armazenamento, dispositivos de entrada de dados, monitores, etc.) e controla a execução dos programas.

Todo sistema operacional, possui um mecanismo para carregar em memória programas a executar no computador. A ação para carregar programas normalmente é via solicitação de quem está usando o computador, mas eventualmente é feita via agendamento de tarefas a executar.

Quem utiliza um computador tem à disposição comandos que configuram a execução do sistema operacional e solicitam informações sobre o estado do computador. Por exemplo, ao listar os arquivos que se encontram em um dado local do computador, o que se tem em ultima instancia é o disparo de um comando do sistema operacional que faz essa tarefa.

Assim como o assembly varia de acordo com o processador ao qual se refere, existem diferentes sistemas operacionais e de maneira análoga eles também variam de acordo com o processador. A diferença é que pode haver mais de um sistema operacional para um mesmo tipo de processador.

A escolha de um sistema operacional é basicamente ligada aos gostos e preferências de quem usa o computador. Atualmente isso está mais claro nos dispositivos móveis (tablets e smartphones) onde ao escolher uma marca e modelo torna-se implícito o sistema operacional adotado.

Graças ao nível de abstração proporcionado pelo sistema operacional, o desenvolvimento de programas deixou de ser algo possível de ser feito apenas com assembly. Um próximo artigo tratará de linguagens de programação e o que faz com que o código delas seja executado por sistemas operacionais.

Comentar

  Country flag

biuquote
  • Comentário
  • Pré-visualização
Loading

Sobre o Autor

Experiência de 25 anos na área de informática, trabalhando com programação orientada a objetos desde 1990, arquitetura cliente-servidor desde 1994, aplicações web desde 1997 e arquitetura distribuída desde 1999. Conhecimento de bancos de dados relacionais, ambientes de desenvolvimento visual, criação de páginas Web, metodologias de desenvolvimento e administração de risco. Realizações em levantamentos de sistemas, avaliação de controles, coordenação de projetos de desenvolvimento, auditoria e consultoria.

Meses