Introdução aos Sistemas Operacionais/Estruturas dos Sistemas Operacionais

De Wikiversidade

Um sistema operacional fornece o ambiente no qual os programas (softwares) são executados. Os SOs variam internamente entre si devido às diversas necessidades e restrições de softwares e hardwares.

Índice

[editar] Estruturas de Sistemas Operacionais

[editar] Sistemas monolíticos

Um micro-computador PC XT rodando o MS DOS 5.0.

O SO é escrito na forma de um conjunto de procedimentos que podem fazer chamadas entre si e pelos programas usuários. A estrutura monolítica neste caso é comparada a uma aplicação formada por diversos procedimentos que são compilados de forma separada e depois linkados, formando assim um único e grande programa executável.

Exemplo:MS-DOS

[editar] Sistemas em camadas

Um sistema em camadas divide o SO em camadas sobrepostas, onde cada módulo oferece um conjunto de funções que podem ser utilizadas por outros módulos. Módulos de uma camada podem fazer referências apenas a módulos das camadas inferiores. A vantagem neste tipo de estruturação é isolar as funções do SO, facilitando sua alteração e depuração, além de criar uma hierarquia de níveis de acesso que permite proteger as camadas mais internas.


Exemplo:THE,MULTICS

[editar] Máquina Virtual

Uma máquina virtual é uma cópia via software que busca simular uma máquina real. Uma máquina virtual (Virtual Machine – VM) pode ser definida como “uma duplicata eficiente e isolada de uma máquina real”. A IBM define uma máquina virtual como uma cópia isolada de um sistema físico, e esta cópia está totalmente protegida.

Ao invés de ser uma máquina real, isto é, um computador real, feito de hardware e executando um sistema operacional específico, uma máquina virtual é um computador fictício criado por um programa de simulação. Sua memória, processador e outros recursos são virtualizados. A virtualização é a interposição do software (máquina virtual) em várias camadas do sistema. É uma forma de dividir os recursos de um computador em múltiplos ambientes de execução.

Os emuladores são máquinas virtuais que simulam computadores reais. São bastante conhecidos os emuladores de vídeogames antigos e os emuladores de microcomputadores, como o VMware, o Bochs e o VirtualBox, software livre da Sun Microsystems.

[editar] Sistemas Cliente-Servidor

Sistemas Cliente-Servidor são modelos de computação que disntiguem dois tipos básicos de equipamentos computacionais: servidores e clientes, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Neste modelo, geralmente os servidores agregam as funções mais importantes do sistema, deixando aos clientes apenas o processamento de aplicações mais básicas.

As principais características deste tipo de sistema são:

  • Elevar a camada onde são implementadas as funções normalmente efetuadas pelo sistema operacional
  • Reduzir as funções do sistema operacional
  • Tornar menor e de mais fácil a manutenção cada parte do sistema operacional

[editar] Utilização dos recursos do sistema

[editar] Monoprogramação ou monotarefa

Em computação, chama-se monotarefa um sistema operacional que permite a realização de apenas uma tarefa (job) de cada vez. O processador, memória e periféricos ficam dedicados a um único usuário, e cada tarefa para ser executada, deve aguardar o encerramento da tarefa atual. Nos sistemas monoprogramados, enquanto uma aplicação aguarda um evento, o processador pode permanecer ocioso, sem realizar qualquer tipo de processamento, a memória pode acabar sendo sub-utilizada quando o programa não a utiliza totalmente e os periféricos são dedicados a um único usuário. Desta forma, os sistemas monoprogramáveis acabam sendo por sua natureza de fácil implementação e com pouca preocupação com proteção.

[editar] Multiprogramação ou multitarefa

Multiprogramação ou Multitarefa é o nome dado à característica de alguns sistemas operacionais de rodar diversas aplicações simultâneas. Na realidade, na execução multitarefa, o tempo do processador é dividido entre as aplicações em execução, e a execução das tarefas passa rapidamente de uma para a outra, criando a ilusão de que as aplicações ocorrem de forma conjunta.

[editar] Tipos de Sistemas Operacionais

[editar] Sistemas Batch

Os sistemas batch ou sistemas em lote foram os primeiros sistemas multiprogramáveis a serem implementados (primeira fase da computação), caracterizando-se por programas armazenados em disco ou fita, que uma vez iniciados, exigem pouca ou nenhuma interação do usuário, processando de forma sequencial e contínua até o fim do serviço (job), quando então é devolvido o resultado final do processamento . O tempo de execução da tarefa é conhecido como turnaround.

[editar] Sistemas multiprogramados

Nos sistemas monoprogramados o que temos é a existência de um único processo sendo executado de cada vez na memória. Com a multiprogramação existem vários processos na memória aptos à executar e um em execução.Sem dúvida, o conceito de multiprogramação é um dos mais importantes nos sistemas operacionais modernos. Se existirem vários programas carregados na memória ao mesmo tempo, a CPU pode ser compartilhada entre eles, aumentando a eficiência da máquina e produzindo mais resultados em menos tempo. A idéia por detrás da multiprogramação é bastante simples. Quando um programa libera a CPU, seja para realizar alguma operação de E/S ou por outro motivo, ela fica parada. Enquanto espera que o programa volte para executar, a CPU não realiza nenhum trabalho útil. Para acabar com a ociosidade deste tempo vários programas são mantidos ao mesmo tempo na memória e o sistema operacional se encarrega de escolher um deles para executar. Assim, sempre que um programa é interrompido, um outro é escolhido para ser executado em seu lugar. Com isso, a CPU estará durante grande parte do tempo ocupada processando instruções de programas. Os benefícios da multiprogramação são vários: aumento da utilização da CPU e da taxa de saída do sistema computacional, isto é , da quantidade de trabalho realizada dentro de um intervalo de tempo (throughput).

[editar] Sistemas de Tempo Compartilhado

[editar] Sistemas de Tempo Real

[editar] Sistemas multiprocessados

Sistemas multiprocessados são sistemas construídos sobre máquinas computacionais que possuem mais de um processador para propósitos gerais. Entre suas vantagens estão:

  • Maior produção (throughput)
  • Reconfiguração
  • Balanceamento
  • Simetria

[editar] Acoplamento-Sistemas multiprocessáveis

Modo de comunicação entre os processadores e o grau de compartilhamento de memória e dos dispositivos de entrada/saída.

[editar] Componentes do Sistema

[editar] Serviços de Sistemas Operacionais

[editar] Chamadas ao Sistema

Writing.png Esta página é somente um esboço.
Ampliando-a você ajudará a melhorar a Wikiversidade.