Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes.

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

Download "Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes."

Transcrição

1 Sistemas Operacionais Gerência de Memória Edeyson Andrade Gomes

2 Roteiro da Aula Gerência de Memória Metas Algoritmos 2

3 Gerência de Memória Programas só executam se estiverem na memória principal; Funções do Gerenciador de Memória: Controlar alocação de processos; Novos processos; Múltiplos processos; Término de processo; Crescimento e diminuição Dados e Pilha 3

4 Gerência de Memória Modelos Partições Estáticas (Fixas) Dinâmicas (Variáveis) (Swapping) Paginação Segmentação 4

5 Gerência de Memória Endereço Lógico X Físico Problema: Usuário cria programa. Ex.: prog1.c O Compilador gera código intermediário Cl c prog1.c prog1.obj Esse código gera Executável? Não é possível encontrar o endereço da função soma(). #include <stdio.h> void main() { int x; x = soma (10, 20); printf("x = %d", x); } 5

6 Gerência de Memória Endereço Lógico X Físico Problema: Usuário cria programa. Ex.: soma.c O Compilador gera código intermediário Cl c soma.c soma.obj Esse código gera Executável? Não é possível encontrar o endereço de início de execução main(). int soma(int x, int y) { return x + y; } 6

7 Gerência de Memória Endereço Lógico X Físico Problema: Como gerar prog1.exe? Compilando-os e ligando-os Cl prog1.c soma.c Entendendo... 7

8 Gerência de Memória Endereço Lógico X Físico Todo processo referencia endereço lógico O compilador não sabe onde o programa vai executar na memória Logo, seu primeiro endereço é 0 O que significa chamar soma()? Executar um CALL para seu endereço de memória Endereço lógico 8

9 Gerência de Memória Alocação Contígua Simples Partição Fixa Implementada nos primeiros sistemas e ainda usada nos monoprogramáveis (monotarefa); Memória é dividida em duas áreas: Sistema Operacional e processo do usuário; Usuário não pode usar uma área maior do que a disponível; Sem proteção. 9

10 Gerência de Memória Alocação Contígua Simples Memória Principal Registrador de proteção delimita as áreas do sistema operacional e do usuário; Sistema verifica acessos à memória em relação ao endereço do registrador. Sistema Operacional Área para Processo do usuário Registrador Base Registrador Limite 10

11 Gerência de Memória Alocação Contígua Simples Sistema Operacional Área para Processo do usuário 1024K 0 800K Nesse modelo, o SO foi carregado na memória alta. Se o processo faz referência ao endereço real 2050, ele lhe pertence. Registrador Base = 0K Registrador Limite = 800K Suponha que prog1.c executando referencie o endereço lógico 100. Qual o endereço físico? Resp: 0K Nesse caso, o endereço lógico coincide com o físico. 11

12 Gerência de Memória Alocação Contígua Simples Sistema Operacional Prog1.c 1024K 800K Qual o maior endereço lógico referenciável por Prog1.c? Resp: 800K -1 pois é o valor do Limite. Mais que isso invade o SO. O Espaço de endereços de Prog1.c é [0, 800K) 0 12

13 Gerência de Memória Alocação Contígua Simples Área para Processo do usuário Sistema Operacional 1024K 0 300K Nesse modelo, o SO foi carregado na memória baixa. Se o processo faz referência ao endereço real 2050, ele NÃO lhe pertence. Registrador Base = 300K Registrador Limite = 724K Suponha que prog1.c executando referencie o endereço lógico 100. Qual o endereço físico? Resp: 300K Nesse caso, o endereço lógico NÃO coincide com o físico. 13

14 Gerência de Memória Alocação Contígua Simples 1024K Qual o maior endereço lógico referenciável por Prog1.c? Prog1.c Sistema Operacional 0 300K Resp: [724K -1], pois é o valor do Limite. Mais que isso ele sai da memória. O Espaço de endereços físicos de Prog1.c é [300K, 1024K) O Espaço de endereços físicos do SO é [0, 300K) 14

15 Alocação Contígua Simples Processos de usuário limitados pelo tamanho da memória principal disponível. Solução: Dividir o programa em módulos ou partes; Permitir execução independente de cada módulo, usando a mesma área de memória; Técnica: Overlay (sobreposição); 15

16 Alocação Contígua Simples Permite ao programador expandir os limites da memória principal; Overlay Área de memória comum onde módulos compartilham mesmo espaço; PROG.EXE 200KB Cadastro.OVL 400KB Relatório.OVL 350KB Manutenção.OVL 420KB 16

17 Partições Fixas Evolução dos sistemas operacionais demandou uso da memória por vários usuários simultaneamente; Memória foi dividida em áreas de tamanho fixo: partições; Tamanho das partições era estabelecido no boot, em função do tamanho dos programas; Reparticionamento demandava novo boot com a nova configuração. Tipos de Alocação Particionada: Alocação Particionada Estática: Absoluta e Relocável; Alocação Particionada Dinâmica. 17

18 Espaço de Endereçamento Endereço Lógico ou Virtual Gerado pela CPU Espaço de endereçamento lógico Endereço Físico Enviado à memória Carregado no REM Espaço de endereçamento físico 18

19 Espaço de Endereçamento Mapeamento do Espaço Virtual para Físico Só é necessário se a associação é feita em tempo de execução Usuário trata endereços lógicos, nunca físicos Suporte de hardware: MMU Memory Management Unit Exemplo: Registrador de relocação 19

20 Espaço de Endereçamento Registrador de relocação CPU endereço lógico endereço físico Memória MMU 20

21 Técnicas de Gerenciamento Carga Dinâmica Rotinas não são carregadas até serem chamadas Rotinas de exceção podem não ser chamadas Melhor utilização do espaço de memória Não é necessário suporte do SO 21

22 Técnicas de Gerenciamento Ligação Dinâmica Aplica-se às bibliotecas do sistema Ligação Estática Todos módulos fazem parte da imagem gerada 22

23 Técnicas de Gerenciamento Ligação Dinâmica Bibliotecas compartilhadas Trecho de código (stub) indica como localizar na memória ou carregar do disco Endereço fica armazenado para futuras referências Economia de espaço em disco e na memória Atualização das bibliotecas sem nova linkedição Requer suporte do SO Acesso a endereços fora dos limites do processo 23

