terça-feira, 27 de janeiro de 2015

Aula 2 - Visão Geral


Visão Geral

Histórico

Década de 1940

·       Surgimento dos primeiros computadores movidos a válvulas.
·       Computadores gigantes, de baixo processamento.
·       Não havia Sistema Operacional
·       Operados manualmente.

Década de 1950

·       Substituição de válvulas por transistores;
·       Criação das memórias magnéticas (fitas);
·       Surgimento das primeiras linguagens de programação: Fortran e Assembly;
·       Programas deixaram de serem feitos no hardware, facilitando o desenvolvimento de programas;
·       Execução de Jobs (tarefas) em cartões perfurados;
·       Posteriormente iniciou-se o sistema em lote para executar vários Jobs (Sistema Batch).

Figura 1 -  Sistema Btach



Estrutura de um Job


Figura 2 - Estrutura de um job.

Década de 1960

·       Surgem os microprocessadores, minicomputadores;
·       O circuito integrado substitui o transistor;
·       Criação dos discos magnéticos para gravação de dados, substituindo as fitas magnéticas;
·       Criação do Sistema Operacional OS/360, da IBM;
·       Surgimento do Sistema Operacional UNIX.
·       Surgimento das técnicas utilizadas até hoje nos SOs tais como:
o   Multiprogramação: Execução de vários programas.
o   Spooling: Alteração na ordem de execução das tarefas;
o   Time-Sharing: (Tempo Compartilhado) utilização de cada programa em pequenos intervalos de tempo.


Figura 3 - Multiprogramação

Década de 1970

·       Componentes LSI e VLSI barateiam o custo dos equipamentos.
·       Em 1971 a INTEL produz o primeiro microprocessador, o Intel 4004. Três anos depois, fabrica o Intel 8080 utilizado no Altair.
·       Em 1976 são fundadas as empresas Apple e Microsoft.
·       O Multiprocessamento possibilitou a execução de mais de um programa simultaneamente.
·       Difusão das redes WANs.

Década de 1980

·       Microcomputadores e minicomputadores se firmam no mercado.
·       Criação do PC e do SO MS-DOS. O primeiro PC utilizava o processador Intel 8088 de 16 bits e o sistema operacional DOS.
·       No final da década de 80, surgem os protocolos de rede e as primeiras redes locais (LAN).
·       Em virtude do surgimento das LANs, são criados os primeiros SOs de rede.

Década de 1990

·       Evolução dos componentes VLSI para tecnologia ULSI. Com isso os processadores e memórias ficam cada vez mais velozes e baratos, além de serem memores;
·       Sistemas multimídia, sistemas especialistas, inteligência artificial e redes neurais fazem com que aumente cada vez mais o processamento e armazenamento de dados;
·       Consolidação dos SOs baseados em interfaces gráficas.

Década de 2000

·       Arquiteturas paralelas.
·       Sistemas Operacionais mais intuitivos e com novas interfaces.
·       Linguagens naturais com sons e imagens;
·       Sistemas Operacionais proativos.
·       Processamento distribuído.
·       Evolução e consolidação das redes sem fio – wireless.
·       Novas arquiteturas de processadores de 64 bits.

Tipos de Sistemas Operacionais

Os tipos de sistemas operacionais, de maneira geral são definidos como monoprogramáveis ou monotarefa, multiprogramáveis ou multitarefa e sistemas com múltiplos processadores.
Classificação
·       Aplicativos
o   Monotarefa
o   Multitarefa
·       Usuários
o   Monousuário
o   Multiusuário
·       Processadores
o   Monoprocessador
o   Multiprocessadores
·       Política de Escalonamento
o   Lote
o   Tempo Compartilhado
o   Tempo Real
·       Rede
o   Gerencia o compartilhamento dos recursos na rede.
o   Usuário deve saber a localização da rede.
·       Distribuído
o   Ambiente computacional virtual
o   Usuário não precisa saber da localização do recurso na rede.
·       Embarcados
o   Inseridos em hardware com recursos limitados.
·       PC
o   Uso doméstico.
·       Servidor
o   Maior robustez
Sistemas Operacionais de Grande Porte
Estão ressurgindo como sofisticados servidores WEB, como servidores para sites de comércio eletrônico e, ainda, como servidores para transações entre empresas.
São orientados para o processamento simultâneo de muitos Jobs que precisam de grandes quantidades de E/S.
Oferecem três tipos de serviços:
·       Em lote (batch).
·       Processamento de transações
·       Tempo compartilhado.
Sistemas Operacionais de Rede
Permitem que um host compartilhe seus recursos, como uma impressora ou diretório, com os demais hosts da rede. Um exemplo deste sistema são as redes locais, onde uma estação pode oferecer serviços de arquivos e impressão para as demais estações da rede, dentre outros serviços.
Sistemas Operacionais de Servidores
        Servem a múltiplos usuários de uma vez em uma rede e permitem-lhes compartilhar recursos de hardware e de software.
        Podem fornecer serviços de impressão, serviços de arquivo ou serviços de Web.
        Provedores de acesso à Internet utilizam várias máquinas servidoras para dar suporte a seus clientes.
        Sites Web usam servidores para armazenar páginas Web e tratar requisições que chegam.
