Capítulo 4 Gerenciamento de Memória



Documentos relacionados
Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

Gerenciamento Básico B de Memória Aula 07

Gerenciamento de memória

Sistemas Operacionais

Sistema de Memórias de Computadores

armazenamento (escrita ou gravação (write)) recuperação (leitura (read))

Gerenciamento de memória

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

Memória cache. Prof. Francisco Adelton

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas de Arquivos. André Luiz da Costa Carvalho

Programação de Sistemas

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Nível da Arquitetura do Conjunto das Instruções

Gerência do Sistema de Arquivos. Adão de Melo Neto

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas Operacionais

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

4) Abaixo está representado o nó_i do arquivo SO.txt em um sistema UNIX.

Arquitetura e Organização de Computadores

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

Sistemas Operacionais

ARQUITETURA DE COMPUTADORES

2. A influência do tamanho da palavra

Organização de Computadores Prof. Alex Vidigal Bastos

Arquitetura e Organização de Computadores

Capítulo 6. Gerenciamento de Arquivos. 6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos

Sistemas Operacionais. Prof. André Y. Kusumoto

Introdução. Hardware (Parte II) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

AULA: Introdução à informática Computador Digital

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

COS767 - Modelagem e Análise Aula 2 - Simulação. Algoritmo para simular uma fila Medidas de interesse

Paralelismo a Nível de Instrução

Arquitetura de Sistemas Operacionais

Sistemas Operativos I

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual

Introdução à estrutura e funcionamento de um Sistema Informático

BC Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

Estruturas do Sistema de Computação

Sistemas Operacionais

Introdução a Informática. Prof.: Roberto Franciscatto

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Sistemas Operacionais

Montagem e Manutenção. Luís Guilherme A. Pontes

Introdução a Organização de Computadores Aula 4

DISPOSITIVOS DE BLOCO. Professor: João Paulo de Brito Gonçalves

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE : SÃO CAETANO DO SUL - SP - CEP:

Tudo o que você precisa saber sobre cartões de memória

Capítulo 4 Gestão da memoria

Sistema de arquivos. Dispositivos com tecnologias variadas. CD-ROM, DAT, HD, Floppy, ZIP SCSI, IDE, ATAPI,... sistemas de arquivos em rede

Simulado Informática Concurso Correios - IDEAL INFO

Gerenciando a memória

AULA 16 - Sistema de Arquivos

implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos,

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Sistemas Operacionais. Professor Leslier Soares Corrêa

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

MEMÓRIA M.1 - HIERARQUIA DE MEMÓRIAS NUM COMPUTADOR DIGITAL

Sistemas Operativos. Gestão de memória. Rui Maranhão

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Circuitos de Memória: Tipos e Funcionamento. Fabrício Noveletto

Sistemas Operacionais Aula 2

Memória Cache. Prof. Leonardo Barreto Campos 1

Organização de Computadores 1

1. Arquivos Seqüenciais

Mais configuração OptraImage

Informática Básica. Arquitetura de Computadores. Marcelo Diniz

Algoritmos e Programação Aula 01 Introdução a Computação

Conceitos e Gerenciamento de Memória

Organização de Computadores Como a informação é processada?

Memória primária Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Entradas/Saídas. Programação por espera activa Programação por interrupções

Estrutura Interna do KernelUNIX Sistema O. Estrutura Interna de Arquivos (1) Estrutura Seqüência. User application. Standard Unix libraries

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Introdução à Engenharia de Computação

Microsoft Access INTRODUÇÃO. Sumário INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO. O que é Banco de Dados?

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

Algoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira

Sistemas Operacionais Processos e Threads

Nível do Sistema Operacional

Sistemas de Arquivos. Arquivos e Diretórios Características e Implementação Tadeu Ferreira Oliveira - tadeu.ferreira@ifrn.edu.br

Memórias Prof. Galvez Gonçalves

Arquitetura de Computadores. Tipos de Instruções

Tecnologia da Informação. Prof Odilon Zappe Jr

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

Fundamentos de Sistemas Operacionais

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Instalar uma versão do Ubuntu de 32 bits ou de 64 bits?

Transcrição:

Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição de páginas 4.6 Questões de projeto para sistemas de paginação 4.7 Questões de implementação 4.8 Segmentação 1

Gerenciamento de Memória Dilema do projetista: Usar tecnologias que provêm memória de grande capacidade Atingir metas de desempenho com memórias de baixa capacidade e tempo de acesso rápido (de alto custo) Não depender de uma única tecnologia ou componente de memória Hierarquia de memória 2

Gerenciamento de Memória Questões relacionadas as restrições de projeto da memória de um computador: Quanto? Quão rápida? Quão cara? Quanto Quão rápida Quão cara questão aberta memória tem que acompanhar a velocidade do processador custo razoável em relação a outros componentes Ponderação entre custo, capacidade e tempo de acesso 3

Gerenciamento de Memória regs cache Memória principal Cache de disco Disco magnético Discos óticos < Custo/bit > Capacidade > T acesso < Freq acesso da memória pela CPU Fita magnética Hierarquia da memória 4

Gerenciamento de Memória Qual a chave do sucesso no projeto da memória? Diminuir a freqüência de acesso Como? Princípio da localidade de referência Organização dos dados de forma hierárquica de tal forma que a porcentagem de acessos a um nível seja substancialmente menor que a do nível acima da hierarquia Ex.: Cache RAM Disco 5

