Sistemas Operacionais II. Windows: Gerenciamento de Memória

Documentos relacionados
Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Sistemas Operacionais II

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Fundamentos de Sistemas Operacionais

Capítulo 4 Gerenciamento de Memória

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

Sistemas de Computação. Gerenciamento de memória

Substituição de Páginas

Capítulo 11 Estudo de Caso 2: Windows 2000

Algoritmos de Substituição de Páginas. Igor Gustavo Hoelscher Renan Arend Rogério Corrêa Medeiros

Gerência de Memória. Algoritmos de Substituição de Páginas. (Aula 20)

Gerenciamento de Memória

Sistemas Operacionais

INE5412 Sistemas Operacionais I

Sistemas Operacionais

Gerência de Memória. Gerência de Memória Virtual. Gerência de Memória. Gerência de Memória. Gerência de Memória. Gerência de Memória 17/04/2017

Memória virtual. Sistemas de Computação

CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL

SSC0640 Sistemas Operacionais I

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Gerência de Memória Memória Virtual e Paginação

SSC0611 Arquitetura de Computadores

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386

Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Gerência de Memória. Aspectos de Projeto

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 16. Memória Virtual: Linux

SSC0112 Organização de Computadores Digitais I

Gerenciamento de Memória

GERENCIAMENTO DE MEMÓRIA

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

EEL770 - Sistemas Operacionais Notas de Aula

Sistemas Operacionais. Prof. Fabio Augusto Oliveira

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Gerenciamento de Memória

Capítulo 9: Memória Virtual. Operating System Concepts 8 th Edition

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Caching. Caches do Sistema de Ficheiros

Davidson Rodrigo Boccardo

Gerência de memória II

Sistemas de Arquivos. Pedro Cruz. EEL770 Sistemas Operacionais

Implementação de Diretórios (1)

Arquitetura e Organização de Computadores

Notas da Aula 20 - Fundamentos de Sistemas Operacionais

SSC0640 Sistemas Operacionais I

AULA 14 - Memória Virtual

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Gerenciamento de Memória

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Capítulo 6 Nível do Sistema Operacional

Unix Processos. Geraldo Braz Junior

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition

Leandro Soares de Sousa (DSc.) Página: Aula 04 - desenvolvimento multithread

Sistemas de arquivos

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

SSC0112 Organização de Computadores Digitais I

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII

SSC0640 Sistemas Operacionais I

EA075 Memória virtual

Sistemas Operacionais

Capítulo 6 Sistema de ficheiros

SISTEMAS OPERACIONAIS

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Conceitos básicos e serviços dos Sistemas Operacionais

Sistemas Distribuídos Capítulo 3 - Aula 3

Gerenciamento de memória

Processos ca 3 pítulo

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

Sistemas Operacionais. Sistema de Arquivos. Edeyson Andrade Gomes.

Administração de Memória

Introdução à Informática. Alexandre Meslin

SOP - TADS Gerência de Memória Cap 3 Tanenmbaum

Gerência de Memória. Paginação

Sistemas Operacionais

Gerência da Memória. Adão de Melo Neto

Organização e Arquitetura de Computadores I

Sistemas Opera r cionais Gerência de Memória

slide Pearson Prentice Hall. Todos os direitos reservados.

25/8/2010. Praticamente todas as arquiteturas de computadores fornecem mais de um modo de

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Gerenciamento de Memória

Sistemas Operacionais

Infra-Estrutura de Software IF677

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

GERENCIAMENTO DE PROCESSOS

Lista de Exercícios de INF1019

slide Pearson Prentice Hall. Todos os direitos reservados.

Sistemas Operacionais

Sistemas Operacionais. BC Sistemas Operacionais

Sistemas Operativos: Gestão de Memória

Estudo de Caso 1: UNIX e LINUX

Transcrição:

Sistemas Operacionais II Windows: Gerenciamento de Memória

Espaço de Endereçamento Em máquinas de 32 bits, o espaço de endereçamento virtual é de 4 GB dividido assim: 2 GB inferiores (menos 256 MB) para código e dados do processo; 2 GB superiores mapeiam o núcleo de uma forma protegida. O espaço de endereçamento virtual é paginado sob demanada No Pentium as páginas possuem 4 KB; 2

64 KB Superiores e Inferiores A parte de baixo e de cima dos 64 KB não estão mapeadas; Isto auxilia a identificação de erros como utilização de ponteiros inválidos que muitas vezes possuem valor 0 ou 1; A tentativa de usá-los causa um desvio em vez de gerar uma leitura de lixo ou escrita em local incorreto da memória; Programas MS-DOS antigos executando no modo de emulação podem ser mapeados nesta parte. 3

2 GB Superiores Mapeam código, dados e reservatórios de objetos paginados e não-paginados do sistema; Compartilhados por todos os processos (menos as tabelas de páginas); Não podem ser escritos e uma parte nem mesmo pode ser lida; Motivo: quando o thread realiza uma chamada ao sistema basta mudar para modo núcleo e continuar executando no mesmo thread; Compromisso entre mais espaço no espaço de endereçamento privado do processo contra maior rapidez das chamadas ao sistema. 4

Endereçamento Virtual para 3 Procesos 5

Estados de uma Página Virtual Livre Quando não está em uso; Estado inicial de todas as páginas de um processo. Comprometida Uma vez que o código ou dados estejam mapeados em uma página ela é dita comprometida; Uma referência a ela pode ser bem sucedida ou gerar uma falta de página. 6

Estados de uma Página Virtual Reservada Quando não estiver disponível para ser mapeada; Exemplo: ao se criar uma thread é reservado 1MB de espaço de pilha 7