24 Técnicas de Gerenciamento Overlays Sobreposição de dados e instruções desnecessários Permite que um processo seja maior que o espaço alocado a ele Complexa responsabilidade passada ao programador Eventual suporte de compiladores 24

25 Alocação de Memória Alocação Particionada Estática (Partições Fixas) SOs multiprogramáveis Ambiente batch Implementado no IBM OS/MFT Partições Porções de memória de tamanho fixo Controla o grau de multiprogramação Tamanho da partição estabelecido na fase de inicialização do sistema (boot) SO mantém Fila de Entrada e Tabela de Partições 25

26 Alocação de Memória Processos a serem carregados E D C B A 3KB 5KB 1KB 6KB 7KB Memória Principal Sistema Operacional Partição 1 Partição 2 Partição 3 2KB 5KB 8KB Tabela de Partições Partição Tamanho 1 2KB 2 5KB 3 8KB 26

27 Alocação de Memória Processos a serem carregados E D C B A 3KB 5KB 1KB 6KB 7KB Memória Principal Sistema Operacional Partição 1 Partição 2 Partição Tabela de Partições Partição Tamanho ID

28 Alocação de Memória Processos a serem carregados E D C B 3KB 5KB 1KB 6KB Memória Principal Sistema Operacional Partição 1 Partição 2 Partição A 7KB Tabela de Partições Partição Tamanho ID A 28

29 Alocação de Memória Processos a serem carregados E D B 3KB 5KB 6KB Memória Principal Sistema Operacional Partição 1 Partição 2 Partição 3 C 1KB - A 7KB Tabela de Partições Partição Tamanho ID 1 2 C A 29

30 Alocação de Memória Processos a serem carregados E B Memória Principal 3KB 6KB Sistema Operacional Partição 1 Partição 2 Partição 3 C 1KB D 5 KB A 7KB Tabela de Partições Partição Tamanho ID 1 2 C 2 5 D 3 8 A 30

31 Alocação de Memória Processos a serem carregados E B Memória Principal 3KB 6KB Sistema Operacional Partição 1 Partição 2 Partição 3 C 1KB D 5 KB Tabela de Partições Partição Tamanho ID 1 2 C 2 5 D

32 Alocação de Memória Processos a serem carregados E 3KB Memória Principal Sistema Operacional Partição 1 Partição 2 Partição 3 C 1 KB D 5 KB B 6 KB Tabela de Partições Partição Tamanho ID 1 2 C 2 5 D 3 8 B 32

33 Alocação de Memória O processo C pode acessar o endereço físico 2050 (2K + 2)? Não, essa é uma área do SO. E o endereço ? Não, ele é da partição K 170K 220K Memória Principal Sistema Operacional Partição 1 Partição 2 C 10 KB D 50 KB Tabela de Partições Partição Tamanho ID 1 20K C 2 50K D K B 300K Partição 3 B 60 KB

34 Alocação de Memória 10K 40K 70K 110K 130K 180K 260K 300K P1 P2 P3 P4 P5 P6 P7 P8 Como alocar os processos na memória? SO Tabela de Partições Partição Base Limite Processo ID Tamanho Processo 0 0K 124K SO 124K 1 124K 50K 2 174K 150K 3 324K 250K 4 574K 450K 34

35 Alocação de Memória 40K 70K 110K 130K 180K 260K 300K P2 P3 P4 P5 P6 P7 P8 Como alocar os processos na memória? SO P1 Tabela de Partições Partição Base Limite Processo ID 0 0K 124K SO Tamanho Processo 1 124K 50K P1 10K 2 174K 150K 3 324K 250K 4 574K 450K 35

36 Alocação de Memória 70K 110K 130K 180K 260K 300K P3 P4 P5 P6 P7 P8 Como alocar os processos na memória? SO P1 P2 Tabela de Partições Partição Base Limite Processo ID Tamanho Processo 0 0K 124K SO 124K 1 124K 50K P1 10K 2 174K 150K P2 40K 3 324K 250K 4 574K 450K 36

37 Alocação de Memória 110K 130K 180K 260K 300K P4 P5 P6 P7 P8 Como alocar os processos na memória? SO P1 P2 P3 Tabela de Partições Partição Base Limite Processo ID Tamanho Processo 0 0K 124K SO 124K 1 124K 50K P1 10K 2 174K 150K P2 40K 3 324K 250K P3 70K 4 574K 450K 37

38 Alocação de Memória 130K 180K 260K 300K P5 P6 P7 P8 Essa alocação otimiza o uso de memória? Por que? SO P1 P2 P3 P4 Tabela de Partições Partição Base Limite Processo ID Tamanho Processo 0 0K 124K SO 124K 1 124K 50K P1 10K 2 174K 150K P2 40K 3 324K 250K P3 70K 4 574K 450K P4 110K 38

39 Alocação de Memória 10K 40K 70K 110K 130K 180K 260K 300K P1 P2 P3 P4 P5 P6 P7 P8 SO P1 P2 P3 P4 Existe a alocação por ordem do escalonador e por escolha do gerenciador de memória. Tabela de Partições Partição Base Limite Processo ID Tamanho Processo 0 0K 124K SO 124K 1 124K 50K P1 10K 2 174K 150K P2 40K 3 324K 250K P3 70K 4 574K 450K P4 110K 39

40 Alocação de Memória 10K 40K 70K 110K 130K 180K 260K 300K P1 P2 P3 P4 P5 P6 P7 P8 SO P2 P5 P6 P8 Alocação por escolha do gerenciador de memória. Menor desperdício. Tabela de Partições Partição Base Limite Processo ID Tamanho Processo 0 0K 124K SO 124K 1 124K 50K P2 40K 2 174K 150K P5 130K 3 324K 250K P6 180K 4 574K 450K P8 300K 40

41 Alocação de Memória Se o gerenciador de memória prioriza a melhor alocação da partição, o que acontecerá com processos muito pequenos, dado que na fila sempre existem maiores? Inanição Solução: 1. Múltiplas Filas 41

42 Alocação de Memória SO 50K 150K 250K 450K 10K P1 70K P3 180K P6 260K P7 40K P2 110K P4 300K P8 130K P5 Qual o problema dessa abordagem? Quando P6 acabar, a partição ficará Ociosa. Pode ocorrer de uma partição ficar livre, enquanto outra tem muitos processos. Qual a solução? Fila única com Aging. 42

