Como foi explicado na introdução o profissional em ciência da computação cria softwares, explicaremos aqui uma base da arquitetura dos sistemas operacionais.
Arquitetura de Sistemas Operacionais
Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executado pelo processador, de forma semelhante aos programas dos usuários. Sua principal função é controlada o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus diversos recursos, como processadores, memórias e dispositivos de entrada e saída.
Sem o sistema operacional, um usuário para interagir com computador deveria conhecer profundamente diversos detalhes sobre hardware do equipamento, o que tornaria seu trabalho lento e com grandes possibilidades de erros. O sistema operacional tem comoobjetivo funcionar como uma interface entre usuário e o computador, tornando sua utilização mais simples, rápida e segura.
A grande diferença entre um sistema operacional e aplicação convencional é a maneira como suas rotinas são executadas em função de tempo. Um sistema operacional não é executado de forma linear como na maioria das aplicações, com inicio, meio e fim. Suas rotinas são executadas concorrentemente em função de eventos assíncronos, ou seja, eventos que podem ocorrer a qualquer momento.
O nome sistema operacional, apesar de ser o mais empregado atualmente, não é o único para designar esse conjunto de rotinas. Denominações como monitor, executivo, supervisor ou controlador possuem, normalmente, o mesmo significado.
Um sistema operacional possui inúmeras funções, mas antes de começar estudo dos conceitos principais componentes é importante saber primeiramente quais são suas funções básicas. Nesta introdução, asfunções de um sistema operacional são resumidas em duas, descritas a seguir:
Um computador ou sistema computacional possui diversos dispositivos, como monitores de vídeo, impressoras, unidades de CD/DVD, discos e fitas magnéticas. Quando utilizamos um desses dispositivos, não nos preocupamos com a maneira como é realizada esta comunicação e os inúmeros detalhes envolvidos nas operações de leitura e gravação.
Para a maioria dos usuários, uma operação como leitura de um arquivo em disco pode parecer simples. Na realidade, existe um conjunto de rotinas especificam controladas pelo sistema operacional, responsável pelo acionamento do mecanismo de leitura e gravação da unidade de disco, posicionamento da trilha e setor corretos, transferência de dados para a memória e, finalmente, informar ao programa a conclusão da operação. Cabe, então, ao sistema operacional servir de interface entre os usuários e os recursos disponíveis no sistema computacional, tornando esta comunicação transparente, além de permitir um trabalho mais eficiente e com menores chances de erros. Este conceito de ambiente simulado, criado pelo sistema operacional, é denominado máquina virtual e está presente na maioria dos sistemas modernos.
É comum pensar-se que compiladores, linkers, bibliotecas, depuradores e outras ferramentas fazem parte do sistema operacional, mas, na realidade, estes recursos são apenas utilitários, destinados a facilitar a interação do usuário com computador.
Em sistemas onde diversos usuários compartilham recursos do sistema computacional,é necessário controlar o usoconcorrente desses recursos. Se imaginarmos uma impressora sendo compartilhada, deverá existir algum tipo de controle para que a impressão de um usuário não interfira nas dos demais. Novamente é o sistema operacional que tem a responsabilidade de permitir o acesso concorrente a esses e a outros recursos de forma organizada e protegida.
O compartilhamento de recursos permite, também, a diminuição de custos, na medida em que mais de um usuário pode utilizar as mesmas facilidades concorrentemente, como discos, impressoras, linhas de computação etc.
Não é apenas em sistemas multiusuário que o sistema operacional é importante. Se pensarmos que um computador pessoal nos permite executar diversas tarefas ao mesmo tempo, como imprimir um documento, copiar um arquivo pela internet ou processar uma planilha, o sistema operacional deve ser capaz de controlar a execução concorrente de todas essas atividades.
Fonte: livro “arquitetura de sistemas operacionais” 4°edição por Francis Berenger Machado e Luiz Paulo Maia;