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

Tamanho: px
Começar a partir da página:

Download "Gerência de Memória. Alocação"

Transcrição

1 Gerência de Memória Alocação

2 Introdução Atribuição de Endereços, Carregamento Dinâmico, Ligação Dinâmica Espaço de Endereçamento Físico versus Lógico Alocação Contígua Simples Overlay Alocação Particionada Fragmentação Externa e Interna Gerência de Memória com Mapeamento de Bits Gerência de Memória com Listas Ligadas Algoritmos de Alocação de Partições Swapping 2

3 Memória um dos mais importantes recursos de um computador necessidade de ser gerenciada Programas devem ser colocados dentro de um processo e então carregados em memória para serem executados. Input queue coleção de processos no disco que estão aguardando carregamento em memória para executarem o programa. Funções de um Gerente de Memória controlar quais partes da memória estão em uso controlar quais partes estão livres alocar memória a processos quando estes precisarem desalocar quando eles não mais necessitarem gerenciar a troca (swapping ) dos processos entre memória principal e disco, quando a memória não é grande o suficiente para guardar todos os processos 3

4 A CPU busca instruções da memória de acordo com o valor do contador de instruções (PC) do programa em execução. Essas instruções podem: buscar novos valores de endereços específicos da memória armazenar novos valores em posições específicas da memória Programas de usuário passam por vários passos antes de começarem a ser executados. UAL UC PC Registrador Registrador Instrução Parâmetros Resultado Memória Principal 4

5 A maioria dos sistemas permite que os processos de usuários sejam colocados em qualquer parte da memória assim, embora o espaço de endereçamento comece em 0000, o endereço inicial de um processo não precisa ser este. A ligação de endereços de instruções e de dados para os endereços de memória podem acontecer em 3 estágios diferentes: Em tempo de compilação código absoluto: se o programa vai ser carregado no endereço E, o código gerado pelo compilador inicia-se neste endereço (se for alterado, deve ser recompilado). Ex.:.COMʼʼ do DOS Programa Fonte compilador ou montador Código Objeto tempo de compilação 5

6 Em tempo de carga código relocável: quando não se conhece em tempo de compilação a posição em que o programa será armazenado. Ex.: Compilador: 14 bytes do início Carregador: Código Objeto ligador Cód Obj de outros módulos tempo de carga Código Relocável Biblioteca de sistema carregador 6

7 Em tempo de execução se o processo pode ser movido durante sua execução, a determinação do endereço deve ser atrasada para o tempo de execução há a necessidade de suporte de hardware para o mapeamento de endereços (p.ex.: registradores base e limite) carregador Código binário executável Biblioteca de sistema Biblioteca de sistema carregada dinamicamente tempo de execução 7

8 O conceito de um espaço de endereçamento lógico que está associado a um espaço de endereçamento físico separado é central ao adequado gerenciamento da memória. Endereço Lógico gerado pela CPU; também conhecido como endereço virtual. Endereço Físico endereço visto pela unidade de memória. Endereços Lógico e Físico são os mesmo nos esquemas de atribuição de endereços em tempo de compilação e em tempo de carga. Endereços Lógico e Físico diferem quando se usa esquema de atribuição de endereços em tempo de execução. 8

9 Dispositivo de hardware que mapeia endereços virtuais em endereços físicos. Através da MMU, o valor do registrador de relocação é adicionado a todo endereço gerado pelo processo do usuário no instante em queee é enviado à memória. O programa do usuário lida com endereços lógicos; ele nunca vê o endereço físico real. 9

10 Registrador Base CPU Endereço Endereço Lógico Físico #346 + #14346 Memória Principal MMU Unidade de Gerenciamento de Memória 10

11 Rotina não é carregada até que ela seja chamada Melhor utilização do espaço de memória Rotinas que não são usadas nunca são carregadas. Útil quando grandes quantidades de código são necessárias para manipular casos pouco freqüentes. Nenhum suporte especial do S.O. é requerido Implementado através do projeto do programa. 11

12 A ligação (linking) é adiada até o tempo de execução. Stub: um pequeno pedaço de código usado para a localização da rotina dinâmica, residente em memória, apropriada. O stub substitui a si próprio com o endereço da rotina e a executa. É necessário o suporte do S.O. para verificar se a rotina está no endereço de memória dos processos. Ligação Dinâmica é particularmente útil para bibliotecas. Economia de espaço Atualização Controle de concorrência 12

13 Toda vez que desejarmos executar um programa (residente em memória secundária), deveremos, de alguma forma, carregá-lo para a memória principal, para que o processador possa referenciar suas instruções e seus dados Nos sistemas monoprogramados a gerência da memória não é muito complexa, mas nos sistemas multiprogramados ela se torna crítica A seguir apresentaremos os principais esquemas de organização e gerência da memória principal 13