43 Alocação de Memória Fila única com Aging Determina-se um contador de saltos Ki (Processo i) e uma constante N Toda vez que uma partição ficar livre Procura-se pelo processo que deixa o menor espaço desperdiçado Se na fila, antes dele, houver um processo que caiba na mesma partição, Ki++ Se Ki = N, Pi deve ser executado, independente do tamanho da partição 43

44 Alocação de Memória Alocação Contígua Divisão da memória SO residente Código e dados (tabela de vetores, buffers, etc) Processos de usuários Proteção Registrador de relocação: menor endereço Registrador de limite: maior deslocamento Cada processo tem seus valores (troca de contexto) 44

45 Alocação de Memória O processo C pode acessar o endereço real 2050? Não, essa é uma área do SO. E o endereço ? Não, é de outra partição K 170K 220K Memória Principal Sistema Operacional Partição 1 Partição 2 C 10 KB D 50 KB Tabela de Partições Partição Tamanho Base Limite ID 1 20K 150K 20K C 2 50K 170K 50K D 3 80K 220K 80K B 300K 45 Partição 3 B 60 KB

46 Alocação de Memória Registrador de LIMITE (Tamanho da Partição) Registrador de relocação (BASE) Memória CPU endereço lógico sim EL < LIMITE + endereço físico não exceção: erro de endereçamento 46

47 Alocação de Memória Processo P1 BASE = 300K e LIMITE = 200K LIMITE 200K BASE 300K 500K CPU EL = 5000 sim 5000 < 200K K P1 300K não SO 150K exceção: erro de endereçamento 47

48 Alocação de Memória Memória Principal Processo P1 BASE = LIMITE = Código em C: a = a + 10; Código em ASM: mov eax, dword ptr [a] add eax, 0Ah mov dword ptr [a], eax Suponha que a está no endereço lógico REM BYTE PC IR MGM EF 12 VALOR EL 1030 RDM EAX EBX ECX EDX Unidade de Controle Unidade Lógica e Aritmética Barramentos CPU EF = EL + BASE Reg. Base Reg. Limite

49 Alocação de Memória Memória Principal Processo P1 BASE = LIMITE = Código em C: a = a + 10; Código em ASM: mov eax, dword ptr [a] add eax, 0Ah mov dword ptr [a], eax Suponha que a está no endereço lógico REM BYTE PC IR MGM EF 12 VALOR EL RDM EAX EBX ECX EDX LER Unidade de Controle Unidade Lógica e Aritmética Barramentos CPU EF = EL + BASE Reg. Base Reg. Limite

50 Alocação de Memória Memória Principal Processo P1 BASE = LIMITE = Código em C: a = a + 10; Código em ASM: mov eax, dword ptr [a] add eax, 0Ah mov dword ptr [a], eax Suponha que a está no endereço lógico REM BYTE PC IR MGM EF 12 VALOR EL RDM EAX EBX ECX EDX Unidade de Controle Unidade Lógica e Aritmética Barramentos CPU EF = EL + BASE Reg. Base Reg. Limite

51 Alocação de Memória Memória Principal Processo P1 BASE = LIMITE = Código em C: a = a + 10; Código em ASM: mov eax, dword ptr [a] add eax, 0Ah mov dword ptr [a], eax Suponha que a está no endereço lógico REM BYTE PC IR MGM EF 12 VALOR EL RDM EAX EBX ECX EDX Unidade de Controle Unidade Lógica e Aritmética Barramentos CPU EF = EL + BASE Reg. Base Reg. Limite

52 Alocação de Memória Memória Principal Processo P1 BASE = LIMITE = Código em C: a = a + 10; Código em ASM: mov eax, dword ptr [a] add eax, 0Ah mov dword ptr [a], eax Suponha que a está no endereço lógico REM BYTE PC IR MGM EF 12 VALOR EL RDM EAX EBX ECX EDX Unidade de Controle Unidade Lógica e Aritmética Barramentos CPU EF = EL + BASE Reg. Base Reg. Limite

53 Alocação de Memória Memória Principal Processo P1 BASE = LIMITE = Código em C: a = a + 10; Código em ASM: mov eax, dword ptr [a] add eax, 0Ah mov dword ptr [a], eax Suponha que a está no endereço lógico REM BYTE PC IR MGM EF 22 VALOR EL ESCREVER RDM EAX EBX ECX EDX Unidade de Controle Unidade Lógica e Aritmética Barramentos CPU EF = EL + BASE Reg. Base Reg. Limite

54 Alocação de Memória Alocação Particionada Dinâmica (Partições Variáveis) Implementado no IBM OS/MVT Partições sem tamanho fixo pré-estabelecido SO mantém Fila de Entrada e Blocos Livres Estratégias de alocação Fragmentação 54

55 Alocação de Memória A E C B 2 KB 3 KB 1 KB 4 KB Memória Principal Sistema Operacional Memória Principal Sistema Operacional 11 KB Processo B Processo C Processo E Processo A 4 KB 1 KB 3 KB 2 KB 1 KB 55

56 Estratégias de Alocação Escolha do bloco que deve ser alocado ao processo Vários algoritmos possíveis First-fit Aloca primeiro bloco suficientemente grande Não precisa pesquisar todos blocos Best-fit Aloca o menor bloco suficientemente grande Precisa pesquisar todos blocos Alternativa: ordenação dos blocos por tamanho Gera o menor bloco de memória restante 56

57 Estratégias de Alocação Worst-fit Aloca o maior bloco Precisa pesquisar todos blocos Alternativa: ordenação dos blocos por tamanho Gera o maior bloco de memória restante Avaliação dos algoritmos por simulação First-fit e best-fit utilizam melhor a memória First-fit é mais rápida 57

58 Alocação Contígua Fragmentação Externa Ocorre quando os programas terminam Não há espaço livre contíguo suficiente Memória Principal Sistema Operacional D 6 KB Processo C Processo A 4 KB 1 KB 3 KB 2 KB 1 KB 58

59 Alocação Contígua Fragmentação Externa Soluções Aguardar término de processos Desfragmentação Reloca partições ocupadas para criar área livre única CONTÍGUA Exige relocação dinâmica em tempo de execução MGM traduzindo endereços Overhead Implementado no IBM OS/MVT Permitir alocação não contígua Paginação e segmentação 59

