FATEC - Sistemas Operacionais I Sistemas Operacionais I Gerações dos computadores: Evolução e Eficiência Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – [email protected] FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I Primeira geração FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I 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. FATEC - Sistemas Operacionais I 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 E = t Total TS = S1+S2+...Sn Relação entre o tempo de processador e tempo total de processamento Numero de serviços executados por unidade de tempo FATEC - Sistemas Operacionais I 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 E/S CPU E/S CPU E/S CPU CPU E/S E/S E/S Tempo de Execução do serviço E = 0,07 O processador permanecia ativo somente 7% do tempo FATEC - Sistemas Operacionais I Eficiência do sistema TS = S1+S2+...Sn Numero de serviços executados por unidade de tempo A produtividade na primeira Geração era de 3 serviços / hora, ou seja, cada serviço demorava cerca de 20 minutos. FATEC - Sistemas Operacionais I 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. E = t CPU t Total 7% • Baixa velocidade da E/S • Intervenções manuais Como melhorar a eficiencia? TS = s1+s2+...sn 3 serviços por hora Segunda geração FATEC - Sistemas Operacionais I FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I 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: 1. A utilização dos periféricos da primeira geração ( mesmo E/S ) 2. Utilizando-se periféricos mais rápidos ( E/S bem mais rápida ) FATEC - Sistemas Operacionais I Primeira e Segunda gerações Eficiência do sistema E = Primeira Geração Segunda Geração 7% 45% 3 serviços por hora 25 serviços por hora t CPU t Total TS = s1+s2+...sn • Baixa produtividade • Desequilíbrio entre CPU e E/S Como melhorar a eficiência? Terceira geração FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I 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 A B C D E Memória FATEC - Sistemas Operacionais I 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 Sistema Operacional A Esperando pela CPU B C I/O I/O D E Memória Terceira geração Conceitos da Terceira Geração • Processadores de E/S (Canais) • Processamento em dois estados. • Instruções Privilegiadas • Relocabilidade • Interrupção FATEC - Sistemas Operacionais I Terceira geração FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I 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 cpu A Paralelismo de operações cpu B cpu C cpu D e/s de A e/s de B e/s de C tempo Terceira geração FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I 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. FATEC - Sistemas Operacionais I Terceira geração Processamento em dois estados Instruções Privilegiadas SO SO SO ...... A CPU B PSW Sup PSW P PSW Sup PSW P PSW Sup tempo Quando o controle é passado para um programa o estado da maquina é alterado. FATEC - Sistemas Operacionais I Terceira geração Relocabilidade A A 0 B 100 C 400 200 Move A to B Relocáveis C 0 B 200 A 300 400 Terceira geração FATEC - Sistemas Operacionais I 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 FATEC - Sistemas Operacionais I Terceira geração Interrupção Sistema Operacional A Interrupção Ler 4. 5. 6. Faz o tratamento da Interrupção Atende o serviço solicitado Passa o controle para o processo pronto e de maior prioridade B 1. 2. 3. 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 FATEC - Sistemas Operacionais I 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. FATEC - Sistemas Operacionais I Tendências e perspectivas dos Sistemas Operacionais FATEC - Sistemas Operacionais I Tendências e perspectivas do Sistema operacional 1) 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. FATEC - Sistemas Operacionais I 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. FATEC - Sistemas Operacionais I 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. FATEC - Sistemas Operacionais I 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. FATEC - Sistemas Operacionais I 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. . FATEC - Sistemas Operacionais I 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. FATEC - Sistemas Operacionais I 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. FATEC - Sistemas Operacionais I Terceira geração Exercícios de Multiprogramação SO CPU SO A SO A Tempo PES e/s de A e/s de A