14 Implementada nos primeiros SOs e ainda está presente em alguns sistemas monoprogramados Esquema mais simples para gerência de memória A memória principal é dividida em duas partes: uma para o Sistema Operacional outra para o(s) programa(s) do(s) usuário(s) SO pode ocupar tanto a parte baixa quanto a parte mais alta da memória, dependendo da localização do vetor de interrupções 14

15 No IBM-PC é utilizado o terceiro modelo: nos 8KB mais altos dos 1 MB de endereçamento existe uma ROM com um programa chamado BIOS (Basic Input Output System), correspondente a todos os drivers 0xFF 0x00 Memória Principal Área para o processo do usuário Sistema Operacional em RAM Memória Principal Sistema Operacional em ROM Área para o processo do usuário Memória Principal Drivers de dispositivos em ROM Área para o processo do usuário SO em RAM 15

16 Usuário tem controle sobre toda a memória principal, podendo acessar até a área do SO (caso do DOS) PROTEÇÃO: Pode-se implementar um esquema de proteção usando um registrador que delimite as áreas do SO e usuário Memória Principal Sistema Operacional Registrador Área para o processo do usuário 16

17 Sempre que um programa do usuário faz referência a um endereço de memória, o sistema verifica se o endereço está nos seus limites (registrador base e registrador limite). Caso não esteja, o programa de usuário pode ser cancelado e ser gerada uma mensagem de erro CPU Endereço Lógico Registrador Limite < Registrador Base + Endereço Físico Memória Principal MMU interrupção de software; erro de endereçamento 17

18 Problemas: não permite a utilização eficiente do processador e nem da memória principal, além de limitar o tamanho do programa do usuário Memória Principal Em SOs que suportam o conceito de MULTIPROGRAMAÇÃO, é preciso que existam outras formas de organização da memória principal, a fim de suportar vários processos na memória simultaneamente Sistema Operacional Processo do Usuário Área Livre 18

19 Sobreposição (Overlay) (usuário) O que fazer quando se tem um programa que ocupa mais memória do que a disponível? Verifica-se se o programa tem seções que não necessitem permanecer na memória durante toda a execução Mantém-se na memória somente aquelas instruções e dados que são necessários a qualquer hora. Essas seções, uma vez executadas, podem ser substituídas por outras A substituição ocorre pela transferência da seção do disco para a memória na área de overlay, cobrindo a seção anterior O programa é inicialmente carregado mais rapidamente, entretanto, a execução ficará um pouco mais lenta, devido ao tempo extra gasto com a sobreposição 19

20 50K 20K Armazenamento Primário Parte fixa do processo Rotina de controle de overlay Fase inicial 50K Armazenamento Secundário Fase intermediária 30K Fase final 80K 80K Área de Overlay 20

21 O mecanismo de overlay é pouco transparente, pois a definição das áreas de overlay é função do programador (não é do SO), através de comandos específicos da linguagem utilizada. Dependendo da definição, pode ocasionar sérias implicações no desempenho das aplicações, devido à transferência excessiva dos módulos entre o disco e a memória 21

22 Motivação: tornar mais fácil programar uma aplicação, dividindo-a em dois ou mais processos existência de serviço interativo para vários usuários simultaneamente (tempo de resposta) utilização da CPU (existência de processos I/O bound ) Modelos de Multiprogramação Modelos Simplista Se cada processo gasta 20% de seu tempo na memória usando o processador, então 5 processos alcançam um fator de utilização da CPU de 100% E se os 5 processos esperam por E/S simultaneamente? 22

23 Modelo Probabilistico Cada processo gasta p% de seu tempo com E/S n processos probabilidade de estarem aguardando E/S simultaneamente: p n Exemplo: F.U. CPU = 1 - p n 1 MB de memória, SO de 200K, processos de 200K e cada um gasta 80% do tempo com E/S 4 processos na memória FU CPU 60% Adição de 1 MB de RAM grau de 4 p/ 9 FU 87% Adição de mais 1 MB de RAM grau de multiprogramação de 9 para 14 FU 96% 23

24 Nos primeiros SOs multiprogramados a memória principal era dividida em pedaços de tamanho fixo (possivelmente distintos), chamados partições O tamanho das partições era estabelecido na fase de inicialização do sistema (boot), em função dos tamanhos dos programas que iriam ser executados alteração de tamanho de partição Tabela de partições Partição reinicialização Tamanho 1 2 KB 2 5 KB 3 8 KB Programas a serem executados E D C B A 3KB 6KB 1KB 4KB 2KB Memória Principal Sistema Operacional Partição 1 Partição 2 Partição 3 2 KB 5 KB 8 KB 24