60 Alocação de Memória A E C B 80 KB 35 KB 120 KB 40 KB Memória Principal 0 150K SO Base Limite Livre / PTR Prox Processo 150K 850K L 1000K 60

61 Alocação de Memória A E C 80 KB 35 KB 120 KB Memória Principal 0 150K 190K SO B Início Tamanho Livre / Processo 150K 40K B PTR Prox 190K 810K L 1000K 61

62 Alocação de Memória A E 80 KB 35 KB Memória Principal 0 150K 190K 310K SO B C Início Tamanho Livre / Processo 150K 40K B PTR Prox 190K 120K C 310K 690K L 1000K 62

63 Alocação de Memória A 80 KB Memória Principal 0 150K 190K 310K 345K SO B C E Início Tamanho Livre / Processo 150K 40K B 345K 655K L PTR Prox 190K 120K C 310K 35K E 1000K 63

64 Alocação de Memória D 600 KB Memória Principal 0 150K 190K 310K 345K 425K SO B C E A Início Tamanho Livre / Processo 150K 40K B 345K 80K A PTR Prox 190K 120K C 425K 575K L 310K 35K E 1000K 64

65 Alocação de Memória D 600 KB Término de C Memória Principal 0 150K 190K 310K 345K 425K SO B E A Início Tamanho Livre / Processo 150K 40K B 345K 80K A PTR Prox 190K 120K L 425K 575K L 310K 35K E 1000K 65

66 Alocação de Memória A E C B 80 KB 35 KB 120 KB 40 KB Memória Principal 0 150K.. SO K 66 Mapa de BITS com 1 bit para 10 KB 85 bits 850 KB

67 Alocação de Memória A E C 80 KB 35 KB 120 KB Memória Principal 0 150K 190K. SO B K 67 Mapa de BITS com 1 bit para 10 KB 85 bits 850 KB

68 Alocação de Memória A E 80 KB 35 KB Memória Principal 0 150K 190K 310K SO B C K 68 Mapa de BITS com 1 bit para 10 KB 85 bits 850 KB

69 Alocação de Memória A 80 KB 0 150K 190K 310K 350K. 1000K 69 Memória Principal SO B C E Mapa de BITS com 1 bit para 10 KB 85 bits 850 KB

70 Alocação de Memória 0 150K 190K 310K 350K 430K 1000K 70 Memória Principal SO B C E A Mapa de BITS com 1 bit para 10 KB 85 bits 850 KB

71 Alocação de Memória D 180 KB Memória Principal 0 150K 190K 310K 345K 425K SO B C E A Mapa de BITS com 1 bit para 5 KB K 71

72 Alocação de Memória D 180 KB Memória Principal 0 150K 190K 310K 345K 425K SO C E A Mapa de BITS com 1 bit para 5 KB K 72

73 Swapping Programas ficavam na memória principal, mesmo se bloqueados, a espera de um evento (I/O); Solução encontrada: Swapping; Processos não ficam mais na memória o tempo todo; Técnica para resolver problema de processos que aguardam por espaço livre adequado. 73

74 Swapping Processo residente na memória é escolhido e levado para o disco (Swapped-Out), dando lugar a outro; Processo Swapped-Out retorna posteriormente à memória (Swapped-In), sem perceber o que ocorreu. 74

75 Swapping Memória Principal Memória Principal Sistema Operacional Sistema Operacional H programa A programa B Swap Out Swap In programa A programa H 4kb programa E programa G B B programa E programa A 75

76 Swapping Problema gerado pelo Swapping: Relocação dos programas Se processos saem e voltam muitas vezes, tempo gasto com relocação é alto (overhead); Solução Mecanismo de Relocação Dinâmica: Quando ocorrer referência a algum endereço, o endereço da instrução será somado ao valor do registrador: Endereço Real = Endereço Base da Partição + Deslocamento. Deslocamento = Endereço Referenciado no Processo 76

77 Swapping Vantagens: Permite maior compartilhamento da memória; Aumento no Throughput Eficiente para sistemas com poucos usuários e pequenas aplicações; Problema: custo do Swapping (in/out). 77

78 Swapping Swap-out Processos são removidos temporariamente Swap-in Processos precisam voltar para o mesmo espaço Resolução de endereço em tempo de compilação ou carga Processos não precisam voltar para o mesmo espaço Resolução de endereço em tempo de execução Endereços físicos recalculados na execução 78

79 Swapping 79

80 Swapping Dispositivo auxiliar em disco Deve ser rápido Proporcional à quantidade de dados movidos Escalonador de Alto Nível verifica processo selecionado Pode exigir swap-in (e swap-out para criar espaço) 80

81 Swapping Swap-out de processos com I/O pendente Acesso à área do processo Pode gerar inconsistências Soluções Não retirar processo com I/O pendente Sempre usar buffers do SO 81

82 Memória Virtual Técnica de Gerenciamento de Memória Permite execução de processos que não estejam totalmente na memória A parte sendo executada precisa estar em memória Programas não precisam ser carregados totalmente na memória Rotinas de exceção Rotinas necessárias apenas na inicialização Matrizes e tabelas super-dimensionadas 82

83 Memória Virtual Processos podem ser maiores que a memória física Economia permite execução de mais processos Implementação complexa Transparência para usuário e programador Diferente da técnica de overlay Overhead de traduções e swap Implementações Paginação sob demanda Referência a página fora da memória Segmentação sob demanda OS/2 e Burroughs 83

84 Memória Virtual Página 0 Página 1 Página 2... Página n Memória Virtual Mapa da Memória Memória Física Memória Secundária 84

85 Paginação Permite espaço de endereçamento não contíguo Memória física dividida em quadros (frames) Memória lógica dividida em páginas (pages) Quadros e páginas têm o mesmo tamanho Normalmente entre 512 bytes e 16MB Páginas dos processos podem ocupar qualquer quadro disponível 85

86 Paginação Endereço lógico Número da página Deslocamento dentro da página (offset) Tabela de página do processo Número da página serve como índice da tabela Associa páginas a quadros 86

87 Paginação 87

88 Paginação Forma de relocação dinâmica Separação da visão do usuário e da memória real Controle do SO 88

89 Paginação Página = 1KB 1024 bytes Memória Lógica Endereços de P1 EV = 1030 EV ER PV PR ER = = Memória Física

