sistemas operacionais - ime-uspadao/1b2016.pdf · sistemas operacionais distribuídos o sistema...
TRANSCRIPT
3
Computador Digital
Constituído por um conjunto
de componentes interligados
(hardware): processadores, memórias,
registradores, barramentos, monitores
impressoras, mouse, etc
Computador Manipulam dados na forma de bits
(bits 0 e 1) => uma maneira confiável
de representação
6
Processador
3 subsistemas básicos:
- FUNÇÃO
- Controlar as funções realizadas por cada subsistema
-Executar programas em linguagem de máquina
armazenados e na memória principal
Programa (em linguagem de máquina): é uma série de instruções, armazenadas na
memória principal (na forma de 0’s e 1’s), executadas sequencialmente pela UCP
(processador) através de operações básicas conhecidas pela mesma.
7
Programa em linguagem
de máquina na memória principal
Conjunto de Instruções da UCP (processador).
São as operações básicas conhecidas pelo
processador
O sistema hexadecimal é uma forma compacta de
representação binária (0s e 1s)
8
Execução do Programa
PC
(Program counter)
Armazena
o endereço da
próxima instrução
que processador
deve buscar e
executar.
9
Unidade de Controle:
Controle das atividades de todos os componentes
do computador
(exemplo: gravação de um dado no disco,
busca de uma instrução na memória)
Unidade de Lógica e Aritmética:
Realização de operações lógicas (testes e
comparações) e aritméticas (somas e
subtrações)
10
Registradores:• Memória de alta velocidade utilizado para armazenamento temporário
de dados.
• Registradores de uso geralManipulados diretamente por instruções
•Registradores de uso específicoArmazena informações de controle do processador e do sistema operacional
Exemplo: PC (Program Counter)
11
PC (Program Counter ou Contador de Programa )• Registrador que armazena o endereço da próxima
instrução que processador deve buscar e executar.
• Toda vez que o processador (UCP) executa uma
instrução o PC é atualizado com um novo endereço
PC
(Program counter)
13
Memória Principal (MP)
Armazena instruções e dados das instruções
a serem executadas pelo processador (UCP)
CélulaComposta por certo
número de bits
Endereço
Permite o acesso ao conteúdo da célula
14
Memória Principal (MP)Armazena instruções e dados das instruções
as
TIPO DE MEMÓRIA PRINCIPAL
RAM (random acess memory)Pode ser lida ou gravada
Volátil (não preserva conteúdo sem fonte
de alimentação)
Quase toda memória principal
ROM (Read-Only Memory)Gravada pelo fabricante com programa
Não-volátil
15
Aumentar a velocidade de acesso a instruções/dados
Memória volátil de alta velocidade (muito maior que da memória
principal).
A memória cache é cara.
Técnica:
– Antes da CPU consultar a MP consulta-se a MC
– Caso não encontra o bloco de dados na MC ele é transferido da MP para MC
– Isto garante que os dados mais usados com mais frequência estejam na
memória cache.
Memória Cache (MC)
16
Memória Secundária (MS)
Meio não-volátil de armazenamento de
programas e dados
Lenta
Custo baixo
Fitas magnéticas, disco magnético e
disco ótico
18
Dispositivo de Entrada/Saída Dispositivos usados como memória
secundária
– Discos e fitas
– Custo baixo, tempo de acesso alta
Dispositivos usados como interface
homem-máquina
– teclados, monitores, impressoras,
caneta ótica, mouse, etc
Dispositivos de E/SPermitir comunicação entre computador
e mundo externo
19
Barramentos
BarramentosConjunto de fios paralelos onde
trafegam informação
como dados, endereços ou
sinais de controle.
20
BarramentosBarramentos de Dados
Transmite informações entre a CPU e
memória principal/dispositivos E/S
Barramentos de ControleÉ por onde a CPU envia
pulsos de controle
relativos as operações de leitura
e de gravação
Barramentos de EndereçosUtilizado pela CPU para especificar
endereço da célula de memória
ou dispositivo de E/S a ser acessado
21
Pipelining• Técnica que permite o processador executar múltiplas instruções
paralelamente (ao mesmo tempo) e em diferentes estágios
(permitindo desta forma o aumento da velocidade)
• A execução de uma instrução pode ser dividida em subtarefas
22
Ativação do Sistema
- Ao ligar o computador, o sistema operacional tem que ser
carregado da MS para a MP por um programa localizado em
uma posição específica do disco.
23
Arquiteturas RISC e CISC
RISC
– Reduced Instruction Set Computer
– Conjunto Reduzido de instruções
– Instruções de máquina executadas diretamente
pelo hardware.
– Alta velocidade.
– Pouco acesso a memória principal (MP) pois
trabalham com muitos registradores.
– Exemplo: Sparc (SUN) e RS-6000 (IBM)
24
Arquiteturas RISC e CISC
CISC
– Complex Instruction Set Computer
– Conjunto Complexo (grande) de instruções
– Baixa velocidade.
– Exemplo: VAX (DEC) e Pentium (Intel)
25
Montador (assembler)
Montador (assembler)Traduz um programa fonte em linguagem de montagem (linguagem assembly)
em um módulo-objeto (em linguagem de máquina) não executável.
Linguagem
Assembly
Linguagem
de máquina
26
Compilador
Programa em
Linguagem C
CompiladorTraduz um programa em linguagem de alto-nível (pascal, fortran, cobol) em um
Módulo-objeto (em linguagem de máquina) não executável
29
Definição de SOSistema Operacional
É um conjunto de rotinas (programa)
executado
pelo processador que controla
o funcionamento do computador como
gerente dos
diversos recursos
(processadores, memórias e
dispositivos de entrada e saída).
Facilita o acesso aos
recursos do sistema
Permite o compartilhamento de
recursos de forma
organizada
30
Sistema Operacional
Facilita o acesso aos
recursos do sistema
Disponibiliza uma Interface entre os usuários e Recursos do sistema
(usuário não precisa conhecer detalhes do hardware).
Permite eficiência e menor chance de erro
31
Sistema Operacional
Compartilhamento de recursos de forma
organizada
Possibilita o acesso concorrente(“ao mesmo tempo”) a recursos compartilhados(memórias, discos, impressoras, por exemplo)de forma organizada e protegida
32
Sistema Operacional
Computador
– Hardware: • circuitos eletrônicos, cabos e fontes de alimentação
– Software: • Através dele o computador consegue armazenar
dados em discos, imprimir relatórios, gerar gráficos, etc
33
Sistema Operacional
Primeiros computadores
– Programação através de fios. Exigia grandeconhecimento do hardware e de sua linguagemde máquina
34
Sistema Operacional
Surgimento do SO
– Interação entre usuário/computador mais simples, confiável e eficiente
– Parte física do computador transparente ao usuário
– Usuário enxerga a máquina como sendo apenas o sistema operacional• Nível 0: hardware
• Nível 1: sistema operacional
Sistema Operacional
É um conjunto de rotinas (programa) executado pelo processador que controla
o funcionamento do computador como gerente dos diversos
recursos (processadores, memórias e dispositivos de entrada e saída).
36
Tipos de Sistemas Operacionais
– O surgimento dos diversos tipos de SO está
Intimamente relacionado com a evolução do
hardware e das aplicações por ele suportadas
37
Processador, memória e periféricos dedicados a
execução de um único programa (na memória).
Processador ocioso enquanto programa
aguarda algum evento
(exemplo: digitação de um dado)
Memória principal subutilizada
(não preenchida completamente,
Apenas um programa)
Periféricos dedicados a um único
usuário
Simples de implementação.
Não existe preocupação com
compartilhamento de recursos
Sistemas Monoprogramáveis/Monotarefa
39
Vários programas dividem os recursos
(processador, memória e periféricos)
Na memória podem existir vários programas
Sistemas Multiprogramáveis/Multitarefa
41
Sistema Monoprogramável X
Multiprogramável
- Um programa na memória principal por vez.
- UCP totalmente dedicada ao programa
- Desperdício na utilização da UCP (ex: quando programa faz uma leitura no disco)
- Subutilização da memória principal (apenas um programa).
42
Sistema Monoprogramável X
Multiprogramável
- Vários programas na memória principal CONCORRENDO pela utilização da UCP.
- CPU totalmente dedicada aos vários programas
- Menos desperdício na utilização da UCP
=>Existem vários programas se revezando para utilização da UCP
=>Quando um programa solicita uma operação de E/S, outros poderão utilizar a UCP
- Melhor uso da memória principal.
43
Sistemas Multiprogramáveis/Multitarefa
- Programas submetidos são armazenados em fitas/discos onde são executado
sequencialmente
-A UCP pode processar seqüencialmente cada job (tarefa), diminuindo o tempo de
execução dos jobs e o tempo de transição entre eles.
- Programas (Jobs) que normalmente não exigem iteração com usuário (programas
envolvendo cálculos numéricos por exemplo).
44
Sistemas
Multiprogramáveis/multitarefa
- Processador Compartilhado:
=> Vários programas sendo executados pela divisão do tempo do
processador em intervalos Time-Slace (fatia de tempo).
=> Programa não concluído no Time-Slace é substituído por outro.
- Memória e periféricos são também compartilhados
- Impressão de que todo sistema dedicado ao programa.
- Permite a interação com o usuário
- Implementação complexa
45
Sistemas Multiprogramáveis/multitarefa
- Processador Compartilhado:
=> Vários programas sendo executados pela divisão do tempo do
processador em intervalos Time-Slace (fatia de tempo).
=> Programa não concluído no Time-Slace é substituído por outro.
- Memória e periféricos são também compartilhados
- Impressão de que todo sistema dedicado ao programa.
- Permite a interação com o usuário
- Implementação complexa
46
Sistemas
Multiprogramáveis/multitarefa
- Semelhantes em implementação ao sistema de tempo compartilhado
- Diferença: tempo de resposta exigido no processamento.
- Idéia de “Time-Slice” não existe:
O programa detém o processador (UCP) o tempo que for necessário, ou
até que apareça outro programa mais prioritário (este controle é feito
pela aplicação e não pelo Sistema operacional)
- Monitoramente de refinarias, controle de tráfego aéreo, de usinas
(aplicações onde o tempo de resposta é fundamental)
50
Sistemas com múltiplos processadores
- Duas ou mais UCPs (processadores) trabalhando em conjunto
-Vantagem: => vários programas sendo executados ao mesmo tempo (em
cada processador).
=> Um programa dividido em partes para execução simultânea
em mais de um processador
51
Sistemas Fortemente Acoplados
- Desvantagem: => problema de concorrência (disputa) é introduzido (vários
processadores tentando acessar a mesma área de
memória)
- SFA = Sistemas multiprocessadores
- Várias CPUs compartilhando única memória e dispositivos E/S sendo
gerenciados por um único sistema operacional
52
Sistemas Fortemente Acoplados
Assimétricos
- Vantagem: organização simples de implementar
- Desvantagem 1:
=> Não utiliza o hardware com eficiência.
Somente o processador mestre pode executar serviços do sistema
operacional (por exemplo operações E/S)
O Processador escravo deve fazer requisição ao processador mestre
(ineficiência caso escravo execute muitas operações E/S)
-Desvantagem 2:
=> Pode ocorrer falha do processador mestre
Organização Assimétrica
=
Organização Mestre/Escravo
53
Sistemas Fortemente Acoplados
Simétricos (é o que existe !)
- Vantagem:
=> Um programa pode ser executado por qualquer processador ou por
vários processadores ao mesmo tempo (paralelismo)
=> Quando um processador falha o sistema continua a funcionar
- Desvantagem:
=> Acessos simultâneos às mesmas áreas de memória: solução a cargo do
hardware e do sistema operacional.
=> Implementação bastante complexa
Simetria dos dois processadores
Todos podem realizar as mesmas funções
54
Sistemas Fracamente Acoplados
Dois ou mais sistemas de computação
interligados em que cada um possui
o seu próprio sistema operacional
56
Sistemas Operacionais de Rede
Permitem que uma estação compartilhe seus recursos como impressora,
diretório com as demais estações da rede.
58
Sistemas Operacionais Distribuídos
O sistema (operacional) distribuído esconde os detalhes
das estações individuais e passa a tratá-los como um
conjunto único, como se fosse um sistema fortemente acoplado simétrico
Permite que uma aplicação seja
dividida em partes sendo cada uma
executada em estações diferentes