1Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de MemóriaParte I•Gerenciamento básico de memória•Troca de processos•Memória virtual•Algoritmos de substituição de páginas
Parte II•Modelagem de algoritmos de substituição de páginas•Questões de projeto para sistemas de paginação•Questões de implementação•Segmentação
2Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de Memória• Idealmente, o que todo programador deseja é dispor de
uma memória que seja– grande– rápida– não volátil
• Hierarquia de memórias – pequena quantidade de memória rápida, de alto custo - cache – quantidade considerável de memória principal de velocidade
média, custo médio– gigabytes de armazenamento em disco de velocidade e custo
baixos
• O gerenciador de memória trata a hierarquia de memórias
3Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Multiprogramação com Partições Fixas
• Partições fixas de memóriaa) filas de entrada separadas para cada partiçãob) fila única de entrada
4Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Multiprogramação
Utilização da CPU como uma função do número de processos na memória
Maioria dos processos é CPU-Bound
Maioria dos processos é IO-Bound
5Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Análise de Desempenho de Sistemas de Multiprogramação
• Chegada de 4 jobs e suas necessidades de trabalho• Utilização da CPU por até 4 jobs com 80% de espera por E/S• Sequência de eventos entre chegada e término dos jobs
– Note que os números mostram quanto tempo da CPU cada job obtém em cada intervalo
6Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Relocação e Proteção
• Não se sabe com certeza onde o programa será carregado na memória– Localizações de endereços de variáveis e de código de
rotinas não podem ser absolutos• Uma possível solução: instruções do programa são
modificadas segundo a partição de memória em que ele será carregado
• Uma solução para relocação e proteção: uso de valores base e limite – localizações de endereços são somadas ao valor base
antes de serem mapeadas na memória física– localizações de endereços maiores que o valor limite
indicam erro
7Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Troca de Processos (1)
• Alterações na alocação de memória à medida que processos entram e saem da memória
• Regiões sombreadas correspondem a regiões de memória não utilizadas naquele instante
8Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Troca de Processos (2)
a) Alocação de espaço para uma área de dados em expansãob) Alocação de espaço para uma pilha com código e uma área
de dados, ambos em expansão
9Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de Memória com Mapas de Bits
a) Parte da memória com 5 segmentos de processos e 3 segmentos de memória livre
− pequenos riscos simétricos denotam as unidades de alocação − regiões sombreadas denotam segmentos livres
b) Mapa de bits correspondentec) Mesmas informações em uma lista encadeada
10Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de Memóriacom Listas Encadeadas
Quatro combinações de vizinhança para o processo X em término de execução
11Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Memória VirtualPaginação (1)
Localização e função da MMU
12Pearson Education Sistemas Operacionais Modernos – 2ª Edição
A relação entre endereços virtuais e endereços físicos de memória dada pela tabela de páginas
Memória Virtual - Paginação (2)
13Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Tabelas de Páginas
a) Endereço de 32 bits com 2 campos (PT1, PT2) para endereçamento de tabelas de páginas
b) Tabelas de páginas com 2 níveis
15Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Tabelas de Páginas
Entrada típica de uma tabela de páginas
16Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Memória Associativa ou TLB
TLB para acelerar a paginaçãoTLB = Translation Lookaside Buffer
(tabela das traduções de endereços mais recentes em um dispositivo; funciona como uma cache para tabelas de página)
18Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Algoritmos de Substituição de Páginas
• A falta de página força uma escolha– qual página deve ser removida– alocação de espaço para a página a ser trazida
para a memória
• A página modificada deve primeiro ser salva– se não tiver sido modificada é apenas sobreposta
• Melhor não escolher uma página que está sendo muito usada– provavelmente precisará ser trazida de volta logo
20Pearson Education Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo de Substituição de Página Não Usada Recentemente (NUR)
• Cada página tem os bits Referenciada (R) e Modificada (M)– Bits são colocados em 1 quando a página é
referenciada e modificada
• As páginas são classificadas Classe 0: não referenciada, não modificada Classe 1: não referenciada, modificada Classe 2: referenciada, não modificada Classe 3: referenciada, modificada
• NUR remove página aleatoriamente – da classe de ordem mais baixa que não esteja vazia
21Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Algoritmo de Substituição de Página Primeira a Entrar, Primeira a Sair
• Mantém uma lista encadeada de todas as páginas– página mais antiga na cabeça da lista– página que chegou por último na memória no final da
lista
• Na ocorrência de falta de página• página na cabeça da lista é removida• nova página adicionada no final da lista
• Desvantagem– página há mais tempo na memória pode ser usada com
muita freqüência
22Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Algoritmo de Substituição de Página Segunda Chance (SC)
• Operação do algoritmo segunda chancea) lista de páginas em ordem FIFOb) estado da lista em situação de falta de página no instante 20, com o bit R da página A em 1 (números representam instantes de
carregamento das páginas na memória)
23Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Algoritmo de Substituição de Página Relógio
24Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Menos Recentemente Usada (MRU)
• Assume que páginas usadas recentemente logo serão usadas novamente– retira da memória página que há mais tempo não é usada
• Uma lista encadeada de páginas deve ser mantida– página mais recentemente usada no início da lista, menos
usada no final da lista– atualização da lista à cada referência à memória
• Alternativamente manter contador em cada entrada da tabela de página– escolhe página com contador de menor valor – zera o contador periodicamente
29Pearson Education Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo de Substituiçãode Página WSClock
Operação
do Algoritmo WSClock
30Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Revisão dos Algoritmos de Substituição de Página
31Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de Memória
Parte IIModelagem de algoritmos de substituição de páginas
Projeto para sistemas de paginaçãoQuestões de implementação
Segmentação
32Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Algoritmos de Substituição de Página – Anomalia de Belady
• FIFO com 3 molduras de página• FIFO com 4 molduras de página• P mostra quais referências de página causaram faltas de página
Esperado: quanto mais molduras de página a memória possuir, menos faltas de página o programa terá.
Anomalia: neste exemplo, o algoritmo de substituição FIFO tem mais faltas de página (10P) para mais molduras (4)...
33Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Algoritmo de Pilha
Estado do vetor de memória, M, após cada item na cadeia de referências ter sido processado
memória
disco
distância
34Pearson Education Sistemas Operacionais Modernos – 2ª Edição
A Cadeia de Distâncias: serve paraPrevisão de Frequência de Faltas de Página
Cálculo da freqüência de faltas de páginaa) o vetor Cb) o vetor F
Possivelmente, melhor custo-
benefício
3
3
3
1
0
20
14
11
9
8
35Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Controle de Carga
• Mesmo com um bom projeto, o sistema ainda pode sofrer paginação excessiva (thrashing)
• Quando o algoritmo PFF (frequência de falta de páginas) indica– alguns processos precisam de mais memória– mas nenhum processo precisa de menos (ou seja, nenhum pode ceder
páginas)
• Solução :Reduzir o número de processos que competem pela memória– levar alguns deles para disco (swap) e liberar a memória a eles alocada– reconsiderar grau de multiprogramação
36Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Tamanho de Página
Tamanho de página pequeno
• Vantagens– menos fragmentação interna – menos programa não usado na memória
• Desvantagens– programas precisam de mais páginas, tabelas
de página maiores
37Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Espaços Separados de Instruções e Dados
a) Espaço de endereçamento únicob) Espaços separados de instruções (I) e dados (D)
38Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Páginas Compartilhadas
Dois processos que compartilham o mesmo código de programa e, por conseqüência, a mesma tabela de páginas para instruções
Dad
os d
o pr
oces
so 1
Dad
os d
o pr
oces
so 2
P1
P2
39Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Envolvimento do S.O. com Paginação
Quatro circunstâncias de envolvimento:1. Criação de processo
determina tamanho do programa cria tabela de página
2. Execução de processo Inicia MMU (Unidade de Gerenciamento de Memória) para novos
processos
3. Ocorrência de falta de página determina endereço virtual que causou a falta descarta, se necessário, página antiga carrega página requisitada para a memória (swap)
4. Terminação de processo Libera tabela de páginas, páginas, e espaço em disco que as
páginas ocupam
40Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento da falta de páginas
1) Chamadas do kernel pela MMU - hardware desvia a execução para o núcleo (kernel)
2) Salvamento dos registradores de uso geral
3) S.O. determina página virtual requerida
4) S.O. valida endereço e remove página da memória
5) Se página modificada, escreve para o disco
6) S.O. lê página do disco e põe na memória principal
7) Atualiza tabelas de páginas
8) Executa do começo a instrução que provocou a falta
9) Processo colocado em “pronto”
10) Registradores restaurados
11) Programa continua
41Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Fixação de Páginas na Memória
• Memória virtual e E/S interagem ocasionalmente• Processo (1) emite chamada ao sistema para ler do
disco para o buffer– enquanto espera pela E/S, outro processo (2) inicia– ocorre uma falta de página para o processo 2– buffer do processo 1 pode ser escolhido para ser levado
para disco – problema!
• Solução possível– Fixação de páginas envolvidas com E/S na memória
42Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Memória Secundária
(a) Paginação para uma área de troca estática(b) Páginas alocadas dinamicamente em disco
43Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Segmentação (1)
• Espaço de endereçamento unidimensional com tabelas crescentes
• Uma tabela pode atingir outra…
, que contém a análise sintática do programa
variáveis
44Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Segmentação (2)
Permite que cada tabela cresça ou encolha, independentemente
45Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Comparação entre paginação e segmentação
46Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Sistemas de Arquivos
Infra-estrutura de Software
•Arquivos •Diretórios •Implementação do sistema de arquivos•Gerenciamento de espaço em disco
47Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Armazenamento da Informação a Longo Prazo
1. Deve ser possível armazenar uma quantidade muito grande de informação
2. A informação deve sobreviver ao término do processo que a usa – persistência
3. Múltiplos processos devem ser capazes de acessar a informação concorrentemente – compartilhamento
48Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Nomeação de Arquivos
Extensões típicas de arquivos
49Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estrutura de Arquivos
• Três tipos de arquivosa) seqüência de bytesb) seqüência de registrosc) árvore
50Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Tipos de Arquivos
(a) Um arquivo executável (b) Um repositório (archive)
Identifica arquivo como executável
Endereço no qual a execução deve
iniciar
Mais adiante...
Para uso na memória
Para depuração
51Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Acesso aos Arquivos
• Acesso sequencial– lê todos os bytes/registros desde o início– não pode saltar ou ler fora de seqüência– conveniente quando o meio era a fita magnética
• Acesso aleatório– bytes/registros lidos em qualquer ordem– essencial para sistemas de bases de dados– ler pode ser …
• mover marcador de arquivo (seek), e então ler ou …• ler e então mover marcador de arquivo
52Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Atributos de Arquivos
Possíveis atributos (flags) de arquivos
para quando registro é
consultado usando uma
‘chave’
53Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Operações com Arquivos
1. Create
2. Delete
3. Open
4. Close
5. Read
6. Write
7. Append
8. Seek: ponteiro para acesso aleatório
9. Get attributes
10.Set Attributes
11.Rename
54Pearson Education Sistemas Operacionais Modernos – 2ª Edição
DiretóriosSistemas de Diretório em Nível Único
• Um sistema de diretório de nível único– contém 4 arquivos– propriedades de 3 pessoas diferentes, A, B, e C
55Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Sistemas de Diretórios em Dois Níveis
As letras indicam os donos dos diretórios e arquivos
56Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Sistemas de Diretórios Hierárquicos
Um sistema de diretório hierárquico
57Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Uma árvore de diretórios UNIX
Nomes de Caminhos (pathnames)
58Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Operações com Diretórios
1. Create
2. Delete
3. Opendir
4. Closedir
5. Readdir
6. Rename
7. Link
8. Unlink
59Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Implementação do Sistema de Arquivos
Um possível layout de sistema de arquivo
Master Boot Record: Registro Principal do Boot,
usado para iniciar o computador
Principais parâmetros do sistema de arquivo – ex. tipo
do sistema de arquivos, número de blocos do
sistema
Estrutura de dados com informações sobre um
arquivo, sendo um i-node por arquivo
60Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Implementação de Arquivos (1)
(a) Alocação contígua do espaço em disco para 7 arquivos(b) Estado do disco depois dos arquivos D e E terem sido removidos
61Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Implementação de Arquivos (2)
Armazenamento de um arquivo como uma lista
encadeada de blocos de disco
Término de A
Término de B
62Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Implementação de Arquivos (3)
Um exemplo de i-node
63Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Implementação de Diretórios
(a) Um diretório simplesentradas de tamanho fixoendereços de disco e atributos na entrada de diretório
(b) Diretório no qual cada entrada se refere apenas a um i-node
64Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Arquivos Compartilhados (1)
Sistema de arquivo contendo um arquivo compartilhado
65Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Arquivos Compartilhados (2)
(a) Situação antes da ligação(b) Depois de a ligação ser criada(c) Depois de o proprietário (C) remover o arquivo (i-node deixado
intacto para evitar erro, já que B não é o proprietário – e continua na conta de alocação de C…)
66Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento do Espaço em Disco
Considerações relevantes:• Tamanho do bloco: eficiência• Monitoramento de blocos livres (ex. mapas de
bits)• Cotas de usuários
67Pearson Education Sistemas Operacionais Modernos – 2ª Edição
O que vimos:Módulo I
• Conceitos: SO (“máquina estendida”), Processo e outros
• Escalonamento de Processos
• Entrada/Saída
• Gerenciamento de Memória
• Sistemas de Arquivos
S e g u e…S e g u e…
68Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Próximas Datas Importantes
• 22/04/2008 Lab: Processos, Escalonamento, I/O,
Memória e
Aula de revisão
• 24/04/2008 1º Exercício Escolar
• 29/04/2008 Entrega dos projetos
Top Related