90 Paginação Página = 1KB 1024 bytes Memória Lógica Endereços de P1 PV PR EV = 3080 = EV ER ER = = Memória Física

91 Paginação Memória física de 32 bytes Página de 4 bytes Sistema com 8 quadros 91

92 Paginação Fragmentação Apenas interna Apenas no último quadro Pior caso: desperdício de quase 1 quadro 92

93 Paginação Tamanho da Página Pequeno Diminui perda com fragmentação Tabela de Páginas Grande Custo (overhead) para tradução Consumo de memória com tabela Exemplo: Sistema com RE = 32 bits Páginas com 256 bytes = 2 8 Número de linhas da TAP? 2 24 linhas PV D

94 Paginação Tamanho da Página Grande Diminui overhead de controle I/O mais eficiente menos SWAP Maior desperdício interno Exemplo: Sistema com 32 bits Páginas com 256 Kbytes = 2 18 Número de linhas da TAP? 2 14 linhas PV D

95 Paginação Tamanho da Página Comparação TAP 1024 X menor Página 1024 X maior Menos SWAP Maior desperdício dentro da página Alocar um processo de 10 K necessita de, no mínimo, 256 K 95

96 Paginação Tamanho da Página Atualmente Páginas entre 2KB e 8KB Pesquisas em suporte dinâmico a páginas variáveis 96

97 Paginação Tamanho da Página Intel 32: Sistema com RE = 32 bits Páginas com 4 Kbytes = bits para deslocamento Total de páginas virtuais: 2 20 Número de linhas da TAP? 2 20 linhas PV D Espaço em memória da TAP (PR + P/A + R + M + C) * 2 20 = 24 bits * 2 20 = 3 bytes * 2 20 = 3MB 97

98 Paginação Tamanho da Página Exercício: Processo com 100 KB precisa de quantas linha da TAP? 25 linhas pois necessita de 25 páginas (25 X 4KB = 100 KB) Quantas linhas o sistema alocará para esse processo? 2 20 linhas Desperdício 98

99 Paginação Tamanho da Página Intel 64: Sistema com RE = 40 bits Páginas com 4 Kbytes = bits para deslocamento Total de páginas virtuais: 2 28 Número de linhas da TAP? 2 28 linhas PV D Espaço em memória da TAP (PR + P/A + R + M + C) * 2 28 = 32 bits * 2 28 = 4 bytes * 2 28 = 4bytes * 256 M = 1GB 99

100 Paginação Controle do SO e Suporte do Hardware Tabela de quadros (frame table) Controla que quadros estão livres ou ocupados Tabela de página Uma para cada processo Efeito no tempo de troca de contexto 100

101 Paginação Desempenho Todo acesso à memória precisa de tradução de endereço Influi no desempenho Tabela de página de hardware Conjunto de registradores dedicados Viável em sistemas com pouca memória (antigos) 101

102 Paginação Desempenho Tabela de página na memória Registrador com endereço de base da tabela de páginas (PTBR) Troca de contexto mais eficiente Necessários dois acessos à memória Desempenho cai pela metade Solução: TLB 102

103 Paginação Desempenho Translation look-aside buffers (TLB) Cache de hardware especial Custo e velocidade elevados Registradores associativos Chave e valor: número da página e número do quadro Taxa de acerto afeta tempo efetivo de acesso à memória Entre 80% e 98% Troca de contexto exige limpeza (flush) 103

104 Paginação Atualiza 104

105 Paginação Proteção Bits extras na tabela de páginas Controle do tipo de acesso Leitura ou leitura e escrita Podem gerar exceções de hardware (violação) Controle de validade Indicam páginas no espaço de endereçamento lógico do processo 105

106 Paginação 106

107 Paginação Paginação Multinível Sistemas com muita memória exigem tabelas grandes Tabelas precisariam de espaço contíguo Outros níveis de paginação resolvem o problema Tabela de páginas é paginada Exigem mais acessos à memória TLB é importante 107

108 Paginação

109 Paginação 109

110 Paginação Alocação de Páginas Estática Pré-alocação Dinâmica Alocação por demanda 110

111 Paginação Páginas Compartilhadas Código reentrante compartilhado Economia de memória Código não pode ser alterado Responsabilidade do SO Dados separados para cada processo Útil para editores de texto, compiladores e outros programas usados por vários usuários 111

112 Paginação 112

113 Paginação Substituição de Página Page-in necessário mas sem páginas disponíveis Page-out Página retirada da memória física Atualização da tabela de página Afeta desempenho: exige mais tempo para I/O Algoritmo para escolha da página vítima 113

114 Paginação Substituição de Página Bit de modificação (M) Dirty bit Indica necessidade de regravar a página no disco Deve ser considerado pelo algoritmo Tamanho do espaço de endereçamento lógico não é mais limitado pela memória física Análise de algoritmos String de referências de memória 114

115 Paginação Alocação Local x Global Escolha da página vítima Local Apenas páginas do processo Global Página de qualquer processo 115

116 Paginação Tabela de Página Invertida Tabelas grandes consomem muito espaço em memória Cada processo tem sua tabela Pode-se ter apenas uma tabela para todos os processos Invertida: classificada por endereços físicos Economia de memória Aumenta tempo de pesquisa na tabela Hashing Registradores de memória associativa 116

117 TAP Invertida MR PR PID TAP A PV PR P/A R M TAP B PV PR P/A R M TAP Invertida PR PID PV V R M 0 B B A A A A B B B B A A B B A A A A B B A A A A B B

118 TAP Invertida TAP A TAP B TAP Invertida PV PR PA R M PV PR PA R M PR PID PV EV R M 0 B A A Processo A referencia endereço PV = 3, D = 100 Como Traduzir usando a TAP Invertida? B B A B Processo A referencia endereço PV = 2, D = 213 Falta de Página A A B A A B

119 Paginação 119

120 Algoritmos de Substituição OPT - Algoritmo Ótimo Apresenta menor taxa de falta de página Substitui a página que não será usado pelo período mais longo Necessita conhecimento do comportamento futuro Impossível de implementar Usado para comparação de novos algoritmos 120

121 Algoritmos de Substituição FIFO First-In First-Out Página mais antiga é selecionada Necessita apenas uma fila de páginas Desempenho pode ser insatisfatório Seleção de página com rotina de inicialização Seleção de página com variáveis sempre referenciadas 121