25 A proteção baseia-se em dois registradores, que indicam os limites inferior e superior da partição onde o programa está sendo executado Acessos do processo usuário provocam a comparação com o registrador limite, caso haja invasão, o processo é terminado com uma mensagem de erro. Memória Principal Endereço inicial Sistema Operacional Endereço final Partição 1 Partição 2 Partição 3 25

26 E as chamadas aos serviços do SO? Isto é resolvido através da instrução chamada ao supervisor (supervisor call ) Modo Usuário versus Modo Supervisor Modo Usuário: Execução das instruções disponíveis aos usuários Modo Supervisor: Todas as instruções permitidas (não é feita comparação com o registrador limite) A passagem do modo usuário para o modo supervisor ocorre quando da solicitação de um serviço 26

27 Partições Fixas com Filas Múltiplas: processo é colocado em uma partição determinada. Se estiver ocupada, aguarda na fila; ou, processo é colocado na fila da menor partição em que caiba Problema: partições não utilizadas Programas a serem executados Memória Principal Sistema Operacional Partição 1 Partição 2 Partição 3 27

28 Partições Fixas com Fila Única: fila única para todas as partições; processo é colocado na fila da menor partição disponível em que caiba Memória Principal Programas a serem executados Sistema Operacional Partição 1 Partição 2 Partição 3 28

29 Problema: colocação de um programa pequeno em uma partição grande partições vazias por falta de clientes Uma tentativa de solução: correr toda a fila antes de escolher o cliente Problema: discrimina pequenos processos 29

30 Em sistemas em que os compiladores e montadores geram apenas código absoluto, os processos podem executar em apenas uma das partições, mesmo que outras estejam livres Programas a serem executados C E A B D Memória Principal Sistema Operacional 2 KB Partição 1 Partição 2 5 KB 8 KB Partição 3 Se os processos A e B estivessem executando e a partição 3 estivesse livre, os processos C e E não poderiam ser executados 30

31 Com a evolução dos compiladores, linkers e loaders, tornou-se possível a geração de código relocável, permitindo que os processos sejam carregados em qualquer uma das partições Programas a serem executados D E 6KB 3KB Memória Principal Sistema Operacional 2 KB Processo C Processo A 5 KB 8 KB Processo B Se os processos A e B terminarem de executar, o processo E pode ser carregado e executado em qualquer uma das duas partições 31

32 Problema da APE: fragmentação excessiva Fragmentação é o problema que surge quando pedaços de memória ficam impedidos de serem utilizados por outros processos. Memória Principal Programas a serem executados D B 6KB 4KB Sistema Operacional Processo C Processo A Processo E 1 KB 3 KB 3 KB 32

33 Visa reduzir o problema da fragmentação e, consequentemente, aumentar o grau de compartilhamento da memória É eliminado o conceito de partições de tamanho fixo Na APD, cada processo utiliza o espaço necessário, passando esse pedaço a ser a sua partição Memória Principal Programas a serem executados A E C B 2KB 3KB 1KB 4KB Sistema Operacional 11 KB Sistema Operacional Processo B Processo C Processo E Processo A 4 KB 1 KB 3 KB 2 KB 1 KB 33

34 0 400K 2560K Memória Principal Sistema Operacional Fila de processos Processo Tamanho Tempo P 1 P 2 P 3 P 4 P 5 600K 1000K 300K 700K 500K

35 0 400K 0 so so so so so 400K 0 400K 0 400K 0 400K 1000K P 1 P 1 P 1 P 5 900K 1000K 1000K 1000K 1000K 2000K 2300K P 2 P 2 termina 2000K 2300K 2000K 2300K P 4 P aloca 4 P 4 aloca P 1 a P 4 termina 1700K 1700K 2000K 2300K a P K 2000K P 3 P 3 P 3 P 3 P K 2560K 2560K 2560K 2560K 2560K 35

36 Neste esquema, a fragmentação começa a ocorrer quando os processos forem terminando e deixando espaços cada vez menores na memória, não permitindo o ingresso de novos processos Programa a ser executado D 6KB Memória Principal Sistema Operacional 4 KB Processo C 1 KB 3 KB Processo A 2 KB 1 KB Apesar da existência de 8 Kbytes de memória livre, o processo D não poderá ser carregado 36

37 Soluções para a fragmentação: Primeira: aglutinar espaços livres adjacentes em um único espaço de tamanho maior. No exemplo anterior, caso o processo C termine, teríamos: Memória Principal Sistema Operacional 4 KB Memória Principal Sistema Operacional Processo C 1 KB 3 KB 8 KB Processo A 2 KB 1 KB Processo A 2 KB 1 KB 37

