Descrição do sistema operativo


 


O computador só é capaz de fazer funcionar um programa informático (chamado às vezes aplicação ou software) através de um sistema operacional. A máquina deve estar em condições de efectuar diversas operações preparatórias para assegurar o intercâmbio entre o processador, a memória, e os recursos físicos (periféricos).





O sistema operativo (SE ou OS abreviatura do termo inglês Operating System), está encarregue de garantir a ligação entre os recursos materiais, o utilizador e as aplicações (tratamento de texto, jogos de vídeo,...). Assim, quando um programa deseja aceder a um recurso material, não é necessário enviar informações específicas ao periférico, basta enviar as informações ao sistema operacional, que se encarrega de transmití-las ao periférico referido através do seu piloto. Na ausência de pilotos, cada programa deverá reconheçer e assegurar a comunicação com cada um dos periféricos!



O sistema operacional permite assim "dissociar" os programas e o material, simplificando a gestão dos recursos e oferecendo ao utilizador um interface homem-máquina (notado "IHM") simplificado para lhe permitir livrar-se da complexidade da máquina física.




Papéis do sistema operativo






Os papéis do sistema operacional são diversos


• Gestão do processador: o sistema operacional está encarregue de gerenciar o subsídio do processador entre os diferentes programas, graças a um algoritmo de emissão. O tipo de ordenador é totalmente dependente do sistema operacional, em função do objectivo visado.


• Gestão da memória viva: o sistema operacional está encarregue de gerenciar o espaço da memória atribuída a cada aplicação e, se for caso disso, a cada utlizador. No caso de insuficiência de memória física, o sistema operacional pode criar uma zona memória no disco rígido, chamada "memória virtual". A memória virtual permite fazer funcionar aplicações que necessitam de mais memória do que a memória viva tem disponível no sistema. Por outro lado, esta memória é muito mais lenta.


• Gestão das entradas/saídas: o sistema operacional permite unificar e controlar o acesso dos programas aos recursos materiais através dos pilotos (chamados igualmente administrativos de periféricos ou gestores de entrada/saída).


• Gestão da execução das aplicações: o sistema operacional é responsável pela boa execução das aplicações, afectando-lhes os recursos necessários ao seu bom funcionamento. Permite a esse respeito "matar" uma aplicação que já não responde correctamente.


• Gestão dos direitos: o sistema operacional é responsável pela segurança ligada à execução dos programas, garantindo que os recursos são utilizados apenas pelos programas e utilizadores que possuem os direitos adequados.


• Gestão dos arquivos: o sistema operacional gerencia a leitura e a redacção no sistema de arquivos e os direitos de acesso aos arquivos pelos utilizadores e pelas aplicações.


• Gestão das informações: o sistema operacional fornece diversos indicadores que permitem diagnosticar o bom funcionamento da máquina.



Componentes do sistema operativo






O sistema operacional é composto por um conjunto de softwares que permitem gerir as interacções com o material. Neste conjunto de softwares distinguem-se geralmente os seguintes elementos:


• O núcleo (em inglês kernel) que representa as funções fundamentais do sistema operacional como a gestão da memória, dos processos, dos arquivos , das entradas/saídas principais, e das funcionalidades de comunicação.


• O intérprete de comandos (em inglês shell, ou "casca", por oposição ao núcleo) que permite a comunicação com o sistema operacional através de uma linguagem de comandos, para permitir ao utilizador pilotar os periféricos ignorando muitas das características do material que utiliza, da gestão dos endereços físicos, etc.


• O sistema de arquivos (em inglês "file system", notado FS), permitindo registar os arquivos numa arborescência.


Sistemas multitarefas






Um sistema operacional é "multi-tarefas" (em inglês multithreaded) quando várias "tarefas" (igualmente chamadas "processos") podem ser executadas simultaneamente.






As aplicações são compostas em sequência de instruções que se chamam "processos ligeiros" (em inglês "threads"). Estes threads serão alternadamente activos, em espera, suspensos ou destruídos, de acordo com a prioridade que lhes é associada, ou executados sequencialmente.


Um sistema é préemptivo quando possui um planificador, que reparte, de acordo com critérios de prioridade, o tempo da máquina pelos diferentes processos que fazem pedidos.


O sistema é de tempo partilhado quando uma quota de tempo é atribuída a cada processo pelo comando. É nomeadamente o caso dos sistemas multi-utilizadores, que permitem a vários utilizadores utilizar simultaneamente numa mesma máquina aplicações diferentes ou similares: o sistema então é "transacional". Com efeito, o sistema atribui a cada utilizador uma fracção de tempo.



Sistemas multiprocessadores



O multiprocessing é uma técnica que consiste em fazer funcionar vários processadores em paralelo para obter uma potência de cálculo maior do que a obtida com um processador topo de gama ou a fim de aumentar a disponibilidade do sistema (em caso de avaria de um processador).


Chama-se SMP (Symmetric Multiprocessing ou Symmetric Multiprocessor) a uma arquitetura na qual todos os processadores têm acesso a um espaço de memória partilhada.


Um sistema multiprocessador deve por conseguinte ser capaz de administrar a partilha da memória por vários processadores, mas igualmente de distribuir a carga de trabalho.



Sistemas embarcados

Os sistemas embarcados são sistemas operacionais previstos para funcionar em máquinas pequenas, como PDA ((personal digital assistants ou em português, assistentes numéricos pessoais) ou aparelhos electrónicos autónomos (sondas espaciais, robots, computador de bordo de veículo, etc.), possuindo uma autonomia reduzida. Assim, uma característica essencial dos sistemas embarcados é a sua gestão avançada da energia e a sua capacidade para funcionar com recursos limitados.


Os principais sistemas embarcados para o "grande público" para assistentes numéricos pessoais é :


PalmOS


• Windows CE/Windows Mobile/Window Smartphone






Sistemas tempo real






Os sistemas tempo real (real time systems), essencialmente utilizados na indústria, são sistemas cujo objectivo é funcionar num ambiente temporariamente forçado. Um sistema tempo real deve assim funcionar de maneira fiável de acordo com restrições temporais específicas, ou seja, deve ser capaz de forncer um tratamento correcto das informações recebidas em intervalos de tempo bem definidos (regulares ou não).




Aqui estão alguns exemplos de sistemas operacionais tempo real:


OS-9;


• RTLinux (RealTime Linux) ;


• QNX ;


• VxWorks.






Os Tipos de Sistemas Operativo






Distinguem-se vários tipos de sistemas operacionais, capazes de gerenciar simultaneamente informações de um comprimento de 16 bits, 32 bits, 64 bits ou mais.