Sistemas Operacionais Introdução Professora: Michelle Nery
Área de Atuação do Sistema Operacional Composto de dois ou mais níveis:
Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas Operacionais Multitarefas Sistemas Operacionais Batch Sistemas Operacionais de Tempo Compartilhado Sistemas de Tempo Real Sistemas de Multiprocessadores
Primeira Geração (1945 1955): Programação Válvulas e Painéis de Único grupo de pessoas era responsável pelo projeto, construção, programação, operação e manutenção de cada máquina. Toda a programação era feita através da fiação. O conceito de linguagem de programação ainda não existia. Os sistemas operacionais também não.
Segunda Geração (1955 1965). Transistores e Sistemas em Lote (Batch) Os sistemas batch foram os primeiros tipos de sistemas operacionais multiprogramáveis a serem implementados na década de 60. Os programas, também chamados jobs, eram submetidos para execução através de cartões perfurados e armazenados em disco ou fita, onde aguardavam para ser processados. Posteriormente, em função da disponibilidade de espaço na memória, os jobs eram executados.
Segunda Geração (1955 1965). Transistores e Sistemas em Lote (Batch) O processamento batch tem a característica de não exigir a interação do usuário com a aplicação. Todas as entradas e saídas de dados da aplicação são implementadas por algum tipo de memória secundária.
Segunda Geração (1955 1965). Transistores e Sistemas Monotarefas Os sistemas operacionais eram tipicamente voltados para a execução de um único programa. Qualquer outra aplicação para ser executada deverá aguardar o término do programa corrente. Nesses sistemas, o processador, a memória e os periféricos permanecem exclusivamente dedicados à execução de um único programa.
Segunda Geração (1955 1965). Transistores e Sistemas Monotarefas Neste tipo de sistema, enquanto um programa aguarda por um evento, como a digitação de um dado, o processador permanece ocioso, sem realizar qualquer tipo de processamento. A memória é subutilizada caso o programa não a preencha totalmente, e os periféricos, como discos e impressoras, estão dedicados a um único usuário, mesmo sem utilização.
Segunda Geração (1955 1965). Transistores e Sistemas Monotarefas
Terceira Geração (1965 1980). Sistemas Multitarefas Os sistemas multitarefas são uma evolução dos sistemas monotarefas. Neste tipo de sistema, os recursos são compartilhados entre os diversos usuários e aplicações. Vários programas compartilham os recursos. Neste tipo de sistema, enquanto um programa espera por uma operação de leitura/gravação no disco, outros programas podem estar sendo processados.
Terceira Geração (1965 1980). Sistemas Multitarefas Nesse caso, podemos observar o compartilhamento da memória e do processador. O sistema operacional preocupa-se em gerenciar o acesso concorrente aos seus diversos recursos, como memória, processador e periféricos, de forma ordenada e protegida.
Terceira Geração (1965 1980). Sistemas Multitarefas A partir do número de usuários que interagem com o sistema operacional, podemos classificar os sistemas multitarefas como: monousuário ou multiusuário.
Terceira Geração (1965 1980). Sistemas Multitarefas
Terceira Geração (1965 1980). Sistemas de Tempo Compartilhado Conhecidos como time sharing, os sistemas permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice). Caso a fatia de tempo não seja suficiente para a execução do programa, ele é interrompido, substituído por outro e fica aguardando uma nova fatia de tempo para continuar sua execução.
Terceira Geração (1965 1980). Sistemas de Tempo Compartilhado
Quarta Geração (1980 presente). Sistemas de Tempo Real Os sistemas de tempo real (real time) são implementados de forma semelhante aos sistemas de tempo compartilhado. O que caracteriza a diferença entre os dois tipos de sistema é o tempo exigido no processamento das aplicações. Enquanto em sistemas de tempo compartilhado o tempo do processamento pode variar sem comprometer as aplicações em execução, nos sistemas de tempo real os tempos de processamento devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário poderão ocorrer problemas irreparáveis.
Quarta Geração (1980 presente). Sistemas de Tempo Real Nos sistemas de tempo real, um processo utiliza o processador pelo tempo que for necessário ou até que outro processo mais prioritário apareça. A prioridade de execução de um processo é definida no momento de sua criação. Exemplos: Controle de tráfego aéreo Refinarias de petróleo Usinas nucleares Carros
Quarta Geração (1980 presente). Sistemas com Múltiplos Processadores Os sistemas com múltiplos processadores caracterizam-se por possuir duas ou mais UCPs interligadas e trabalhando em conjunto. A vantagem deste tipo de sistema é permitir que vários programas sejam executados ao mesmo tempo ou que um mesmo programa seja subdividido em partes para serem executados simultaneamente. Exemplos: Processamento científico Prospecção de petróleo CAD
Quarta Geração (1980 presente). Sistemas com Múltiplos Processadores Os conceitos aplicados ao projeto de sistemas com múltiplos processadores incorporam os mesmos princípios básicos e benefícios apresentados na multiprogramação, além de outras características, como: Escalabilidade Disponibilidade Balanceamento de carga
Quarta Geração (1980 presente). Sistemas com Múltiplos Processadores Escalabilidade: capacidade de ampliar o poder computacional do sistema apenas adicionando novos processadores. Disponibilidade: capacidade de manter o sistema em operação mesmo em casos de falhas. Balanceamento de carga: é a possibilidade de distribuir o processamento entre os diversos processadores da configuração a partir da carga de trabalho de cada processador.
Quarta Geração (1980 presente). Sistemas com Múltiplos Processadores Um fator-chave no desenvolvimento de sistemas operacionais com múltiplos processadores é a forma de comunicação entre as UCPs e o grau de compartilhamento da memória e dos dispositivos de E/S. Eles podem ser classificados em: Fortemente acoplados Fracamente acoplados
Quarta Geração (1980 presente). Sistemas com Múltiplos Processadores Fortemente acoplados: vários processadores compartilhando uma única memória física e dispositivos de E/S.
Quarta Geração (1980 presente). Sistemas com Múltiplos Processadores Fracamente acoplados: caracterizam-se por possuir dois ou mais sistemas computacionais conectados através de linhas de comunicação. Cada sistema funciona de forma independente, possuindo seu próprio sistema operacional e gerenciando seus próprios recursos, como UCP, memória e dispositivos de E/S.
Quarta Geração (1980 presente). Sistemas com Múltiplos Processadores Fracamente acoplados:
Quarta Geração (1980 presente). Máquina Virtual Cada máquina virtual trabalha como um PC completo, com direito até a BIOS e configuração do Setup. Dispositivos como o CD-ROM e drive de disquetes podem ser compartilhados entre as máquinas virtuais e o sistema host, em alguns casos até mesmo simultâneamente (um CD no drive pode ser acessado em todos os sistemas). Os arquivos são armazenados em "discos virtuais" que aparecem como arquivos dentro do disco da máquina real e cada sistema operacional pode ter uma configuração de rede distinta, com seu próprio endereço IP e tudo mais. As máquinas virtuais ficam acessíveis na rede, como se fossem realmente PCs completos, permitindo que você rode um servidor Web ou um programa P2P dentro de uma máquina virtual, sem comprometer a segurança do seu sistema principal.
Quarta Geração (1980 presente). Máquina Virtual Cada máquina virtual possui uma área reservada de memória. Se você tiver 1 GB por exemplo, você terá que dividir para instalar as máquinas virtuais. Vantagens Otimização de recursos Diminuição de gastos Simulação de ambientes reais Exemplos VMWare Virtual Box
Quarta Geração (1980 presente). Máquina Virtual
Quarta Geração (1980 presente). Outros Para computadores pessoais: Oferece boa interface com o usuário. Sistemas Operacionais de Servidores Servem a múltiplos usuários de uma vez em uma rede. Permitem compartilhar recursos de hardware (impressora) e software (página Web). Sistemas Operacionais Embarcados São para dispositivos que geralmente não são consideradores computadores completos, como TV, microondas, celulares, etc. Possuem restrições como de tamanho, memória, processamento, disco, consumo de energia. Sistemas Operacionais de Cartões Inteligentes Tipo cartão de crédito que contêm chip. Restrições extremas de consumo de energia e memória.
Lista de Exercícios 1. Explique e exemplifique o que é um sistema operacional? 2. Explique o conceito de máquina virtual. Qual a grande vantagem em utilizar este recurso? 3. Quais os tipos de sistemas operacionais que existem? 4. Porque dizemos que existe uma subutilização de recursos em sistemas monoprogramáveis? 5. Qual a diferença entre sistemas monoprogramáveis e multiprogramáveis? 6. Quais as vantagens dos sistemas multiprogramáveis? 7. Qual a diferença entre sistemas monousuário e multiusuário? 8. Um sistema monousuário pode ser um sistema multiprogramável? 9. O que caracteriza um sistema batch? 10. Como funcionam os sistemas de tempo compartilhado? Quais vantagens em utilizá-los? 11. Qual a diferença entre sistema de tempo compartilhado e tempo real? Quais aplicações são indicadas em cada tipo de sistema? 12. O que são sistemas com múltiplos processadores e quais as vantagens em utilizá-los? 13. O que é um sistema fortemente acoplado e um fracamente acoplado? 14. Como funciona a máquina virtual?