Gerenciamento de Memória Programas Reais exibem Localidade de Referência Página de memória referenciada tempo 6

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 7

Gerenciamento Básico de Memória Monoprogramação sem Troca de Processos ou Paginação Programa do Usuário S.O. em RAM S.O. em ROM Programa do Usuário Drivers de Dispositivos em ROM Programa do Usuário S.O. em RAM Três maneiras simples de organizar a memória - Um sistema operacional e um processo de usuário 1. Usuário digita comando 2. S.O. carrega programa solicitado do disco para a memória 3. Executa e termina 4. S.O. emite prompt e espera próximo comando 5. S.O. carrega processo sobre anterior Monoprogramação raramente utilizada 8

Multiprogramação com Partições Fixas Partição 4 700K Partição 4 Partição 3 Partição 2 Partição 1 S.O. 400K 200K 100K 0K Partição 3 Partição 2 Partição 1 S.O. Filas múltiplas de entrada (a) Fila única de entrada (b) Partições fixas de memória a) filas de entrada separadas para cada partição b) fila única de entrada 9

Gerenciamento de Memória Motivações para multiprogramação: é mais fácil programar uma aplicação quebrando-a em dois ou mais processos mais que um processo na memória melhora o desempenho para várias pessoas ao mesmo tempo a maioria dos processos gastam boa fração de seu tempo esperando a conclusão de operações de ee/s exemplo: processo fica num loop lendo blocos de dados e executa alguma computação sobre os dados lidos. 40 msec para ler um bloco 10 msec para computação na monoprogramação significa cpu ociosa 80% do tempo 10

Gerenciamento de Memória Modelagem da Multiprogramação 1o. Modelo: Um processo computa 20% de seu tempo de memória. Cinco processos na memória, de uma vez CPU ocupada 100% Modelo não realista não assume que os cinco processos podem esperar por E/S ao mesmo tempo 2o. Modelo: Um processo gasta uma fração p de seu tempo em operações de E/S Para n processos em memória, a probabilidade de que todos os processos estejam esperando por E/S (isto é a CPU ociosa) é pⁿ Utilização da CPU = 1 - pⁿ 3o. Modelo: Teoria das filas 11

Gerenciamento de Memória Modelagem da Multiprogramação Utilização da CPU (em %) 120 100 80 60 40 20 0 0 1 2 3 4 5 6 7 8 9 10 Número de Processos 80% E/S 50% E/S 20% E/S 80% de tempo de espera para processos interativos é comum Processos em lote com 80% ou mais tempo de espera é comum Assume que todos os processos são independentes Processos não são independentes!!! 12

Gerenciamento de Memória Modelagem da Multiprogramação Exemplo: Computador de 1MB S.O. ocupa 200KB Cada programa do usuário ocupa 200KB Espera por E/S: 80% Utilização da CPU = 1 - pⁿ = 1 0,84 = 60% e se for adicionado 1MB a mais? e se for adicionado um 3 o MB? é um bom investimento? 13

Relocação e Proteção (1) 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 Como impedir que um programa de usuário leia e/ou escreva na memória de outro usuário? (endereços de memória são absolutos) Solução da IBM: Dividir a memória em blocos de 2K (4 bits de proteção de bloco). PSW contém a chave de 4 bits. 14

Relocação e Proteção (2) Solução para proteção e relocação: Uso de registradores especiais de hardware (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 maior que o valor limite indicam erro Desvantagem: necessárias uma adição e uma comparação a cada referência à memória 15

Relocação e Proteção (3) Exemplo: Partição n 100 Base Partição 1 S.O. 200 100 0 100 Limite (comprimento da partição) Todo endereço na memória gerado automaticamente tem o conteúdo do registrador Base adicionado a ele antes de ser enviado para a memória Endereços são checados contra o registrador limite Hardware protege esses registradores contra acessos indevidos 16

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 Desvantagem: Memória muito fragmentada. Requer compactação de memória (pouco utilizada => muito processamento) 17

Troca de Processos (2) Quanto de memória alocar para um processo?? a) Alocação de espaço para uma área de dados em expansão b) Alocação de espaço para uma pilha e uma área de dados, ambos em expansão 18

Gerenciamento de Memória com Mapas de Bits (1) (a) (b) Mapa de bits Memória é dividida em unidades de alocação Um bit corresponde a uma unidade de alocação (0 se livre e 1 se ocupada) Como trazer um processo com K unidades para a memória? 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 correspondente 19

Gerenciamento de Memória com Mapas de Bits (2) Gerenciamento de memória com mapas de bits Qual deve ser o tamanho da unidade de alocação? (grande x pequeno) Vantagem do mapa de bits Forma simples de gerenciamento (o tamanho do mapa de bits depende do tamanho da memória e do tamanho da unidade de alocação) Desvantagem do mapa de bits Busca é lenta quando se precisa de um número consecutivo de bits vazios (para acomodar um processo de k unidades) 20

Gerenciamento de Memória com Lista Encadeada (1) Gerenciamento de Memória com Lista Encadeada Lista de segmentos (Processo-P, Vazio-H, endereço de início, comprimento, ponteiro para próximo) 21

Gerenciamento de Memória com Lista Encadeada (2) Antes do Processo X terminar Depois de X terminar Quatro combinações de vizinhança para o processo X em término de execução 22