Title: Sistemas Operacionais I
1Sistemas Operacionais I
Gerações dos computadores Evolução e Eficiência
Sistemas Operacionais I Dionisio Gava
Junior Reynaldo G. de Oliveira
Reynaldg_at_brfree.com.br
2Tó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
3Primeira 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.
4Primeira geração
5Primeira 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
6Primeira 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
7Primeira 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.
8Primeira 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 S1S2...Sn
9Primeira 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
10Eficiência do sistema
Numero de serviços executados por unidade de tempo
TS S1S2...Sn
A produtividade na primeira Geração era de 3
serviços / hora, ou seja, cada serviço demorava
cerca de 20 minutos.
11Primeira 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 s1s2...sn
12Segunda geração
13Segunda 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
14Segunda 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
15Primeira 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 )
16Primeira 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 s1s2...sn
Como melhorar a eficiência?
- Baixa produtividade
- Desequilíbrio entre CPU e E/S
17Terceira 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
18Terceira 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.
A
B
C
D
E
Sistema Operacional
Memória
19Terceira 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
B
C
D
E
Sistema Operacional
A
Memória
I/O
I/O
20Terceira geração
Conceitos da Terceira Geração
- Processadores de E/S (Canais)
- Processamento em dois estados.
- Instruções Privilegiadas
- Relocabilidade
- Interrupção
21Terceira 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
22Terceira 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
23Terceira 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
24Terceira 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.
25Terceira geração
Processamento em dois estados Instruções
Privilegiadas
Quando o controle é passado para um programa o
estado da maquina é alterado.
26Terceira geração
Relocabilidade
A
B
A
C
Move A to B
400
0
100
200
A
B
C
Relocáveis
400
0
200
300
27Terceira 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
28Terceira 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
29Terceira 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.
30Tendências e perspectivas dos Sistemas
Operacionais
31- 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.
32- 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.
33- 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.
34- 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.
35- 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. - .
36- 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.
37- 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.
38Terceira geração
Exercícios de Multiprogramação
SO
SO
SO
CPU
A
A
Tempo
e/s de A
e/s de A
PES