38 Como gerenciar? (ver tópico Gerência de Uso da Memória) Mapa de Bits Lista de partições ocupadas Lista de partições livres Ao término do processo, um buraco pode ser: adicionado à lista de partições livres (caso a nova partição livre esteja cercada de partições ocupadas) incorporada a uma das partições da lista de partições livres (caso o buraco seja adjacente a uma partição livre) Não resolve completamente o problema (pode haver buracos pequenos...) 38

39 Segunda: fazer uma relocação de todas as regiões ocupadas (movimento de todos os processos), eliminando todos os espaços entre elas e criando-se uma única área livre contígua. Este método é conhecido como compactação. Memória Principal Memória Principal Sistema Operacional Processo C Processo A 4 KB 1 KB 3 KB 2 KB 1 KB Sistema Operacional Processo C Processo A 1 KB 2 KB 8 KB 39

40 Problemas: Consumo de recursos (grande quantidade de área em disco e de tempo de processador consumido em sua implementação) Sistema necessita parar (pode ser desastroso para sistemas de tempo real) 40

41 Modos de Compactação 0 300K so 0 300K so 0 so 300K 0 so 300K 500K 600K 1000K 1200K 1500K 1900K P 1 P 2 400K P 3 300K P 4 200K 2100K Configuração inicial 500K 600K 800K 1200K P 1 P 2 P 3 P 4 900K 2100K 600K transferidos K 600K 1000K 1200K P 1 P 2 P 4 P 3 900K 2100K 400K transferidos 500K 600K 1500K 1900K P 1 P 2 900K P 4 P K 200K transferidos

42 Fragmentação Externa: existe memória suficiente para satisfazer uma requisição, mas ela não é contínua Estatisticamente, de cada N blocos alocados, N/2 blocos são perdidos devido à fragmentação (33%) Fragmentação Interna: Memória Principal memória interna a uma partição, mas que não é usada. Ex.: requisição de bytes Sistema Operacional Processo bytes Uma solução para fragmentação externa é compactação Processo 43 42

43 Memória subdividida em unidades de alocação A cada unidade de alocação 1 bit no mapa Se bit é 0, esta parte da memória está livre Se bit é 1, está ocupada Tamanho da unidade de alocação versus tamanho do mapa Se a unidade de alocação for de 4 bytes a parte da memória gasta com este mapa é de apenas 3% Se a unidade for maior tamanho do mapa é menor, mas aumenta o desperdício de memória (fragmentação interna) Desvantagem: para encontrar k unidades de alocação livres percorrer mapa inteiro procurando k bits iguais a zero muito lento! 43

44 (a) Parte da memória (b) Mapa de bits correspondente (c) Lista ligada correspondente 44

45 Lista ligada de segmentos alocados e de segmentos livres Ordenação por endereços rápida atualização quando do término/remoção da memória Possíveis combinações para a conclusão de um processo X: A X A X X X B B após o término de X fica Com listas duplamente encadeadas a tarefa é ainda mais simples! A A B B 45

46 Como atender uma requisição de tamanho n a partir de uma lista de buracos livres? Estratégias de alocação de memória para escolher o ponto em que deve ser carregado um processo recém criado ou que veio do disco por troca (swapped in) Listas separadas para processos e buracos: First-fit: mais rápido na busca por buracos mais lento na liberação de memória variante: os próprios buracos podem ser usados para implementar a lista de partições livres A lista de partições livres é percorrida e a primeira partição suficientemente grande para o pedido é escolhida A lista pode ser mantida em ordem aleatória ou ordenada em ordem crescente de endereço rápido 46

47 Memória Principal Memória Principal Sistema Operacional 3 KB Sistema Operacional Processo F 2 KB F 1 KB Processo C 4 KB Processo C Processo A 2 KB Processo A 47

48 Next-fit: Idêntico ao First-fit com a diferença que a busca se inicia a partir do último ponto em que encontrou um buraco Best-fit: desempenho ligeiramente mais lento que o First-fit A lista de partições livres é percorrida e a menor partição suficientemente grande para o pedido é escolhida A lista é ordenada em ordem crescente de tamanho lento se a lista não estiver ordenada (teria que percorrer a lista inteira) desempenho ruim devido a muitos buracos pequenos (fragmentação externa) 48

49 Memória Principal Memória Principal Sistema Operacional Sistema Operacional 3 KB F 1 KB Processo C 4 KB Processo C Processo A 2 KB Processo A Processo F 1 KB 49

50 Worst-fit: A lista de partições livres é percorrida e a maior partição suficientemente grande para o pedido é escolhida A lista é ordenada em ordem decrescente de tamanho Quick-fit: diminui um pouco o problema da fragmentação Listas separadas para alguns tamanhos mais comuns especificados (por exemplo, uma fila para 2K, outra para 4K, outra para 8K, etc) busca por buraco rápida entretanto, a liberação de memória é lenta (reagrupar buracos e modificá-los de fila) 50

