380 likes | 579 Views
Sistemas Operacionais I. Gerações dos computadores: Evolução e Eficiência. Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br. Tópicos. Histórico e Eficiência. Primeira Geração. Segunda Geração. Terceira Geração. Conceitos
E N D
Sistemas Operacionais I Gerações dos computadores: Evolução e Eficiência Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br
Tópicos • Histórico e Eficiência. • Primeira Geração. • Segunda Geração. • Terceira Geração. • Conceitos • Multiprogramação • Canais • Relocabilidade • Estados do Processador • Instruções Privilegiadas • Interrupção • Conceito • Tipos de Interrupção • Tendências do Sistema Operacional
Primeira geração Primeira geração de computadores (1940-1950) • A tecnologia empregada nos computadores de Primeira Geração era basicamente a válvula. • A velocidade podia ser medida em termos de milissegundo. • Somente pessoas especializadas utilizavam o computador, através da linguagem de máquina e em seguida o Assembler. • Os elementos de entrada e saída eram basicamente: leitora de cartões, perfuradora de cartões e impressora, todos com baixa velocidade de operação e transferência de dados. • Um dos aspectos principais nos computadores de Primeira Geração consistia em que a execução de um serviço era um processo demorado.
Primeira geração ENIAC • Considerado o primeiro computador eletrônico • 18.000 valvulas • Posições de memória = 4K = 4096 bytes • Pesava 30 toneladas • Ocupava perto de 120 metros quadrados • Construído para uso militar – Calculo de Balística
Primeira geração Características Programação • Inicialmente a programação era feita externamente, através de painéis com chaves (jumpers) • Posteriormente os programas passaram a ser carregados na memória. • O processo consistia em pesquisar um armário onde estava guardado o programa, retirá-lo e colocá-lo na leitora de cartões. • Da mesma forma que os dados, os programas eram codificados em cartões perfurados, e carregados na memória. • A programação passou a ser feita em linguagem de maquina
Primeira geração Características Operação • Equipamentos de entrada e saída eram a leitora de cartões (entrada), a perfuradora de cartões (saída) e impressora. • Grande quantidade de operações manuais nas tarefas: preparacão e carga dos programas, preparação e carga dos dados, intervenções manuais e de retomadas do processamento. • O programador normalmente era o operador do computador. • Todo o sistema ficava dedicado por um certo tempo para a execução do serviço. • Em caso de erro, o programador parava a máquina, fazia correções por meio de chaves no painel e continuava o processamento.
Primeira geração Características Eficiência A execução de um serviço era um processo demorado, não pela velocidade da máquina, mas sim pela quantidade de processos manuais envolvidos no processamento. t CPU Relação entre o tempo de processador e tempo total de processamento E = t Total Numero de serviços executados por unidade de tempo TS = S1+S2+...Sn
Primeira geração Eficiência do sistema t CPU Relação do tempo de processador e tempo total do processamento E = t Total CPU CPU CPU CPU CPU CPU E/S E/S E/S E/S E/S E/S Tempo de Execução do serviço E = 0,07 O processador permanecia ativo somente 7% do tempo
Eficiência do sistema Numero de serviços executados por unidade de tempo TS = S1+S2+...Sn A produtividade na primeira Geração era de 3 serviços / hora, ou seja, cada serviço demorava cerca de 20 minutos.
Primeira geração Eficiência da Primeira Geração - Resumo Como já observado, na primeira Geracão, a UCP do computador permanecia a maior parte do tempo inativa, em decorrência das várias intervenções manuais durante o processamento, bem como pela lentidão em que operavam os periféricos. Nestes sistemas a utilização de tempo de processador era em torno de 7% e a produtividade variava em torno de 3 serviços com tempo médio de execução de 2 minutos. t CPU • Baixa velocidade da E/S • Intervenções manuais E = 7% t Total Como melhorar a eficiencia? 3 serviços por hora TS = s1+s2+...sn
Segunda geração Segunda geração de computadores • Tecnologia : Transistores • Processamento em Lote • Periféricos: Fita Magnética, Disco Magnético • Velocidade poderia ser medida em termos de Micro Segundo
Segunda geração Programa Monitor • A Segunda Geração é caracterizada pelo aparecimento dos programas monitores que faziam a transição automática entre serviços. • Estes eram apresentados em forma de "lote" (batch) e executados sequencialmente sem interrupção. • Ao terminar um serviço o Monitor preparava o sistema automaticamente para o próximo. Monitor Programa
Primeira x Segunda geração de computadores • Processador mais veloz ( valvulados x transistorizados ) • Compare a eficiência “E” para uma carga de programas que utilize um computador de segunda geração, considerando: • A utilização dos periféricos da primeira geração ( mesmo E/S ) • Utilizando-se periféricos mais rápidos ( E/S bem mais rápida )
Primeira e Segunda gerações Eficiência do sistema Segunda Geração Primeira Geração t CPU E = 7% 45% t Total 3 serviços por hora 25 serviços por hora TS = s1+s2+...sn Como melhorar a eficiência? • Baixa produtividade • Desequilíbrio entre CPU e E/S
Terceira geração Terceira geração de computadores • Tecnologia : Circuitos integrados • Velocidade expressa e medida em nanossegundos ( ns ) • Evolução das linguagens • Multiprogramação • Surgimento dos Sistemas Operacionais
Terceira geração Multiprogramação • Vários processos em execução concorrem pelos recursos • Melhor aproveitamento dos recursos • A arquitetura funcional das maquinas de terceira geração passa por uma ruptura. Sistema Operacional B C D E A Memória
Terceira geração Multiprogramação • Vários programas na memória executando, e compartilhando os recursos • Enquanto um programa executa, um ou mais programas estarão realizando E/S, ou esperando pela CPU • O paralelismo de operações entre CPU e E/S proporcionam aumento da eficiência do sistema CPU Esperando pela CPU Sistema Operacional B C D E A Memória I/O I/O
Terceira geração Conceitos da Terceira Geração • Processadores de E/S (Canais) • Processamento em dois estados. • Instruções Privilegiadas • Relocabilidade • Interrupção
Terceira geração Canais - Processadores de E/S • São pequenos processadores que executam as operações de entrada e saída sem a intervenção do processador central. • Desta forma, durante uma entrada e saída, o processador central fica livre para executar outro processo. • Como os sistemas podem ter vários canais, poderá ocorrer várias operações de entrada e saída simultaneamente. • A operação no canal é iniciada pelo processador central no momento em que uma instrução de solicitação de operação de e/s é feita por um processo. • Ao final da operação o periférico/canal informarão a CPU o término da operação. tempo
Terceira geração Canais - Processadores de E/S • O processador central e o processador de e/s podem operar de forma independente. • Havendo independência entre as operações existirá um ganho significativo de eficiência tempo
Terceira geração Processamento em dois estados PSW XX • Mascara do sistema: • Supervisor – É possivel a execução de instruções privilegiadas • Programa – Não é permitido a execução de instruções privilegiadas
Terceira geração Instruções Privilegiadas • São instruções especiais as quais só poderão ser executadas quando o processador estiver em estado de Supervisor. • Normalmente somente o sistema operacional deve executar instruções privilegiadas, não colocando em risco a integridade do sistema. • Como exemplo de instruções privilegiadas temos: • Iniciar E/S (SIO) • Alterar a PSW (LPSW) • Iniciar a abertura de arquivo (OPEN) • O programa quando necessita funções especiais solicita ao sistema operacional através de pedidos.
Terceira geração Processamento em dois estados Instruções Privilegiadas Quando o controle é passado para um programa o estado da maquina é alterado.
Terceira geração Relocabilidade A A B C Move A to B 400 100 0 200 C B A Relocáveis 400 0 200 300
Terceira geração Interrupção • Conceito • É um sinal assíncrono enviado a UCP • Interrompe o fluxo de execução de instruções • Faz com que o estado de máquina seja salvo • O controle do sistema seja passado para o sistema operacional • Cada interrupção exigi uma atividade específica do sistema operacional que consiste em tratar o evento, identificar e alterar estados dos processos em execução, de recursos, ou ainda, acionando rotinas de recuperação de erros. • Após tratar a interrupção e atender ao serviço para qual foi solicitado, o sistema operacional deverá passar o controle para o processo que estiver pronto para executar
Terceira geração Interrupção Faz o tratamento da Interrupção Atende o serviço solicitado Passa o controle para o processo pronto e de maior prioridade Sistema Operacional A Interrupção Ler B A execução de instruções na CPU é interrompida O estado da CPU é salvo O controle da CPU vai para o SO
Terceira geração Tipos de interrupção Chamada do supervisor: Quando o programa através de uma instrução solicita um serviço especial do sistema operacional. Fim I/O Quando termina uma operação de I/O e o canal avisa o sistema operacional, ou um comando inválido de E/S. Relógio Quando um intervalo de tempo regular expirado. Erro de Software Um erro de programa. Exemplo: divisão por zero, instrução inválida, violação de proteção de memória. Erro de Hardware Um erro em componentes do hardware. Exemplo: erro de memória.
Tendências e perspectivas dos Sistemas Operacionais
Tendências e perspectivas do Sistema operacional • Eficiência • O sistema operacional é sobretudo um prestador de serviços, e deve minimizar o tempo gasto na execução dos serviços a ele solicitados (overhead). • Deve buscar a máxima eficiência no gerenciamento dos recursos • No uso dos recursos, deverá resolver eventuais conflitos existentes entre as aplicações. • Deve balancear o uso dos recursos entre aplicações em execução.
Tendências e perspectivas do Sistema operacional • 2) Robustez • Deve ser confiável e previsível em suas operações • Tolerante à falhas do hardware, das aplicações e as suas próprias falhas. • Em caso de falha, qualquer que seja a natureza desta falha, deverá isolá-la, registrá-la, e propiciar o menor impacto possível no sistema.
Tendências e perspectivas do Sistema operacional • 3) Escalabilidade • Deverá ser capaz de utilizar recursos de acordo com a demanda. • Quando a demanda por recursos aumentar, deverá tomar as providências necessárias para o pronto atendimento, e caso haja redução da demanda, deverá liberar os recursos não mais necessários. • Deverá ter a capacidade de se adaptar aos incrementos de tamanho dos dispositivos de hardware, incluindo processadores, memória, dispositivos de e/s, dispositivos de comunicação, garantindo desta forma a escalabilidade.
Tendências e perspectivas do Sistema operacional • 4) Extensibilidade • Deve adaptar-se as novas tecnologias emergentes, fornecendo as capacidades necessárias que forem surgindo e que não foram projetadas originalmente. • Deve permitir a execução sem impacto das aplicações existentes, protegendo os investimentos e esforços anteriormente realizados.
Tendências e perspectivas do Sistema operacional • 5) Portabilidade • Deve ser projetado para funcionar nas diversas configurações de hardware utilizada no mercado. • Deve permitir portabilidade das aplicações entre as configurações existentes. • Isto permitirá adequar os custos de projeto e de manutenção às diversas aplicações existentes. • Esta premissa aplica-se aos ambientes de desenvolvimento normalmente feito em configurações menores é de baixo custo. • .
Tendências e perspectivas do Sistema operacional • 6) Segurança • Deve conter os mecanismos de proteção e segurança de acesso as informações, aos serviços ou aos dispositivos do hardware, • Deve disponibilizar recursos para implementação das políticas de segurança das organizações.
Tendências e perspectivas do Sistema operacional • 7) Usabilidade • Deve permitir usabilidade aos usuários na execução de suas tarefas. • Deve prover simplicidade nas interfaces, facilitando a sua utilização.
Terceira geração Exercícios de Multiprogramação SO SO SO CPU A A Tempo e/s de A e/s de A PES