Sistemas Operacionais - IME-USP

Propaganda
Sistemas Operacionais
Adão de Melo Neto
1
Computador Digital (Hardware)
2
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
3
Computador

3 subsistemas básicos:
4
Processador/UCP(Unidade Central de
Processamento)
5
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
6
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.
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)
7
Execução do Programa
PC
(Program counter)
Armazena
o endereço da
próxima instrução
que processador
deve buscar e
executar.
8
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)
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)
9
Registradores:
• Memória de alta velocidade utilizado para armazenamento temporário
de dados.
• Registradores de uso geral
Manipulados diretamente por instruções
•Registradores de uso específico
Armazena informações de controle do processador e do sistema operacional
10
Exemplo: PC (Program Counter)
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)
11
Memória
12
Endereço
Permite o acesso ao conteúdo da célula
Memória Principal (MP)
Armazena instruções e dados das instruções
a serem executadas pelo processador (UCP)
Célula
Composta por certo
número de bits
13
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
14
Memória Cache (MC)




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 15
memória cache.
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
16
Memórias

Relação entre memórias
17
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/S
Permitir comunicação entre computador
e mundo externo
18
Barramentos
Barramentos
Conjunto de fios paralelos onde
trafegam informação
como dados, endereços ou
sinais de controle.
19
Barramentos
Barramentos de Dados
Transmite informações entre a CPU e
memória principal/dispositivos E/S
Barramentos de Endereços
Utilizado pela CPU para especificar
endereço da célula de memória
ou dispositivo de E/S a ser acessado
Barramentos de Controle
É por onde a CPU envia
pulsos de controle
relativos as operações de leitura
e de gravação
20
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
21
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.
22
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)
23
Arquiteturas RISC e CISC

CISC
– Complex Instruction Set Computer
– Conjunto Complexo (grande) de instruções
– Baixa velocidade.
– Exemplo: VAX (DEC) e Pentium (Intel)
24
Montador (assembler)
Linguagem
de máquina
Linguagem
Assembly
Montador (assembler)
Traduz um programa fonte em linguagem de montagem (linguagem assembly)
25
em um módulo-objeto (em linguagem de máquina) não executável.
Compilador
Programa em
Linguagem C
Compilador
Traduz um programa em linguagem de alto-nível (pascal, fortran, cobol) em um
26
Módulo-objeto (em linguagem de máquina) não executável
Compilador
27
Introdução a Sistemas
Operacionais
Adão de Melo Neto
28
Definição de SO
Sistema Operacional
Permite o compartilhamento de
recursos de forma
organizada
É 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
29
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
30
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
31
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
32
Sistema Operacional

Primeiros computadores
– Programação através de fios. Exigia grande
conhecimento do hardware e de sua linguagem
de máquina
33
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).
34
Tipos de Sistemas
Operacionais
35
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
36
Sistemas Monoprogramáveis/Monotarefa
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)
Simples de implementação.
Não existe preocupação com
compartilhamento de recursos
Memória principal subutilizada
(não preenchida completamente,
Apenas um programa)
Periféricos dedicados a um único
usuário
37
Sistemas Monoprogramáveis/Monotarefa
38
Sistemas Multiprogramáveis/Multitarefa
Vários programas dividem os recursos
(processador, memória e periféricos)
Na memória podem existir vários programas
39
Sistemas Multiprogramáveis/Multitarefa
40
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).
41
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.
42
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).
43
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
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
- 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)
46
Sistemas
Multiprogramáveis/multitarefa
47
Sistemas
Multiprogramáveis/multitarefa
48
Sistemas
Multiprogramáveis/multitarefa
49
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
50
Sistemas Fortemente Acoplados
- SFA = Sistemas multiprocessadores
- Várias CPUs compartilhando única memória e dispositivos E/S sendo
gerenciados por um único sistema operacional
- Desvantagem: => problema de concorrência (disputa) é introduzido (vários
processadores tentando acessar a mesma área de
51
memória)
Sistemas Fortemente Acoplados
Assimétricos
Organização Assimétrica
=
Organização Mestre/Escravo
- 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:
52
=> Pode ocorrer falha do processador mestre
Sistemas Fortemente Acoplados
Simétricos (é o que existe !)
Simetria dos dois processadores
Todos podem realizar as mesmas funções
- 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
53
Sistemas Fracamente Acoplados
Dois ou mais sistemas de computação
interligados em que cada um possui
o seu próprio sistema operacional
54
Sistemas Operacionais de Rede
55
Sistemas Operacionais de Rede
Permitem que uma estação compartilhe seus recursos como impressora,
diretório com as demais estações da rede.
56
Sistema Operacional Distribuídos
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
58
Sistemas OperacionaisDistribuídos
Resumo
Download