51 Memória Principal Memória Principal Sistema Operacional 3 KB Sistema Operacional F 1 KB Processo C 4 KB Processo C Processo F 3 KB Processo A 2 KB Processo A 51

52 Mesmo com o aumento da eficiência da multiprogramação e da gerência de memória, muitas vezes um programa não podia ser executado por falta de uma partição livre disponível Em todos os esquemas apresentados anteriormente, um programa permanecia na memória principal até o final de sua execução, inclusive nos momentos em que esperava por um evento, como uma operação de E/S Uma solução é a técnica de swapping, cujo objetivo é o de liberar espaço na RAM para que outros processos possam ser carregados e executados Backing store disco rápido e grande o suficiente para acomodar cópias de todas as imagens de memória para todos os usuários Versões modificadas de swapping são encontradas em vários sistemas (p.ex., UNIX, Linux e Windows). 52

53 Neste esquema, o SO escolhe um programa residente na memória principal, levando-o da memória para o disco (swap out) Memória Principal Sistema Operacional H 4 KB Processo C Processo A Processo G Processo B A 53

54 Posteriormente, o processo retorna para a memória principal (swap in), como se nada tivesse ocorrido Memória Principal Sistema Operacional A Swap in Processo C Processo H Processo G 54

55 Mapeamento de espaço lógico em espaço físico de endereçamento, em tempo de carregamento, torna ineficiente recarregar o processo em outra região física diferente da do primeiro carregamento Solução: Introdução de hardware que faça o mapeamento durante a execução do processo: interceptador de endereços lógicos que soma um valor base aos mesmos, produzindo o endereço físico Não há mais necessidade da tabela de endereços relocáveis 55

56 Relocação Estática: Mapeamento em tempo de carregamento Relocação Dinâmica: Mapeamento durante a execução Endereço Lógico = Endereço Virtual É o valor de um deslocamento em relação ao início do programa 56

57 Exemplo de hardware para mapeamento Contém o endereço físico onde foi carregado o início do programa Registrador Base Instrução Operação End. Lógico + Endereço Físico = Endereço Real (disponível na memória) 57

58 Proteção em relocação dinâmica Consiste em comparar o endereço físico com o comprimento do programa Instrução de chamada ao supervisor Separação entre dados e instruções Permite o compartilhamento de instruções por dois ou mais processos Permite duplicar o tamanho máximo do espaço lógico Exige a duplicação do hardware necessário para relocação e proteção 58

59 Garantir espaço em disco sempre que algum processo é swapped out Os algoritmos para gerenciar o espaço alocado em disco para swapping são os mesmos de gerência da memória principal Em alguns sistemas, isto é feito somente no momento da criação do processo e tal espaço permanece reservado A única diferença é que a quantidade de espaço reservado no disco deve ser um múltiplo do tamanho dos blocos do disco 59

Gerência de Memória. Execução de um Programa (1) Introdução. Introdução

Gerência de Memória. Execução de um Programa (1) Introdução. Introdução Introdução Gerência de Memória (Aula 18) Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será

Leia mais

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais GERÊNCIA DE MEMÓRIA SUMÁRIO 5. GERÊNCIA DE MEMÓRIA: 5.1 Introdução; 5.2 Funções Básicas; 5.3 Alocação Contígua Simples; 5.4 Técnica de Overlay; ; 5.6 Swapping.

Leia mais

Gerência de Memória Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será o compartilhamento

Leia mais

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

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition Capítulo 8: Memória Principal Silberschatz, Galvin and Gagne 2009 Objetivos Fornecer uma descrição detalhada das várias formas de organizar a memória do computador Discutir várias técnicas de gerenciamento

Leia mais

Sistemas Operacionais Gerência de Memória

Sistemas Operacionais Gerência de Memória Universidade Estadual de Mato Grosso do Sul UEMS Curso de Computação, Licenciatura Sistemas Operacionais Gerência de Memória Prof. José Gonçalves Dias Neto [email protected] Introdução A memória

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6 Gerenciamento de Memória Prof. Galvez Considerações Gerais Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada de

Leia mais

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

Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386 Segmentação com paginação Intel 386 O processador Intel 386 usava segmentação com paginação para gerenciamento de memória com um esquema de paginação em dois níveis. Esquema de tradução de endereço Intel

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais GERÊNCIA da MEMÓRIA MACHADO/MAIA: CAPÍTULO 09 Prof. Pedro Luís Antonelli Anhanguera Educacional Gerenciamento da Memória Programas precisam ser trazidos para a memória para serem

Leia mais

SISTEMAS OPERACIONAIS. Gerência de Memória Apostila 7

