ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando...
Transcript of ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando...
![Page 1: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/1.jpg)
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
Prof. Dr. Daniel Caetano
2012 - 1
SISTEMAS OPERACIONAIS: GERENCIAMENTO DE PROCESSOS
E DE MEMÓRIA
![Page 2: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/2.jpg)
Lembretes
• Apresentar o gerenciamento de processos
• Compreender a importância do timer e da interrupção
• Apresentar o gerenciamento de memória
• Compreender os recursos básicos da MMU
• Lembrete: – Lista 2 Online!
![Page 3: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/3.jpg)
Material de Estudo
Material Acesso ao Material
Notas de Aula http://www.caetano.eng.br/aulas/aoc/ (Aula 9)
Apresentação http://www.caetano.eng.br/aulas/aoc/ (Aula 9)
Material Didático Arquitetura e Organização de Computadores, páginas 239 a 285
Biblioteca Virtual -
![Page 4: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/4.jpg)
INTRODUÇÃO
![Page 5: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/5.jpg)
Introdução
• Aula Passada: Função Geral do S.O.
• Gerenciador de Processos?
– Tem algo a ver com hardware?
• Gerenciador de Memória?
– Tem algo a ver com hardware?
![Page 6: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/6.jpg)
GERENCIAMENTO DE PROCESSOS
![Page 7: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/7.jpg)
Gerenciamento de Processos • Inicio: 1 computador = 1 programa
• Acesso direto aos recursos
• Vários nomes: programas, processos, jobs...
![Page 8: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/8.jpg)
Gerenciamento de Processos • Problema: 1 computador = N programas
• Convivência de programas... novos e antigos
• Programas antigos convivendo?
![Page 9: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/9.jpg)
Gerenciamento de Processos • Problema: 1 computador = N programas
• Convivência de programas... novos e antigos
• Programas antigos convivendo? Briga!
![Page 10: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/10.jpg)
Gerenciamento de Processos • O S.O. tem que “rebolar”
– Enganar cada programa...
– para que ele pense que está sozinho!
![Page 11: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/11.jpg)
Gerenciamento de Processos • Para ser enganado...
– O computador precisa estar configurado...
– ...de maneira específica para cada programa
• Analogia:
– República de Estudantes com um “gerente”
– Situação:
• Estudante 1 vendo futebol na TV
• Estudante 2 ouvindo AC/DC no último volume no som
– Como o “gerente” compatibiliza?
![Page 12: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/12.jpg)
Gerenciamento de Processos • Situação:
– Estudante A vendo futebol na TV
– Estudante B ouvindo AC/DC no último volume no som
• Como o “gerente” compatibiliza?
• Dividir em “um tempo” para cada estudante
• Momento 1: Estudante A – Liga TV no canal do futebol
– E desliga o som do AC/DC
• Momento 2: Estudante B – Desliga TV
– Liga o som do AC/DC
![Page 13: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/13.jpg)
Gerenciamento de Processos • Assim...
– Não basta saber quem é o estudante...
– ...é preciso saber o que ele estava fazendo...
– ...e a configuração do ambiente
• Da mesma forma...
– Não basta saber qual programa está rodando...
– ...é preciso saber em que ponto ele está...
• (em qual instrução)
– ...e a configuração do computador
• (quais partes da memória ele pode usar, por exemplo)
![Page 14: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/14.jpg)
Gerenciamento de Processos • S.O.: Manter controle sobre
– Programas
– Estado do computador para cada programa
• Conjunto: programa + estado = processo
• Programa → está no disco, sem executar
• Processo → na memória, em execução
Processo MAIN.EXE TEST.EXE FULL.EXE OUTRO.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x4500
Som? 0 0 1 0
![Page 15: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/15.jpg)
Gerenciamento de Processos • S.O.: Manter controle sobre
– Programas
– Estado do computador para cada programa
• Conjunto: programa + estado = processo
• Programa → está no disco, sem executar
• Processo → na memória, em execução
Processo MAIN.EXE TEST.EXE FULL.EXE OUTRO.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x4500
Som? 0 0 1 0
PCB: Process Control Block
![Page 16: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/16.jpg)
Gerenciamento de Processos • Uma CPU: Um Processo em Execução por vez
CPU
MSN
Media Player
Navegador
![Page 17: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/17.jpg)
Gerenciamento de Processos • Uma CPU: Um Processo em Execução por vez
CPU
MSN
Media Player
Navegador
![Page 18: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/18.jpg)
Gerenciamento de Processos • Uma CPU: Um Processo em Execução por vez
CPU
MSN
Media Player
Navegador
![Page 19: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/19.jpg)
Estados dos Processos • Estado de Execução: 5 básicos
– Em Execução: está processando no momento
– Pronto para executar: aguarda sua vez de processar
– Espera / Bloqueado: esperando recurso
– Novo: ainda está sendo configurado
– Terminado: recursos sendo liberados
• Os processos mudam de estado
![Page 20: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/20.jpg)
Estados dos Processos • Ciclo de Vida Básico
Novo
Terminado
Pronto Execução
Programa Carregado
Chegou a Vez
Acabou a fatia de tempo
![Page 21: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/21.jpg)
Estados dos Processos • Ciclo de Vida Básico
Novo
Terminado
Pronto Execução
Programa Carregado
Chegou a Vez
Acabou a fatia de tempo
Como o S.O. sabe que
“chegou a vez”?
![Page 22: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/22.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 23: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/23.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 24: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/24.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Acabou a fatia de tempo!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 25: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/25.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 26: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/26.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 27: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/27.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Acabou a fatia de tempo!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 28: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/28.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 29: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/29.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 30: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/30.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Acabou a fatia de tempo!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 31: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/31.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 32: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/32.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 33: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/33.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Acabou a fatia de tempo!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 34: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/34.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
![Page 35: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/35.jpg)
Escalonamento de Processos • PCB: qual processo está em execução
• “Fila de Execução”
• Executando...!
Processo A.EXE B.EXE C.EXE D.EXE
PID 0 1 2 3
Endereço 0x2000 0x4000 0x3000 0x5500
Som? 0 0 1 0
Memória
A
C
B
D
Sistema Operacional
E assim por diante!
![Page 36: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/36.jpg)
Fatia de Tempo (timeslice) • Quando ocorre a troca de processos?
– Quando acaba a fatia de tempo de um processo
– Quando ele finaliza
– Quando ele tenta ler um periférico lento
• Fatia de Tempo...?
– Controlada por um timer (despertador)
– Timer é configurado pelo S.O. para disparar...
– após 32ms e coloca um processo em execução
– Quando timer dispara, ocorre uma interrupção
– O controle volta diretamente para o S.O.
![Page 37: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/37.jpg)
GERENCIAMENTO DE MEMÓRIA
![Page 38: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/38.jpg)
Gerenciamento de Memória • Por que gerenciar memória?
• Recurso limitado!
• Muitos programas compartilham a mesma memória
• Um pode prejudicar outro?
• Quem cuida disso?
– O sistema operacional
• Sempre foi assim?
![Page 39: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/39.jpg)
Gerenciamento de Memória • Inicialmente, praticamente inexistente
– Sistemas monotarefa
– Toda a memória de um único programa
Memória
A
Sistema Operacional
• Nada impedia, inclusive, que o programa “destruísse” o S.O.
• Exemplo: alguns videogames
• Analogia: estudante morando sozinho
![Page 40: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/40.jpg)
Gerenciamento de Memória • Surgimento da MMU: Memory Management Unit
– Sistemas monotarefa / único programa
– Registrador de Proteção: Acesso apenas do S.O.
Memória
A
Sistema Operacional
0x2000
• Divide a memória em duas regiões
![Page 41: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/41.jpg)
Gerenciamento de Memória • Surgimento da MMU: Memory Management Unit
– Sistemas monotarefa / único programa
– Registrador de Proteção: Acesso apenas do S.O.
• O S.O. fica na primeira região...
• Acessa toda a RAM Memória
A
Sistema Operacional
0x2000
![Page 42: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/42.jpg)
Gerenciamento de Memória • Surgimento da MMU: Memory Management Unit
– Sistemas monotarefa / único programa
– Registrador de Proteção: Acesso apenas do S.O.
• Programa na segunda região (processo)...
• Acessa apenas a memória APÓS o endereço do registrador de proteção
• Analogia: criança que mora com os pais
Memória
A
Sistema Operacional
0x2000
![Page 43: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/43.jpg)
Gerenciamento de Memória • Surgimento da MMU: Memory Management Unit
– Sistemas monotarefa / único programa
– Registrador de Proteção
• Programa na segunda região (processo)...
• Se tentar acessar a primeira região...
Memória
A
Sistema Operacional
0x2000
![Page 44: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/44.jpg)
Gerenciamento de Memória • Surgimento da MMU: Memory Management Unit
– Sistemas monotarefa / único programa
– Registrador de Proteção
• Programa na segunda região (processo)...
• Se tentar acessar a primeira região...
• Ocorre uma falha de proteção...
Memória
A
Sistema Operacional
0x2000
![Page 45: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/45.jpg)
Gerenciamento de Memória • Surgimento da MMU: Memory Management Unit
– Sistemas monotarefa / único programa
– Registrador de Proteção
• Programa na segunda região (processo)...
• Se tentar acessar a primeira região...
• Ocorre uma falha de proteção...
• Que transfere o controle para o S.O.
Memória
A
Sistema Operacional
0x2000
![Page 46: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/46.jpg)
Gerenciamento de Memória • Surgimento da MMU: Memory Management Unit
– Sistemas monotarefa / único programa
– Registrador de Proteção
• Programa na segunda região (processo)...
• Se tentar acessar a primeira região...
• Ocorre uma falha de proteção...
• Que transfere o controle para o S.O.
Memória
A
Sistema Operacional
0x2000
O programa causou uma operação ilegal
e foi finalizado!
![Page 47: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/47.jpg)
MMUS MODERNAS
![Page 48: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/48.jpg)
Gerenciamento de Memória • MMUs Modernas: Dois Registradores
– Início
– Fim
Memória A
Sistema Operacional
0x2000
• Dividem a memória em dois tipos de região:
• Acessível (entre os dois marcadores)
• Não Acessível (fora dos marcadores)
0x34FF
![Page 49: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/49.jpg)
Gerenciamento de Memória • MMUs Modernas: Dois Registradores
– Início
– Fim
Memória A
Sistema Operacional
0x0000 • O sistema operacional
tem acesso a tudo...
0x7FFF
![Page 50: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/50.jpg)
Gerenciamento de Memória • MMUs Modernas: Dois Registradores
– Início
– Fim
Memória A
Sistema Operacional
0x0000 • Quando um processo vai
entrar em execução...
0x7FFF
![Page 51: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/51.jpg)
Gerenciamento de Memória • MMUs Modernas: Dois Registradores
– Início
– Fim
Memória A
Sistema Operacional
0x2000
• Quando um processo vai entrar em execução...
• A MMU é reconfigurada!
• Quando acaba a “fatia de tempo” do processo...
0x54FF
![Page 52: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/52.jpg)
Gerenciamento de Memória • MMUs Modernas: Dois Registradores
– Início
– Fim
Memória A
Sistema Operacional
0x0000 • O controle volta ao SO...
• Com a respectiva reconfiguração da MMU!
0x7FFF
![Page 53: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/53.jpg)
Gerenciamento de Memória • MMUs Modernas: Dois Registradores
– Início
– Fim
Memória A
Sistema Operacional
0x0000 • Vantagem...
• Podemos ter mais processos protegidos entre si
0x7FFF
B
![Page 54: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/54.jpg)
Gerenciamento de Memória • MMUs Modernas: Dois Registradores
– Início
– Fim
• Vantagem...
• Podemos ter mais processos protegidos entre si
Memória A
Sistema Operacional
0x2000
0x54FF
B
![Page 55: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/55.jpg)
Gerenciamento de Memória • MMUs Modernas: Dois Registradores
– Início
– Fim
Memória A
Sistema Operacional
0x5500
• Vantagem...
• Podemos ter mais processos protegidos entre si
• Analogia: república de estudantes com uma governanta
0x6FFF
B
![Page 56: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/56.jpg)
ALOCAÇÃO DE MEMÓRIA
![Page 57: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/57.jpg)
Gerenciamento de Memória • O Gerenciador também cuida da alocação...
Memória
A (2MB)
Sistema Operacional
B (3MB)
C (1MB)
D (3MB)
![Page 58: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/58.jpg)
Gerenciamento de Memória • O Gerenciador também cuida da alocação...
• E da desalocação...
Memória
A (2MB)
Sistema Operacional
C (1MB)
D (3MB)
B (3MB)
![Page 59: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/59.jpg)
Gerenciamento de Memória • O Gerenciador também cuida da alocação...
• E da desalocação...
Memória
Sistema Operacional
D (3MB)
E (3MB)
• Como carregar o processo E?
B (3MB)
![Page 60: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/60.jpg)
Gerenciamento de Memória • O Gerenciador também cuida da alocação...
• E da desalocação...
Memória
Sistema Operacional
D (3MB)
E (3MB)
• Como carregar o processo E?
• Mover B?
B (3MB)
B (3MB)
![Page 61: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/61.jpg)
Gerenciamento de Memória • O Gerenciador também cuida da alocação...
• E da desalocação...
Memória
Sistema Operacional
D (3MB)
E (3MB)
• Como carregar o processo E?
• Mover B?
B (3MB)
![Page 62: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/62.jpg)
Gerenciamento de Memória • O Gerenciador também cuida da alocação...
• E da desalocação...
Memória
Sistema Operacional
D (3MB)
E (3MB)
• Como carregar o processo E?
• Mover B?
B (3MB)
Programa B antes de ser movido Programa B depois de ser movido
0x4000 LD A,(0x400B) 0x4003 LD B,(0x400C) 0x4006 ADD A,B 0x4007 LD A,B 0x4008 LD (0x400D),A 0x400B DB 0x01 0x400C DB 0x02 0x400D DB 0x00
0x2000 LD A,(0x400B) 0x2003 LD B,(0x400C) 0x2006 ADD A,B 0x2007 LD A,B 0x2008 LD (0x400D),A 0x200B DB 0x01 0x200C DB 0x02 0x200D DB 0x00
![Page 63: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/63.jpg)
Gerenciamento de Memória • O Gerenciador também cuida da alocação...
• E da desalocação...
Memória
Sistema Operacional
D (3MB)
E (3MB)
• Como carregar o processo E?
• Mover B?
B (3MB)
Programa B antes de ser movido Programa B depois de ser movido
0x4000 LD A,(0x400B) 0x4003 LD B,(0x400C) 0x4006 ADD A,B 0x4007 LD A,B 0x4008 LD (0x400D),A 0x400B DB 0x01 0x400C DB 0x02 0x400D DB 0x00
0x2000 LD A,(0x400B) 0x2003 LD B,(0x400C) 0x2006 ADD A,B 0x2007 LD A,B 0x2008 LD (0x400D),A 0x200B DB 0x01 0x200C DB 0x02 0x200D DB 0x00
Não funciona!
![Page 64: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/64.jpg)
Gerenciamento de Memória • Para resolver esse problema... usar a MMU!
• Truque: fazer o programa pensar que sempre roda a partir do endereço ZERO
Memória
Sistema Operacional
D
B
0x4000
0x45FF
MMU1 0x4000
MMU2 0x45FF
Real 0x4000
Virtual 0x0000
![Page 65: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/65.jpg)
Gerenciamento de Memória • Para resolver esse problema... usar a MMU!
• Truque: fazer o programa pensar que sempre roda a partir do endereço ZERO
Memória
Sistema Operacional
D
B
0x2000
0x25FF
MMU1 0x2000
MMU2 0x25FF
Real 0x2000
Virtual 0x0000
![Page 66: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/66.jpg)
MMU1 0x2000
MMU2 0x25FF
Real 0x2000
Virtual 0x0000
Gerenciamento de Memória • Para resolver esse problema... usar a MMU!
• Truque: fazer o programa pensar que sempre roda a partir do endereço ZERO
Memória
Sistema Operacional
D
B
0x2000
0x25FF
Programa B antes de ser movido Programa B depois de ser movido
0x4000 LD A,(0x000B) 0x4003 LD B,(0x000C) 0x4006 ADD A,B 0x4007 LD A,B 0x4008 LD (0x000D),A 0x400B DB 0x01 0x400C DB 0x02 0x400D DB 0x00
0x2000 LD A,(0x000B) 0x2003 LD B,(0x000C) 0x2006 ADD A,B 0x2007 LD A,B 0x2008 LD (0x000D),A 0x200B DB 0x01 0x200C DB 0x02 0x200D DB 0x00
![Page 67: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/67.jpg)
MMU1 0x2000
MMU2 0x25FF
Real 0x2000
Virtual 0x0000
Gerenciamento de Memória • Para resolver esse problema... usar a MMU!
• Truque: fazer o programa pensar que sempre roda a partir do endereço ZERO
Memória
Sistema Operacional
D
B
0x2000
0x25FF
Programa B antes de ser movido Programa B depois de ser movido
0x4000 LD A,(0x000B) 0x4003 LD B,(0x000C) 0x4006 ADD A,B 0x4007 LD A,B 0x4008 LD (0x000D),A 0x400B DB 0x01 0x400C DB 0x02 0x400D DB 0x00
0x2000 LD A,(0x000B) 0x2003 LD B,(0x000C) 0x2006 ADD A,B 0x2007 LD A,B 0x2008 LD (0x000D),A 0x200B DB 0x01 0x200C DB 0x02 0x200D DB 0x00
Endereçamento Virtual
![Page 68: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/68.jpg)
MMU1 0x2000
MMU2 0x25FF
Real 0x2000
Virtual 0x0000
Gerenciamento de Memória • Para resolver esse problema... usar a MMU!
• Truque: fazer o programa pensar que sempre roda a partir do endereço ZERO
Memória
Sistema Operacional
D
B
0x2000
0x25FF
Programa B antes de ser movido Programa B depois de ser movido
0x4000 LD A,(0x000B) 0x4003 LD B,(0x000C) 0x4006 ADD A,B 0x4007 LD A,B 0x4008 LD (0x000D),A 0x400B DB 0x01 0x400C DB 0x02 0x400D DB 0x00
0x2000 LD A,(0x000B) 0x2003 LD B,(0x000C) 0x2006 ADD A,B 0x2007 LD A,B 0x2008 LD (0x000D),A 0x200B DB 0x01 0x200C DB 0x02 0x200D DB 0x00
Os valores da MMU de um
processo ficam na PCB (estado)
![Page 69: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/69.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– O que fazer quando não cabe?
MSN
Media Player
Navegador
MEM
ÓR
IA
![Page 70: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/70.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
![Page 71: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/71.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
![Page 72: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/72.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
![Page 73: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/73.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
![Page 74: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/74.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
![Page 75: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/75.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
Memória Virtual
![Page 76: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/76.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
Memória Virtual
E quando o Media Player for rodar, como o S.O. sabe que tem que trazê-lo para a RAM?
![Page 77: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/77.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
Memória Virtual
Quando a CPU tenta acessar um processo que está em um endereço
fora da RAM, ocorre um “erro” específico, chamado page fault,
que o Sistema Operacional identifica e usa para trazer aquele
processo de volta para a RAM
![Page 78: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/78.jpg)
Gerenciamento de Memória
• Muitos Processos x Pouca Memória
– Quando não cabe: Move programa menos usado
MSN
Media Player
Navegador
MEM
ÓR
IA
HD
Memória Virtual
Assim, se o micro tem 2GB de RAM e o registro MMU1 indica um endereço inicial
MAIOR que 2GB, ocorre um page fault!
![Page 79: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/79.jpg)
Gerenciamento de Memória
• Voltemos à situação original...
• Mover o processo B é a única solução?
Memória
Sistema Operacional
D (3MB)
E (3MB) B (3MB)
![Page 80: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/80.jpg)
Gerenciamento de Memória
• Voltemos à situação original...
• Mover o processo B é a única solução?
Memória
Sistema Operacional
D (3MB)
E (3MB) B (3MB)
• Poderíamos “quebrar” E em duas partes...
![Page 81: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/81.jpg)
Gerenciamento de Memória
• Voltemos à situação original...
• Mover o processo B é a única solução?
Memória
Sistema Operacional
D (3MB)
E1 (1,5MB) B (3MB)
• Poderíamos “quebrar” E em duas partes...
E2 (1,5MB)
![Page 82: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/82.jpg)
Gerenciamento de Memória
• Voltemos à situação original...
• Mover o processo B é a única solução?
Memória
Sistema Operacional
D (3MB)
E1 (1,5MB)
B (3MB)
• Poderíamos “quebrar” E em duas partes...
• Mas, para isso funcionar, precisamos de múltiplos registros de MMU...
E2 (1,5MB)
0x200000
0x37FFFF
0x500000
0x67FFFF
![Page 83: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/83.jpg)
Gerenciamento de Memória
• Voltemos à situação original...
• Mover o processo B é a única solução?
Memória
Sistema Operacional
D (3MB)
E1 (1,5MB)
B (3MB)
• O processador faz a mágica para que o processo pense que está em um único bloco
• Como diminuir o número de registros de MMU?
E2 (1,5MB)
0x200000
0x37FFFF
0x500000
0x67FFFF
![Page 84: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/84.jpg)
Gerenciamento de Memória
• Voltemos à situação original...
• Mover o processo B é a única solução?
Memória
Sistema Operacional
D (3MB)
E1 (1,5MB)
B (3MB)
• Padronizando o tamanho do bloco... por exemplo, em 1,5MB
• Só são necessários registros de início de área
• Cada bloco: página
E2 (1,5MB)
0x200000
0x500000
![Page 85: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/85.jpg)
Gerenciamento de Memória
• Voltemos à situação original...
• Mover o processo B é a única solução?
Memória
Sistema Operacional
D (3MB)
E1 (1,5MB)
B (3MB)
• Padronizando o tamanho do bloco... por exemplo, em 1,5MB
• Só são necessários registros de início de área
• Cada bloco: página
E2 (1,5MB)
0x200000
0x500000
O menor processo possível ocupa uma
página. 4KB é um valor usual para uma página
![Page 86: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/86.jpg)
Demonstração
• Gerenciamento de Memória e Processos?
• SO Sim (Simulador de Sistema Operacional)
![Page 87: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/87.jpg)
CONCLUSÕES
![Page 88: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/88.jpg)
Resumo
• O S.O. tem funções extremamente complexas e importantes
• Muitas das funcionalidades dos S.O.s dependem de auxílio do hardware, como interrupções e MMUs
• Em sistemas que o possuem, o disco pode ser usado como memória virtual
• TAREFA
– Lista de Exercícios 2!
![Page 89: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/89.jpg)
Próxima Aula
• Ok... mas o S.O. é um programa...
• Quem o executa é a CPU! – Como é a CPU?
– O que ela faz?
![Page 90: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/90.jpg)
PERGUNTAS?
![Page 91: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES … · –Não basta saber qual programa está rodando ... e a configuração do computador •(quais partes da memória ele pode usar,](https://reader031.fdocuments.net/reader031/viewer/2022022706/5be22e7609d3f280068bd2d2/html5/thumbnails/91.jpg)
BOM DESCANSO A TODOS!