Arquivos Mapeados em Memória Assim como o Unix, permite que arquivos sejam mapeados para regiões de páginas consecutivas de um espaço de endereçamento virtual; O arquivo pode ser lido ou escrito usando referências comuns à memória; Permite que dois ou mais processos mapeiem simultaneamente um mesmo arquivo eventualmente com permissões de acesso diferentes. 8

Arquivos Mapeados em Memória 9

Chamadas ao Sistema para Gerenciamento de Memória 10

Implementação do Gerenciamento de Memória Diferentemente do escalonador, o gerente de memória se preocupa apenas com processos e não com threads; Não é utilizado nenhuma forma de prépaginação: quando um processo é iniciado, nenhuma de suas páginas está na memória; Elas são trazidas dinamicamente, conforme a ocorrência de faltas de página. 11

12 Entrada na Tabela de Páginas

Categorias de Faltas de Página A página referenciada não está comprometida; Ocorreu uma violação de proteção Os dois casos acima geram erros fatais para os quais não há recuperação; Uma página compartilhada foi escrita Se a página é somente de leitura copia-se a página para um novo bloco de memória física e a mapeia como RW (cópia na escrita). 13

Categorias de Faltas de Página A pilha precisa crescer Requer a alocação de um novo bloco de memória e seu mapeamento; Regras de segurança exigem que ela seja limpa com 0s para impedir que os processos espiem o conteúdo do proprietário anterior; A página referenciada está comprometida mas não mapeada Falta normal de página; A página é localizada e mapeada. 14

Algoritmo de Substituição de Páginas O sistema tenta manter na memória um número substancial de páginas livres, a fim de obter imediatamente uma página livre sem a necessidade de escrever alguma página no disco quando ocorrer uma falta de página; Cada processo possui um conjunto de trabalho composto pelas páginas mapeadas que estão na memória; 15

Algoritmo de Substituição de Páginas O tamanho e a composição do conjunto de trabalho são variáveis. Cada conjunto de trabalho possui um tamanho mínimo e máximo e todo processo inicia com o mesmos valores para eles; O mínimo inicial fica entre 20 e 50 e o máximo inicial entre 45 e 345, dependendo da quantidade total de RAM; O administrador pode alterar estes valores iniciais; Se ocorrer uma falta de página e o conjunto de trabalho for menor que o mínimo, a página será adicionada; 16

17 Algoritmo de Substituição de Páginas Se ele for maior que o máximo, uma página será removida do conjunto de trabalho, mas não da memória. Este algoritmo impede que um processo manipule a memória, prejudicando os demais; No entanto, se um processo está paginando demais, o sistema aumenta seu máximo; imite: mesmo que exista apenas um processo em execução, ele não pode usar as últimas 512 páginas para deixar folga para novos processos

Examinando as Páginas Livres Um thread daemon, o gerenciador de balanceamento de conjuntos, executa a cada segundo e verifica se há páginas livres suficientes; Se não houver, ele inicia o thread gerenciador de conjuntos de trabalho que recupera mais páginas; Inicialmente é definida a ordem em que os processos são examinados: processos grandes ociosos por longo tempo são examinados primeiro. Processos ativos, pequenos e em primeiro plano são os últimos. 18

19 Examinando um Processo Se um processo estiver abaixo do mínimo ou tenha causado mais de um certo número de faltas de página ele será ignorado. Caso contrário, uma ou mais páginas serão removidas; O número de páginas a ser removido é uma função do tamanho da RAM, da quantidade de memória disponível, do tamanho do conjunto de trabalho comparado ao mínimo e máximo e outros parâmetros; As páginas são examinadas uma após a outra.

Examinando uma Página: Se o bit de referência está desligado, é incrementado um contador associado à página; Se estiver ligado, o contador é zerado; As páginas cujos contadores possuem maior valor são removidas do conjunto de trabalho. 20

Gerenciamento de Memória Física Existem quatro filas de páginas livres: Lista de páginas modificadas (sujas) Lista de páginas disponíveis (limpas) Estas duas primeiras contêm as páginas recentemente removidas de um conjunto de trabalho que ainda estão na memória e ainda associadas com o processo que as estava usando. Lista de páginas livres Páginas limpas não associadas a nenhum processo Listas de páginas zeradas Páginas preenchidas com zero. 21

Gerenciamento de Memória Física 22

23 Gerenciamento de Memória Física Gerenciador de conjuntos de trabalho remove uma página de um conjunto de trabalho ela vai para a lista de páginas modificadas ou disponíveis; Se ocorrer uma falta de página elas podem voltar ao conjunto de trabalho; O processo termina e suas páginas são liberadas; Dois daemons (escritor de páginas mapeadas e escritor de páginas modificadas) acordam periodicamente e caso não existam páginas limpas suficientes eles retiram da lista de páginas modificadas, escrevem-nas no disco e passam para a lista de páginas disponíveis.

Gerenciamento de Memória Física Processo remove o mapeamento de um página e ela vai para a lista de livres; Ao ocorrer uma falta de página um bloco livre é obtido da lista de livres; O thread de zerar páginas zera as páginas da lista de livres, colocando-as na lista de páginas zeradas. 24

Monitoramento de Páginas e Listas O Windows mantêm um banco de estruturas de páginas com uma entrada para cada bloco da memória RAM; Esta tabela é indexada pelo número do bloco; As entradas possuem tamanho fixo mas formatos diferentes para tipos diferentes; 25

Monitoramento de Páginas e Listas As entradas possuem: Estado da página; Quantas tabelas de página apontam para o bloco; Qual o conjunto de trabalho que a possui; Ponteiro para a tabela de página; Ligação para a página seguinte da lista; Outros campos e sinalizadores. 26

Monitoramento de Páginas e Listas 27