SISTEMAS OPERACIONAIS. Gerência de Memória Apostila 7 SISTEMAS OPERACIONAIS Gerência de Memória Apostila 7 1.0 INTRODUÇÃO Historicamente, a memória principal sempre foi vista como um recurso escasso e caro. Uma das maiores preocupações dos projetistas foi

Leia mais

IFPR Instituto Federal do Paraná. Curso Técnico em Informática GERÊNCIA DE MEMÓRIA. SO Sistemas Operacionais. Professora Elaine Augusto Praça

IFPR Instituto Federal do Paraná. Curso Técnico em Informática GERÊNCIA DE MEMÓRIA. SO Sistemas Operacionais. Professora Elaine Augusto Praça IFPR Instituto Federal do Paraná Curso Técnico em Informática GERÊNCIA DE MEMÓRIA SO Sistemas Operacionais Professora Elaine Augusto Praça MACHADO, Francis B., Arquitetura de Sistemas Operacionais, RJ,

Leia mais

Sistemas Operacionais. - Gerência de Memória -

Sistemas Operacionais. - Gerência de Memória - Sistemas Operacionais - Gerência de Memória - Gerenciamento de Memória A organização e a gerência de memória são fatores importantes no projeto de sistemas operacionais Um dos objetivos é desenvolver um

Leia mais

Gerência de Memória. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 45

Gerência de Memória. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 45 Gerência de Memória Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 45 Sumário 1 Introdução 2 Espaços de endereçamento 3 Realocação estática e

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Primária 29/04/204 Prof. Valeria M. Bastos ORGANIZAÇÃO DA UNIDADE Processador - Escalonamento Memória Primária Fundamentos Formas de Particionamento

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Conceitos básicos Swapping Alocação contígua Paginação Segmentação Segmentação com paginação Atribuição de endereços (ligação) de código e dados na memória A atribuição de endereços

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Memória Introdução Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar Conceitos

Leia mais

Sistemas Operacionais. Gerência de Memória

Sistemas Operacionais. Gerência de Memória Sistemas Operacionais Gerência de Memória Sumário 1. Introdução 2. Funções Básicas 3. Alocação Contígua Simples 4. Técnica de Overlay 5. Alocação Particionada 1. Estática 2. Dinâmica 6. Estratégias de

Leia mais

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. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física Aulas anteriores Gerência de Memória Introdução e Particionamento Marcelo Johann Ciclo de Compilação, ligação e carga INF - Sistemas Operacionais I N - Marcelo Johann - 9/ Aula : Slide INF - Sistemas Operacionais

Leia mais

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

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz ([email protected]) Jorge Cavalcanti Fonsêca ([email protected]) Gerenciamento de Memória Idealmente, o que todo programador deseja é dispor de

Leia mais

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

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Gerência de Memória Andreza Leite [email protected] Plano da Aula 2 Introdução Necessidade gerenciador de memória Sistemas gerenciais de memória Alocação contínua n Máquina

Leia mais

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

Gerência da Memória. Adão de Melo Neto Gerência da Memória Adão de Melo Neto 1 Memória Principal Antigamente Recurso escasso Desenvolvimento de um sistema operacional (SO) que não ocupassem muito espaço de memória principal (MP) Atualmente

Leia mais

Sistemas Opera r cionais Gerência de Memória

Sistemas Opera r cionais Gerência de Memória Sistemas Operacionais Gerência de Memória Gerência 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

Leia mais

Sistemas Operacionais Aula 12: Gerência de Memória. Ezequiel R. Zorzal

Sistemas Operacionais Aula 12: Gerência de Memória. Ezequiel R. Zorzal Sistemas Operacionais Aula 12: Gerência de Memória Ezequiel R. Zorzal [email protected] www.realidadeaumentada.com.br Objetivos Fornecer uma descrição de várias maneiras de organizar o hardware de memória.

Leia mais

Aula 10 Gerenciamento de Memória

Aula 10 Gerenciamento de Memória Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 10 Gerenciamento de Memória Capítulo9 PLT página159 2 1 Gerenciamento de

Leia mais

Fundamentos de Sistemas Operacionais. Gerência de Memória. Prof. Edwar Saliba Júnior Março de Unidade Gerência de Memória

Fundamentos de Sistemas Operacionais. Gerência de Memória. Prof. Edwar Saliba Júnior Março de Unidade Gerência de Memória Gerência de Memória Prof. Edwar Saliba Júnior Março de 2007 1 Memorial... Programas em execução e dados acessados por ele devem estar na memória principal (ou pelo menos parte dele); Porém, a memória principal

Leia mais

Gerência de Recursos. Gerência de Memória

Gerência de Recursos. Gerência de Memória Gerência de Recursos Gerência de Memória Alocação Particionada Dinâmica Na alocação particionada dinâmica ou variável, foi eliminado o conceito de partições de tamanho fixo. Nesse esquema, cada programa

