Sistemas Operacionais

Sistemas Operacionais

1 - ASPÉCTOS GERAIS Sistema Operacional é o nome dado a um conjunto de módulos de software que trabalham de modo cooperativo com funções de: - Administrar os recursos do sistema; e

- Auxiliar na execução dos programas do usuário oferecendo a ele uma interface de mais alto nível (Figura 1).

1.1 - OBJETIVOS E CARACTERÍSTICAS PRINCIPAIS

Estão entre os seus objetivos principais:

• Diminuir ao máximo a interação e a dependência do programador para com a máquina; e

• Permitir aos usuários do sistema de computação obterem uma utilização otimizada e compartilhada dos recursos de hardware disponíveis.

Dentre as características mais gerais desejáveis em um S.O. podemos destacar:

1.1.1 - CONCORRÊNCIA

É a existência de várias atividades ocorrendo em paralelo (ou simultaneamente) no sistema. Ex.: A existência de entrada e saída em paralelo ao processamento, ou a existência de vários jobs sendo processados simultaneamente.

1.1.2 - COMPARTILHAMENTO

A concorrência implica no uso coordenado e compartilhado dos recursos (sejam de Software, sejam de Hardware. As principais motivações para o compartilhamento são: • custo dos equipamentos;

• reutilização de programas;

• cooperação no uso de dados (ex.: sistemas de bancos de dados); e

• redução de redundâncias (ex.: compiladores).

1.1.3 – ARMAZENAMENTO DE DADOS A LONGO PRAZO

Permissão de armazenar dados e programas por longo tempo no sistema de computação (discos, fitas, etc), sem que seja preciso proceder sua entrada de veículos externos a cada seção de processamento.

1.1.4 – NÃO DETERMINISMO Um S.O. deve ser determinístico no sentido de que ele execute um certo programa em duas épocas diferentes e, para o mesmo conjunto de dados, os resultados sejam os mesmos. Entretanto, deve ser indeterminado no sentido de atender a eventos que ocorram no sistema, na ordem em que ocorrerem. Ex.: Erros do programa, acessos a arquivos, solicitação de recursos, interrupções externas, etc.

São caraterísticas desejáveis num S.O.:

• EFICIÊNCIA : Traduzida por baixo tempo de resposta, pouca ociosidade da CPU, e alta taxa de processamento;

• CONFIABILIDADE : Traduzida por pouca incidência de falhas e exatidão dos dados computados;

• MANUTENIBILIDADE : Traduzida por facilidade de correção ou ajuste do sistema, ou facilidade de manutenção; e

• PEQUENA DIMENSÃO : Traduzido por simplicidade e pequena dimensão ou baixa ocupação de memória.

1.2 - CLASSIFICAÇÃO DOS S.O.

1.2.1 - QUANTO AO TIPO DE SERVIÇOS OFERECIDOS AO USUÁRIO

• Sistema de Processamento de Lotes (BATCH)

Nesses sistemas, um lote de várias tarefas a serem executadas é organizado num dispositivo de entrada. Estas são lidas e processadas em ordem seqüencial de leitura. Ao finalizar a última tarefa o sistema esta novamente pronto para ler e processar mais tarefas.

Características: o Não há interação usuário X computador; o O tempo médio de resposta é alto; o Quando bem dimensionado, o número de tarefas processadas por unidade de tempo é alto; e o Impõe uma utilização maior do processador para as atividades de sistema.

• Sistema de Tempo Compartilhado (TIME_SHARING) Trabalha em multiprogramação, isto é, aceita vários jobs residentes na memória ao mesmo tempo, para serem processados concorrentemente, através de um mecanismo de divisão do tempo de CPU entre os processos.

Características: o O tempo é dividido entre os jobs ativos (time-slicing); o O usuário interage com o sistema via terminal interativo

(tipicamente composto de vídeo e teclado ou teleimpressora); o Cada comando é interpretado e executado em seguida; o Erros são enviados ao terminal interativo e o usuário pode determinar ações imediatas, via seu terminal (o usuário dirige a execução de seus programas); o O número de tarefas processadas por unidade de tempo é mais baixo; o São mais complexos; e o O tempo humano é otimizado (maior produtividade). Sistema de Tempo Real (Real-Time)

São, em geral, sistemas dedicados a um tipo determinado de aplicação (tipicamente em controle). Seus módulos são construídos de forma a atender requisitos de tempo (ex.: controle de uma caldeira, de um míssil, do metrô, bolsa de valores, etc.).

Características: o Tempo de resposta predeterminado e crítico; o Aplicação em controle de processos; o Uso dedicado e específico de uma certa aplicação.

1.2.2 - QUANTO AO NÚMERO DE USUÁRIOS o MONO USUÁRIO: Apenas um usuário utiliza todo o sistema de cada vez (o exemplo mais típico, atualmente, são os sistemas de microcomputadores). o MULTI-USUÁRIO: Vários usuários podem estar utilizando o sistema de modo compartilhado num dado instante.

1.2.3 - QUANTO AO TIPO DE INTERAÇÃO o BATCH: Por submissão de jobs em lotes, através de uma linguagem de controle de jobs (JCL), sem interação Usuário X Computador. o INTERATIVO: Pela interação direta do usuário com o sistema, via terminal de entrada e saída (do tipo teleimpressora ou teclado e display). o TRANSACIONAL: Pela chegada de uma transação (ou comando, ou mensagem) que "acorda" um módulo, de tratamento ou execução apropriado.

1.2.4 - QUANTO A APLICAÇÃO o DEDICADO: Tem uso restrito a determinada aplicação (ex.: controle de processos); o DE USO GERAL: Tem uso indeterminado para qualquer aplicação, isto é, executa todo tipo de programas; o HÍBRIDO: Combina os demais tipos.

Comentários