122 Algoritmos de Substituição Algoritmo da Segunda Chance Basicamente FIFO mas leva em conta bit de referência Se a página selecionada por FIFO tem o bit 1, ganha segunda chance Implementada com fila circular 122

123 Algoritmos de Substituição Algoritmo da Segunda Chance Melhorado Bits de referência e modificação geram 4 classes: RM 0 0 Não usada recentemente nem modificada 0 1 Não usada recentemente, mas modificada 1 0 Usada recentemente, mas não modificada 1 1 Usada recentemente e modificada 123

124 Algoritmos de Substituição Algoritmo da Segunda Chance Melhorado Caso haja uma falta de página, que página escolher para substituir? [2, 8, 10, 11] PV PR PA R M

125 Algoritmos de Substituição Algoritmo da Segunda Chance Melhorado Caso haja uma falta de página, que página escolher para substituir? [0, 2, 6, 11] PV PR PA R M

126 Algoritmos de Substituição Algoritmo da Segunda Chance Melhorado Problema: Não há histórico de referências. Apenas sabe-se o que ocorreu num único tick de clock. 126

127 Algoritmos de Substituição LRU Least Recently Used Usa passado recente como aproximação do futuro Controla quando cada página foi usada Seleciona a página há mais tempo sem uso Suporte de hardware Atualização a cada referência Acumulador em cada página Pilha de páginas 127

128 Algoritmos de Substituição LRU Least Recently Used T0 T1 T2 T3 T4 T5 T P1 P1 P1 P2 P1 P1 Histórico de Referências com Acumulador de 4 bits Desloca acumulador para a direita OR do bit mais significativo com o bit R T0 T1 T2 T3 T4 T5 T6 AC P AC P

129 Algoritmos de Substituição Aproximação de LRU Devido a limitações de hardware apenas aproximação Usam bits de referência Ativado quando a página é referenciada Não fornece ordem de acesso 129

130 Algoritmos de Substituição Algoritmo dos Bits de Referência Adicionais Aproximação de LRU Mantém 1 byte de controle para cada página Temporizador aciona rotina para cópia do bit de referência para bit mais significativo do byte Deslocamento para direita nos demais bits Página com menor número é LRU 130

131 Falta de Página Ambiente Multiprogramado Poucos quadros por processo aumenta paginação Muitos quadros por processo poucos processos Alocação de Quadros por Processo Existe um mínimo de quadros por processo Depende da arquitetura e da instrução SO pode alocar quadros baseado no tamanho e prioridade do processo 131

132 Falta de Página Tipos de Substituição Global: processos podem vitimar quadros de outros Ex.: Windows A escolha da página menos usada é feita no sistema, independente do processo Processo mais usado pode ter mais memória real (quadros) Implica em diminuir memória dos outros 132

133 Falta de Página Tipos de Substituição Local: processos só podem vitimar seus quadros Cenário: Processo 1 tem 0% de Falta de Página e aloca 20 MB de memória Processo 2 tem 33% de Falta de Página e aloca 1 MB de memória. Solução Tirar memória de P1 e alocar a P2 Coletor de Página 133

134 Falta de Página Tipos de Substituição Global: processos podem vitimar quadros de outros Local: processos só podem vitimar seus quadros Thrashing Gasto mais tempo paginando do que executando SO aumenta nível de multiprogramação se CPU baixa 134

135 Falta de Página Working Set Conjunto de páginas referenciadas em um intervalo Aproximação da localidade de referência Intervalo pequeno não abrange localidade Intervalo grande abrange várias localidades SO pode controlar admissão de novos processos ou necessidade de suspensão de um processo ativo 135

136 Falta de Página Definição de Níveis Aceitáveis de Paginação Controle da taxa de falta de páginas evita trashing 136

137 Segmentação

138 Segmentação Segmento Espaço de Endereçamento Virtual (EEV) Endereçamento é Bi-Dimensional Necessita-se de: Número do Segmento Deslocamento dentro do Segmento Registradores de Segmento CS, DS, SS, ES (Intel) Seletores 138

139 Segmentação Cada processo pode ter vários segmentos independentes Cada segmento possui um único tipo de dados Código, Dado ou Pilha Cada segmento pode crescer ou diminuir em tamanho Cada segmento é um EEV Logo, endereça de 0 a 2 n

140 Segmentação Cada segmento possui um tipo de proteção Leitura, Escrita, Leitura e Escrita ou Execução Segmento de leitura ou execução não pode ser escrito Segmento de execução não pode ser lido Segmentos podem ser compartilhados entre processos Segmentação pode ser Pura ou Paginada 140

141 Segmentação Segmentos podem ser Globais Compartilhável GDT Global Descriptor Table Locais Não Compartilhável LDT - Local Descriptor Table 141

142 Segmentação Modelo tradicional de codificação : linear. O EEV é unidimensional. Todo endereço é unidimensional. O que acontece quando se recompila uma parte do código? R: Todos os endereços, de todos os módulos, mudam. 142

143 Segmentação Partições de Memória Segmento user space physical memory space 143

144 Segmentação Endereçamento: No. do segmento com deslocamento 144

145 Segmentação Pura Tabela de Descritores Segmentos # Base Limite IP = 120 Endereço Lógico CS = 1 Qual a próxima instrução a executar? [S = 1, D = 120] A instrução da posição 1220 da memória. PUSH AX Onde AX será armazenado? Depende de SS e SP SS = 3 e SP =

146 Segmentação Pura Tabela de Segmentos # Base Limite MOV AX, [56] DS = 2 Qual o endereço real do dado? [S = 2, D = 56] O dado da posição 1506 da memória. 146

147 Exemplo de Segmentação 147

148 Compartilhamento de Segmentos 148

149 Segmentação Paginada Problemas com a Segmentação Pura Tamanho máximo do processo Tamanho da memória Fragmentação Externa Desfragmentação Overhead Solução? Paginar o Segmento 149

150 Segmentação Paginada Todo Segmento é um EEV Paginado Logo, todo segmento possui uma TAP Um processo tem vários Segmentos Cada Segmento tem sua TAP Como traduzir um EV? Acessando a TAP do segmento correspondente 150

151 Segmentação no MULTICS segment length >= d? 151

152 Segmentação no INTEL 152