Leia mais

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

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistema Operacional Como gerenciador de recursos, um sistema operacional é composto de vários módulos com funcionalidades

Leia mais

Arquitetura de Sistemas Operacionais. Francis Berenger Machado Luiz Paulo Maia. Capítulo 9 Gerência de Memória

Arquitetura de Sistemas Operacionais. Francis Berenger Machado Luiz Paulo Maia. Capítulo 9 Gerência de Memória Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 9 Gerência de Memória Cap. 5 Gerência de Memória 1 Sumário Introdução Funções básicas Alocação contígua simples Técnica

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Memória virtual Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/

Leia mais

MEMÓRIA LÓGICA E FÍSICA (1)

MEMÓRIA LÓGICA E FÍSICA (1) GERÊNCIA DE MEMÓRIA memória = vetor de palavras (ou bytes), cada uma com endereço próprio a memória é usada para armazenar os diversos programas em execução, bem como os dados sobre a execução dos programas

Leia mais

Ar qu it e t u r a a de e Sist e m a s Ope r a cion a is Fa bia n o o Ut iy a m a Ca pít u lo o 9 Ge r ê n cia a de e M e m ór ia

Ar qu it e t u r a a de e Sist e m a s Ope r a cion a is Fa bia n o o Ut iy a m a Ca pít u lo o 9 Ge r ê n cia a de e M e m ór ia Arquitetura de Sistem as Operacionais Fabiano Utiyam a Capítulo 9 Gerência de Mem ória 9/1 I ntrodução Nos sistemas monoprogramáveis a gerência de memória não é muito complexa Nos sistemas multiprogramáveis

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Slide 1 Memória Virtual os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida O PDP-1 funcionava com uma memória de 4096 palavras

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Clodoaldo Ap. Moraes Lima 1 Segmentação Objetivo Melhorar o aspecto de localidade de referência em sistemas de memória virtual Em sistema paginado, os itens que são transferidos

Leia mais

Arquitetura de Sistemas Operacionais

Arquitetura de Sistemas Operacionais Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência de Memória Virtual Cap 10 Gerência de Memória Virtual 1 Sumário Introdução Espaço de Endereçamento Virtual

Leia mais

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE I SUMÁRIO 2. PROCESSO: 2.1 Introdução; 2.2 Estrutura do Processo; 2.3 Estados do Processo; 2.4 Mudanças de Estado do Processo; 2.5

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Suporte ao Sistema Operacional Prof. Helcio

Leia mais

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória 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

Leia mais

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 5. PROCESSO: 5.1 Introdução; 5.2 Estrutura do Processo; 5.3 Estados do Processo; 5.4

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009 1ª Questão : Sobre o conceito de sistema operacional, escreva ao lado a soma dos números dos itens que considera corretos: (01) O conceito da máquina de níveis define o hardware como o nível mais baixo,

Leia mais

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

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3) Endereçamento Virtual (1) Gerência de Memória Paginação Espaço de endereçamento dos processos não linearmente relacionado com a física Cada vez que são usados, os endereços virtuais são convertidos pela

Leia mais

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

