Gerência de Memória. Alocação
|
|
|
- Aline Lemos de Barros
- 9 Há anos
- Visualizações:
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
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á
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.
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
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
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
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
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
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
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
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,
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
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
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
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
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 é
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
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
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
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
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:
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
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
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
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.
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
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
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
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
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
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/
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
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
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
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
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
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
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
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
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
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
( ) 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,
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
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
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
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
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
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
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
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
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
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
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
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]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