153 Pesquisa Quais os principais sistemas operacionais dos dispositivos móveis da atualidade? Celular, Palm, Pocket PC, Smart Phone, etc Mínimo de 5 SO Quais os tipos de gerência de memória adotados? Por que? Como funciona o escalonamento de processos dos mesmos? Quais deles trabalham com disco e memória e/ou apenas memória? Por que? 153

154 Segmentação Pura # Base Limite IP = 1120 Endereço Lógico CS = 1 Qual a próxima instrução a executar? [S = 1, D = 1120] A instrução da posição da memória. = B + D = PUSH AX Onde AX será armazenado? Depende de SS e SP SS = 2 e SP = 1600

155 Teste Num sistema com Segmentação Paginada com 16K Segmentos (8K Globais e 8K Locais), Endereçamento de 32 bits, Tabela de Páginas de 3 níveis, Memória Associativa de 32 entradas, Memória Cache de Páginas de 1MB e Página de 4KB e algoritmo de troca de páginas LRU, determine: Os passos executados pelo sistema (firmware e software), no pior caso de desempenho, para recuperar o conteúdo de uma página de memória real usando alocação local de páginas. Justifique cada passo. 155

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 de Computação. Gerenciamento de memória

Sistemas de Computação. Gerenciamento de memória Gerenciamento de memória Localização de processos Um programa fica armazenado em disco como um arquivo executável binário e tem que ser colocado na memória para começar a ser executado Os processos podem

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

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 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 (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Alexandre Beletti Ferreira Gerência de Memória Sistemas Monoprogramáveis = gerenciamento simplificado Sistemas Multiprogramáveis = gerenciamento crítico (muitos usuários

Leia mais

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA GERENCIAMENTO DE MEMÓRIA Sistemas Operacionais Gerenciamento de memória O que vem em sua cabeça quando pensa em memória? Cache RAM Velocidade Custo Memória Secundária Capacidade 2 Hierarquias de Memórias

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

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 -

Sistemas Operacionais. - Gerência de Memória - Sistemas Operacionais - Gerência de Memória - Memória Virtual É uma técnica sofisticada de gerência de memória As memórias principal e secundária são combinadas, dando ao usuário a impressão de existir

Leia mais

Prof. Adriano Maranhão

Prof. Adriano Maranhão Prof. Adriano Maranhão Memória 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

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A O Espaço de Endereçamento lógico de um processo pode ser não contínuo; aloca-se memória física ao processo sempre que esta é disponível. A memória

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

Gerência de Memória. Aspectos de Projeto

Gerência de Memória. Aspectos de Projeto Gerência de Memória Aspectos de rojeto olíticas de Busca de áginas de um rocesso Determina em que instante uma página deve ser trazida para memória principal O objetivo é minimizar o número de faltas de

Leia mais

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

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

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

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

Gerenciamento de memória

Gerenciamento de memória Gerenciamento de memória O que faz? Controla o uso dos espaços em memória Controla os modos de endereçamento dos processos Como funciona a memória? Hierarquia de memória A falta de desempenho A velocidade

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

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

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE III: GERÊNCIA DE RECURSOS SUMÁRIO 9. GERÊNCIA DE MEMÓRIA: 9.1 Introdução; 9.2 Funções Básicas; 9.3 Alocação Contígua Simples;

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

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

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

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

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação. % % & & Sistema Buddy Divisão da lacuna em espaços na base 2:! 1, 2, 4, 8,, até o limite da memória Até encontrar uma lacuna suficiente! Eficiente quanto à velocidade e Ineficiente quanto à fragmentação

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

Introdução. Considerações:

Introdução. Considerações: 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

Infra-Estrutura de Software IF677

Infra-Estrutura de Software IF677 Infra-Estrutura de Software IF677 Gerenciamento de Memória Tópicos Gerenciamento básico de memória Troca de processos Memória virtual Paginação Gerenciamento de Memória Idealmente, o que todo programador

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. Gerenciamento de Memória

Sistemas Operacionais. Gerenciamento de Memória Sistemas Operacionais Gerenciamento de Memória Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br Abril de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto 6 de março de Prof. Arliones

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

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 ezorzal@unifesp.br www.realidadeaumentada.com.br Objetivos Fornecer uma descrição de várias maneiras de organizar o hardware de memória.

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

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

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

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

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 15ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano

Leia mais

Gerência de memória II

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

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright

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

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Nível do Sistema Operacional (Parte

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

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 13ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano

Leia mais

Infra-Estrutura de Software

Infra-Estrutura de Software Infra-Estrutura de Software Gerência de Memória Tópicos Gerenciamento básico de memória Troca de processos na memória (swapping) Memória virtual Troca de páginas/paginação (paging) Segmentação Gerenciador

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Clodoaldo A. Moraes Lima 1 int a; p1 ( ) { int b; int *c; a = b +1; c = malloc (sizeof(int));... } int main ( ) {... } Pilha O que é memória? Pilha Dados Texto Endereço Max

Leia mais

Memória virtual. Sistemas de Computação

Memória virtual. Sistemas de Computação Memória virtual Fundamentos Memória virtual separação da memória lógica do usuário da memória física somente uma parte do programa precisa estar na memória para execução espaço de endereçamento lógico

Leia mais

Infra-Estrutura de Software

Infra-Estrutura de Software Infra-Estrutura de Software Gerência de Memória Tópicos Gerenciamento básico de memória Troca de processos (swapping) Memória virtual Troca de páginas/paginação (paging) Gerenciador de Memória Componente

Leia mais

Sistemas Operacionais I Memória Virtual

Sistemas Operacionais I Memória Virtual Sistemas Operacionais I Memória Virtual Antônio Augusto FröhlichGeovani Ricardo Wiedenhoft grw@lisha.ufsc.br http://www.lisha.ufsc.br/~grw May 6, 2008 1 Motivação Limitação do espaço físico Programas aumentam

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. 26/05/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. 26/05/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Virtual 26/05/2014 Prof. Valeria M. Bastos 1 Processador Memória Primária Memória Virtual Fundamentos Organização Lógica Gerenciamento de Recursos

Leia mais

Administração de Memória

Administração de Memória Administração de Memória 4.1 Administração básica de memória 4.2 Swapping 4.3 Memória Virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelando algoritmos de substituição de páginas 4.6 Tópicos de

Leia mais

Infra-Estrutura de Software

Infra-Estrutura de Software Infra-Estrutura de Software Gerência de Memória Tópicos Gerenciamento básico de memória Troca de processos na memória (swapping) Memória virtual Troca de páginas/paginação (paging) Segmentação Gerenciador

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

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

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

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto Sistemas Operacionais Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Fundamentos Gerência de memória Memória Virtual Todo o espaço lógico mapeado no espaço físico O tamanho do programa

Leia mais

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

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro do Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero

Leia mais

GERÊNCIA DE MEMÓRIA. INF009 Laboratório de Sistemas Operacionais

GERÊNCIA DE MEMÓRIA. INF009 Laboratório de Sistemas Operacionais GERÊNCIA DE MEMÓRIA INF9 Laboratório de Sistemas Operacionais Agenda Motivação Gerência de memória com monoprogramação Gerência de memória com multiprogramação Partições Fixas Divisão e Alocação das Partições

Leia mais

Sistemas Operacionais Memória Virtual

Sistemas Operacionais Memória Virtual Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Memória Virtual Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução Memória virtual

Leia mais

Capítulo 6 Nível do Sistema Operacional

Capítulo 6 Nível do Sistema Operacional Capítulo 6 Nível do Sistema Operacional - Sistema Operacional: Programa que, do ponto de vista do programador, adiciona uma grande quantidade de instruções e funcionalidades bem além das disponibilizadas

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Clodoaldo Ap. Moraes Lima Paginação Espaço de endereço de um processo pode ser não contíguo; ao processo é alocado memória física sempre que disponível. Divide memória física

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Gerência de Memória Alexandre Amory Edson Moreno Índice 1. Introdução e histórico de Gerência de Memória 2. Endereçamento da Memória Principal Introdução Sistema

Leia mais

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais Memória virtual Pedro Cruz EEL770 Sistemas Operacionais Avisos Menos de um mês para a 1ª apresentação do trabalho Dia 22/9/2017 O que fizeram até agora? Análises Estratégias Problemas Soluções Presenças

Leia mais

Sistemas Operacionais: Memória Virtual

Sistemas Operacionais: Memória Virtual Sistemas Operacionais: Memória Virtual Memória virtual Memória virtual: separação entre a visão lógica do usuário e a memória física Somente uma parte do programa necessita estar na memória para executar

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 18/9/009 UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Virtual 18/9/009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 ORGANIZAÇÃO DA UNIDADE Processador Memória Primária

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Gerência de Memória Andreza Leite andreza.leite@univasf.edu.br 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

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

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

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

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 Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Introdução a gerência de memória Aula 9 Programa para executar tem que estar na memória Programa em execução é um processo Multiprogramação

Leia mais

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

SOP - TADS Gerência de Memória Cap 3 Tanenmbaum SOP - TADS Gerência de Memória Cap 3 Tanenmbaum Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceitos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais GERÊNCIA da MEMÓRIA VIRTUAL MACHADO/MAIA: CAPÍTULO 10 Prof. Pedro Luís Antonelli Anhanguera Educacional MEMÓRIA VIRTUAL -INTRODUÇÃO A Memória Virtual (virtual memory) é uma técnica

Leia mais

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

Capítulo 8: Memória Principal. Operating System Concepts 8th Edition Capítulo 8: Memória Principal Capítulo 8: Gerenciamento de memória Fundamentos Troca de processos (Swapping) Alocação de memória contígua Segmentação Paginação Estrutura da tabela de páginas Exemplo: Arquiteturas

Leia mais

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

Memória. Gestão do espaço lógico Paginação Segmentação com paginação Memória Gestão do espaço lógico Paginação Segmentação com paginação Paginação Divide-se a memória física em pequenos blocos de tamanho fixo chamados de páginas físicas (ou frames) o tamanho é uma potência

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

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

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

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Fundamentos Gerência de memória Memória Virtual Todo o espaço lógico mapeado no espaço físico O tamanho do programa é limitado

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 (soufes@gmail.com) 2ª. Lista de Exercícios Parte

Leia mais

Sistemas Operacionais

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

Leia mais

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

Gerência da Memória Memória Virtual. Adão de Melo Neto Gerência da Memória Memória Virtual 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

Leia mais

Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes.

Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes. Sistemas Operacioais Gerêcia de Memória Edeyso Adrade Gomes www.edeyso.com.br Roteiro da Aula w Gerêcia de Memória Metas Algoritmos Sistemas Operacioais - Itrodução Edeyso A. Gomes 2 Gerêcia de Memória

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar - Aula 6-1. Memória Virtual Conceitos Importantes: Princípio da Localidade: Quando um programa que acessa uma porção relativamente pequena do espaço endereçável em um instante qualquer. Por este princípio,

Leia mais

LISTA DE EXERCICIOS 2

LISTA DE EXERCICIOS 2 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA SISTEMAS OPERACIONAIS I N - INF01142 LISTA DE EXERCICIOS 2 Não há gabarito, nem respostas aos exercícios

Leia mais

Organização de um Sistema Operativo

Organização de um Sistema Operativo Gestão de Memória 1. Conceitos Básicos 2. Swapping 3. Memória Virtual 4. Algoritmos de substituição de páginas 5. Modelação de algoritmos de substituição de páginas 6. Questões no desenho de sistemas de

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

Substituição de Páginas

Substituição de Páginas Substituição de Páginas Pedro Cruz EEL770 Sistemas Operacionais Lembranças sobre memória Tempo virtual Segmentação de memória Realocação Estática Dinâmica Sobreposições MMU Memory Management Unit Página

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. BSI / UAB 2013 Hélio Crestana Guardia

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia Sistemas Operacionais BSI / UAB 2013 Hélio Crestana Guardia Visão do SO SO: camada de software, executado diretamente sobre o hardware (físico ou virtual) Permite que hardware seja usado de forma eficiente

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

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

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

CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL O Processo passa a possuir um espaço de endereçamento virtual. Este espaço de endereçamento pode ser maior que a memória física. S.O.

Leia mais

ENADE 2011 SISTEMAS OPERACIONAIS

ENADE 2011 SISTEMAS OPERACIONAIS ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas

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

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 Introdução Historicamente, a memória principal sempre foi vista como um recurso escasso e carro. Uma das maiores preocupações foi desenvolver SO que não ocupassem

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 (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Gerenciamento de Memória Idealmente, o que todo programador deseja é dispor de

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