Gerência de Memória Memória Virtual e Paginação Memória Virtual e Paginação Carlos Gustavo A. da Rocha Memória virtual O tamanho das memórias aumenta rápido :) Mas o tamanho dos softwares aumenta mais rápido :( Devido a isto os SOs devem ser capazes

Leia mais

Sistemas Operacionais. Rômulo Silva de Oliveira Alexandre da Silva Carissimi Simão Sirineo Toscani

Sistemas Operacionais. Rômulo Silva de Oliveira Alexandre da Silva Carissimi Simão Sirineo Toscani 11 Sistemas Operacionais Rômulo Silva de Oliveira Alexandre da Silva Carissimi Simão Sirineo Toscani Introdução Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar

Leia mais

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Múltipla escolha 1. Em que consiste um sistema operacional: a. Um conjunto de

Leia mais

INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA

INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA Prof. Hélio Esperidião DEFINIÇÕES DE ARQUIVOS Um arquivo é basicamente um conjunto de dados armazenados em um dispositivo físico não-volátil, com

Leia mais

Gerência de memória III

Gerência de memória III Gerência de memória III Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 45 Sumário 1 Memória Virtual Segmentação Paginação 2 Alocação de páginas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais ESCALONAMENTO DE PROCESSOS Processos e Recursos Conceito de Escalonamento O S.O. gerencia recursos computacionais em benefício dos diversos processos que executam no sistema. A questão

Leia mais

AULA 14 - Memória Virtual

AULA 14 - Memória Virtual AULA 14 - Memória Virtual A idéia básica da memória virtual é permitir que programas muito maiores que a memória disponível possam ser executados. Para isso, em 1961 Fotheringham criou o método conhecido

Leia mais

Segmentação de Memória

Segmentação de Memória Segmentação de Memória Pedro Cruz EEL770 Sistemas Operacionais Memória volátil Algoritmos de substituição Substituição de páginas não usadas recentemente Substituição de páginas primeiro a entrar, primeiro

Leia mais

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

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual AULA Nº 11 SISTEMAS OPERACIONAIS Técnicas de Memória Virtual 1 Contextualizando Vimos Introdução ao Gerenciamento de Memória Agora Técnicas de Memória Virtual 2 O que é Memória Virtual (MV)? É uma técnica

Leia mais

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para UM ESTUDO SOBRE O MECANISMO DE PAGINAÇÃO DE MEMÓRIA E OS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS FIFO E LRU Fernando Sales Ferreira, [email protected] William Antônio Faria Da Silva, [email protected]

Leia mais

Implementação de Diretórios (1)

Implementação de Diretórios (1) Implementação de Diretórios (1) Ao abrir um arquivo, o SO usa o caminho para localizar a entrada no diretório. A entrada no diretório fornece informações para localizar os blocos de disco. Endereço de

Leia mais

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

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Gerência de Memória Virtual Conteúdo retirado do livro Arquitetura de Sistemas Operacionais Francis Berenger Machado

Leia mais

Paginação e Segmentação. Memória Principal

Paginação e Segmentação. Memória Principal Paginação e Segmentação Memória Principal Paginação Memória Principal Paginação A paginação é um recurso gerenciado por Hardware; Ela divide a memória física em várias partes de tamanho igual, chamados

Leia mais

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

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz ([email protected]) Jorge Cavalcanti Fonsêca ([email protected]) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO GERENCIAMENTO DE MEMÓRIA PROFESSOR CARLOS MUNIZ

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO GERENCIAMENTO DE MEMÓRIA PROFESSOR CARLOS MUNIZ INTRODUÇÃO À TECNOLOGIA DA GERENCIAMENTO DE MEMÓRIA PROFESSOR CARLOS MUNIZ CONCEITO BÁSICO DE MEMÓRIA Memória é um recurso importante que deve ser cuidadosamente gerenciado. Enquanto a capacidade de armazenamento

Leia mais

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

Gerência de Memória. Paginação Gerência de Memória Paginação Endereçamento Virtual (1) Espaço de endereçamento dos processos não linearmente relacionado com a memória física Cada vez que são usados, os endereços virtuais são convertidos

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Capítulo 4 João Bosco Teixeira Júnior Novo Sistema Entender o Problema Porque o problema deve ser resolvido Em alguns caso isso será obvio Solução do Problema Ás vezes a solução leva a outro problema e

Leia mais

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2 SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes ([email protected]) 2ª. Lista de Exercícios Parte

Leia mais

Capítulo 7 Gerência de Memória

Capítulo 7 Gerência de Memória Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof Edmilson Marmo Moreira 51 Introdução Capítulo 7 Gerência

Leia mais

ICET CURSO: Ciência da Computação e Sistemas de Informação (Sistemas Operacionais Abertos) Estudos Disciplinares. Campus: Data: / / Nome: Questão 1:

ICET CURSO: Ciência da Computação e Sistemas de Informação (Sistemas Operacionais Abertos) Estudos Disciplinares. Campus: Data: / / Nome: Questão 1: ICET CURSO: Ciência da Computação e Sistemas de Informação (Sistemas Operacionais Abertos) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1: Silberschatz, Galvin e Gagne (c) 2007 Os alunos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais 04 Processos Introdução Um sistema de computação quase sempre tem mais atividades a executar que o número de processadores disponíveis. Diferentes tarefas têm necessidades distintas

Leia mais

Gerência de Memória. Gerência de memória. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos. Memória: UCP. Unidade de controle

Gerência de Memória. Gerência de memória. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos. Memória: UCP. Unidade de controle Gerência de Gerência de Memória Memória:» central em sistemas de computador» CPU e sistema de I/O interagem com a» é um conjunto (array) de bytes ou palavras, cada um com seu próprio endereço» CPU faz

Leia mais

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes 1 Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 2 1. Introdução Sistemas operacionais podem ser vistos como um conjunto de rotinas executadas concorrentemente de forma ordenada Princípio

Leia mais

Sistemas Operativos: Gestão de Memória

Sistemas Operativos: Gestão de Memória Sistemas Operativos: Gestão de Memória Pedro F. Souto ([email protected]) April 28, 2012 Sumário Conceitos e Técnicas Básicas Swapping Gestão da Memória Física Sumário Conceitos e Técnicas Básicas Swapping

Leia mais