Sistemas Operacionais de Multiprocessadores
        É a conexão de múltiplas CPUs em um único sistema.
        Podem ser:
       computadores paralelos,
       multicomputadores
       multiprocessadores.
        Possuem aspectos especiais de comunicação e conectividade.
Sistemas Operacionais de PC
        Seu trabalho é oferecer uma boa interface para um único usuário.
        São amplamente usados para processadores de texto, planilhas e acesso à Internet.
        Exemplos: Windows,  Mac e Linux.
Sistemas Operacionais de Tempo Real
        Esses sistemas são caracterizados por terem o tempo como um parâmetro fundamental.
        Robôs em uma linha de produção.
        Foguetes ou usinas nucleares
Sistemas Operacionais Embarcados
        São os sistemas para os aparelhos de mão.
        Possuem restrições de tamanho, memória e consumo de energia.
Sistemas Operacionais de Cartões Inteligentes
        Dispositivos do tamanho de cartões de crédito que contêm um chip de CPU.
        Possuem restrições severas de consumo de energia e de memória.
        A ROM do cartão inteligente contém um interpretador para a máquina virtual Java (Java Virtual Machine - JVM).
        Algumas aplicações java são carregadas no cartão e interpretadas pelo JVM.

Sistemas Monoprogramáveis / Monotarefa

·       Voltados para execução de um único programa por vez..
·       Permitem que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa.
·       O sistema monotarefa permite que todos os recursos do sistema fiquem exclusivamente dedicados a uma única tarefa.
Pontos negativos
·       Ociosidade da CPU
·       Subutilização da memória
·       Periféricos dedicados.

Sistemas Multiprogramáveis / Multitarefa

·       Recursos computacionais são compartilhados entre diversos usuários e aplicações.
·       O Sistema Operacional precisa gerenciar o acesso concorrente aos recursos.
·       Redução de custos proporcionada pelo compartilhamento de recursos.

Sistemas Batch

·       Não exige a interação do usuário.
·       Todas as entradas e saídas da aplicação são implementadas por algum tipo de memória secundária, geralmente arquivos em disco.

Sistemas de tempo Compartilhado

·       Diversos programas são executados a partir da divisão do tempo do processador em pequenos intervalos, denominados, fatia de tempo (time-slice).
·       O sistema cria para cada usuário um ambiente de trabalho próprio, dando a impressão de que todo o sistema está dedicado exclusivamente a ele.
·       Permitem a interação dos usuários com o sistema através de terminais que incluem vídeo, teclado e mouse.

Sistemas de Tempo Real

·       O tempo de processamento deve estar dentro de limites rígidos, que devem ser obedecidos, caso contrário poderão ocorrer problemas irreparáveis.
·       Não existe a ideia de fatia de tempo. Um programa utiliza o processador o tempo que for necessário ou até que apareça outro mais prioritário.
·       Estes sistemas são aplicados em aplicações de controle de processos, como no monitoramento de refinarias de petróleo, controle de tráfego aéreo, de usinas termoelétricas e nucleares ou em qualquer aplicação onde o tempo de processamento é fator fundamental.

Sistemas com Múltiplos Processadores

·       Possuem dois ou mais processadores interligados e trabalhando em conjunto.
·       Permite que vários programas sejam executados ao mesmo tempo ou que um mesmo programa seja subdividido em partes para serem executadas simultaneamente em mais de processador.
·       Benefícios são a Escalabilidade, Disponibilidade e balanceamento de carga.
Escalabilidade: é a capacidade de ampliar o poder computacional do sistema apenas adicionando novos processadores.
Disponibilidade: É a 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, melhorando assim, o desempenho do sistema como um todo.

Sistemas fortemente acoplados

Existe apenas uma memória principal sendo compartilhada por todos os processadores e dispositivos de entrada/saída.

Sistemas 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 CPU, memória e dispositivos de entrada/saída.



ATIVIDADES

1.     Quais os tipos de sistemas operacionais existentes?
2.     Por que dizemos que existe uma subutilização de recursos em sistemas monoprogramaveis?
3.     Qual a grande diferença entre sistemas monoprogramáveis e sistemas multiprogramáveis?
4.     Quais as vantagens dos sistemas multiprogramáveis?
5.     Um sistema monousuário pode ser um sistema multiprogramável? Dê um exemplo.
6.     Quais são os tipos de sistemas multiprogramáveis?
7.     O que caracteriza o processamento batch? Quais aplicações podem ser processadas neste tipo de ambiente?
8.     Como funcionam os sistemas de tempo compartilhado? Quais as vantagens em utilizá-los?
9.     Qual a grande diferença entre sistemas de tempo compartilhado e tempo real? Quais aplicações são indicadas para sistemas de tempo real?
10. O que são sistemas com múltiplos processadores e quais as vantagens em utilizá-los?
11. Qual a grande diferença entre sistemas fortemente acoplados e fracamente acoplados?
12. O que é um sistema fracamente acoplado? Qual a diferença entre sistemas operacionais de rede e sistemas operacionais distribuídos?
13. Quais os benefícios de um sistema com múltiplos processadores em um computador pessoal?
14. Qual seria o tipo de sistema operacional recomendável para uso como servidor de aplicações em um ambiente corporativo?

15. Qual seria o tipo de sistema operacional recomendável para executar uma aplicação que manipula grande volume de dados e necessita de um baixo tempo de processamento?

Nenhum comentário:

Postar um comentário