Introdução aos sistemas operacionais [Dica]
Publicado por Hugo Sousa em 14/10/2009
[ Hits: 10.216 ]
Dedico este texto aos usuários de T.I. que não sabem o que é um sistema operativo (sistema operacional). Mais precisamente aos usuários de janela (Windows) que passam a vida usando algo sem saber o que é. Diferentemente do Linux, que para se usar é necessário conhecer, o Linux não atrofia a mente, o Linux é sabedoria, seja mais um sábio.
Definição genérica de sistema operacional
É um software responsável pelo funcionamento dos componentes e periféricos do computador. De um modo mais grosseiro, é um conjunto de pastas contendo milhares/milhões de arquivos.
Definição técnica de sistema operacional
É o conjunto de rotinas específicas executadas pelo processador que controla o funcionamento do computador, gerenciando o compartilhamento concorrente de dispositivos e aplicações abstratas, como editores de texto e páginas web, memória, processador, impressora e dispositivos de entrada e saída. Além disso, o sistema operacional (S.O.) possui duas funções básicas, quais sejam; facilidade de acesso aos recursos do hardware e compartilhamento desses recursos de modo organizado.
Os sistemas operacionais podem ser monoprogramáveis/monotarefa, multiprogramáveis/multitarefa e sistema com múltiplos processadores.
Sistemas monoprogramáveis eram direcionado para a execução de um único programa. Qualquer outra ação para ser executada deveria aguardar o término da ação corrente. Isso ocorria porque o sistema permitia que a memória, processador e periféricos ficassem dedicados apenas à execução corrente. Nesse tipo de sistema, enquanto um programa espera por um evento (leitura ou gravação de dado), o processador permanece ocioso, a memória é subutilizada caso o programa não a preencha totalmente. Os monoprogramáveis justificam-se pela fácil implementação, não existindo preocupação com compartilhamento de recursos.
Sistemas multiprogramáveis são a evolução dos monoprogramáveis, permitindo o compartilhamento dos recursos por vários usuários e aplicações por meio do compartilhamento da memória e processador. Nesse o sistema operacional se preocupa em gerenciar o acesso à memória, ao processador e aos periféricos de maneira ordenada e protegida. O sistema multiprogramável, apesar de mais eficiente que a monotarefa, possui implementação muito mais complexa. Os sistemas multiprogramáveis podem ser classificados de acordo com que suas aplicações são gerenciadas, em sistemas batch, de tempo compartilhado ou de tempo real.
Os sistemas batch foram os primeiros sistemas operacionais multiprogramáveis implementados da década de 1960. A execução de programas nesse sistema é feita por meio de cartões perfurados e todas as entradas e saídas não armazenadas em uma memória secundária para serem executados posteriormente. São exemplo de aplicações batch: cálculos, backup e outras ações que não exigem interação do usuário.
Os sistemas de tempo compartilhado permitem a execução de diversos programas de acordo com a divisão do tempo do processador em intervalos (fatias de tempo). Nesse sistema, para que a execução de um programa seja concluída, é necessário que a fatia de tempo será suficiente para tal, caso contrário o sistema interrompe a execução desse programa até que haja uma fatia suficiente para a conclusão da execução do programa. Nesse período de espera o usuário pode interromper a execução do programa, pois há interação do usuário com o sistema, por meio de mouse, teclado, vídeo etc. Os sistemas atuais processam as aplicações por meio tempo compartilhado, pois o tempo de resposta é razoável aos usuários e são de baixo custo.
Os sistemas de tempo real se caracterizam pela obrigação de executar uma aplicação em determinado período de tempo, nesse caso o tempo de processamento pode variar sem comprometer a aplicação em execução, e deve estar dentro do limite definido pela aplicação, caso contrário ocorrerão problemas irreparáveis.
Sistemas multiprocessadores caracterizam por possuir duas ou mais UCPs interligadas e executando aplicações em cooperação. A vantagem desse sistema é que vários programas podem ser executados ao mesmo tempo ou que a mesma aplicação seja subdividida entre os múltiplos processadores. O uso desse tipo de sistema ocorre mais comumente em atividades científicas, por exemplo: pesquisas aeroespaciais, aplicações. As vantagens desse sistema são as mesmas dos sistemas multiprogramáveis, com uma diferença, como há o uso de vários processadores, se um deles falhar, os demais assumem as execuções das aplicações sem que o usuário perceba.