SlideShare uma empresa Scribd logo
1 de 23
Sistemas Operacionais 
Desenvolvido por: Jailson Silva e Rafael Rocha
Historicamente, a memória principal sempre foi 
vista como um recurso escasso e caro. Uma das 
maiores preocupações dos projetistas foi 
desenvolver sistemas operacionais que não 
ocupassem muito espaço de memória e, ao 
mesmo tempo, otimizassem a utilização dos 
recursos computacionais. Mesmo atualmente, 
com a redução do custo e o aumento considerável 
da capacidade da memória principal, seu 
gerenciamento é dos fatores mais importantes no 
projeto e implementação dos sistemas 
operacionais.
Basicamente, o gerenciamento da memória é a ferramenta utilizada para 
permitir aos programas em execução no computador utilizarem a memória 
do computador para armazenar as instruções e dados que serão 
manipulados.
 O esquema mais simples de gerenciamento de 
memória foi implementado nos primeiros 
Sistemas Operacionais, porém ainda está presente 
em alguns sistemas monoprogramáveis. Este 
esquema é chamado por alguns autores como 
alocação contígua. 
 Basicamente, a memória principal disponível é 
dividida entre o Sistema Operacional e o programa 
em execução. Como este esquema de 
gerenciamento é utilizado em sistemas 
monoprogramáveis, temos apenas um processo em 
execução por vez.
Esquema Básico de gerenciamento de memória
 Atualmente, os sistemas multiprogramáveis são 
amplamente mais utilizados do que os sistemas 
monoprogramáveis, devido a maior eficiência do uso do 
processador, pois permitem que múltiplos processos 
executem simultaneamente. 
 A forma mais simples de gerenciar memória em sistemas 
multiprogramáveis é dividindo a memória principal em 
partições estáticas e com tamanhos definidos, estabelecidas 
na fase de inicialização do sistema. Esse tipo de gerência é 
chamado por alguns autores por alocação particionada 
estática ou alocação fixa. 
 Quando um processo chega, ele é colocado em uma fila de 
entrada da partição menor capaz de armazená-lo. Como o 
esquema prevê que a partição é fixa, se o processo não 
ocupar o espaço total da sua partição, o resto de espaço é 
desperdiçado.
Esquema de gerencia de memória para 
multiprogramação com Partições Fixas.
Assim, os programas eram carregados em 
uma partição específica. Em algumas 
situações, é possível que uma determinada 
fila exista uma quantidade grande de 
processos esperando pela partição 
enquanto que em outras filas de partição 
não exista nenhum processo. Isso era uma 
grande desvantagem para o sistema.
Método de partições fixas com única fila.
Este método de gerência de memória baseado em 
partições fixas, de uma forma ou de outra, gera 
um grande desperdício de memória, posto que, 
um processo ao ser carregado em uma partição, se 
ele não ocupa todo o seu espaço, o restante não 
poderá ser utilizado por nenhum outro processo. 
Para evitar esse desperdício, foi desenvolvido um 
esquema de gerenciamento e alocação de 
memória dinamicamente, dependendo da 
necessidade do processo. Este esquema é 
conhecido como alocação com partições 
variáveis.
Quando o método de alocação de partições 
variáveis é utilizado, o tamanho das partições de 
memória é ajustado dinamicamente à medida que 
os processos vão chegando. 
Nesse tipo de esquema, o processo utilizará um 
espaço de memória necessário, tornando esse 
espaço sua partição. Isto resolve o problema da 
fragmentação, pois as partições passarão a ser 
definidas a partir da alocação dos processos na 
memória.
Esquema de Alocação com Partições Variáveis.
 Note que, para inserir o novo processo D na memória 
foi preciso retirar o processo A, a fim de o espaço de 
memória suficiente seja disponibilizado para o novo 
processo. Assim, o processo A é atualizado em disco e 
o processo D é carregado em memória principal, 
podendo executar suas atividades. 
 Este processo de retirar um processo de memória, 
atualizar em disco e colocar outro no lugar é chamado, 
segundo Tanenbaum, por método de Troca. 
 A troca consiste em trazer um processo inteiro, 
executa-lo temporariamente e, então, devolve-lo ao 
disco. Isto acontece quando a memória principal 
disponível é insuficiente para manter todos os nossos 
processos carregados (situação que seria a ótima).
 Com o mapa de bits, a memória é dividida em 
unidades de alocação e para cada unidade é 
associado um bit no mapa. Se este bit estiver com 
valor 0 implica que esta unidade de alocação está 
vazia. Se este bit estiver com valor 1 implica que 
esta unidade de alocação está preenchida por 
algum processo. 
 Através da Figura abaixo é mais fácil compreender 
como essa estratégia de gerenciamento funciona. 
Considere a memória, particionada em XX 
unidades de alocação, com processos e espaços 
vazios (lacunas). O mapa de bits dessa memória 
será configurado como mostrado na figura.
Memória dividida em unidade de alocação e o Mapa de 
bits correspondente
 Outra estratégia é manter uma lista encadeada 
dos segmentos de memória alocados e livres, 
onde um segmento pode ser um processo ou 
lacuna entre dois processos. 
 Assim, cada nó da lista seria formado por uma 
entrada especificando se é um processo (P) ou 
uma lacuna (L), o endereço de onde se inicia a 
quantidade de unidades de alocação e um 
ponteiro para a próxima entrada. A Figura 
abaixo ilustra a mesma memória gerenciada 
através de listas encadeadas.
Memória dividida em unidade de alocação, monitorada 
através de lista encadeada
 Em 1961, Fotheringham desenvolveu um método 
conhecido como memória virtual. O principal 
objetivo desta técnica é estender a memória 
principal através de memória secundária, dando 
impressão ao usuário que ele tem a disposição 
uma quantidade de memória maior do que a 
memória real disponível. Em outras palavras, para 
facilitar o entendimento, a técnica de memória 
virtual disponibiliza para o usuário uma memória 
de trabalho maior do que a memória principal 
(RAM). Esse espaço de memória adicional 
implementado em disco é conhecido como 
memória de swap.
Ilustração do método de memória virtual. 
Assim, o Sistema Operacional deve manter parte do programa 
que está em uso na memória principal e parte dele na memória 
swap. Na multiprogramação, partes de vários processos podem 
ser mantidas em memória principal e partes em memória swap.
 Segundo Silberstchaz, a paginação é um esquema de 
gerenciamento de memória em que o espaço de 
endereçamento físico (endereços de memória 
principal) de um processo não é contíguo. A 
paginação, assim, evita o problema da fragmentação 
externa gerado pela alocação de memória dinâmica. 
 Os programas são capazes de gerar endereços, 
chamados de endereços virtuais. Esse conjunto de 
endereços forma o que chamamos de espaço de 
endereçamento virtual. 
 Em sistemas que não utilizam a técnica de memória 
virtual, o endereço virtual equivale ao endereço 
físico, especificando exatamente onde o programa 
será armazenado na memória principal.
 Em computadores que utilizam a técnica de 
memória virtual, os endereços virtuais não vão 
diretamente para o barramento de memória. 
Primeiramente, ele passa por uma unidade chamada 
de Unidade de Gerenciamento de Memória (MMU 
– Memory Management Unit). A MMU tem como 
função mapear um endereço virtual para um 
endereço lógico. Adiante, o espaço de 
endereçamento virtual é dividido em unidade 
chamadas de páginas. 
 A memória principal também é dividida em 
unidades, do mesmo tamanho das páginas, 
chamadas de molduras de página (quadro). Assim, 
num sistema que contém páginas de 4k, as 
molduras também serão de 4k.
Técnica de Paginação
Gerenciamento de memoria

Mais conteúdo relacionado

Mais procurados

So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012
Bill Lima
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
Computação Depressão
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
Abnel Junior
 

Mais procurados (20)

Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos Básicos
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória Principal
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Gerenciamento de memória
Gerenciamento de memóriaGerenciamento de memória
Gerenciamento de memória
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linux
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classesAula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Cognos Macros: Situational Examples & Syntax
Cognos Macros: Situational Examples & SyntaxCognos Macros: Situational Examples & Syntax
Cognos Macros: Situational Examples & Syntax
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Apostila 6 gerência de memória
Apostila 6   gerência de memóriaApostila 6   gerência de memória
Apostila 6 gerência de memória
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 

Destaque

Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
Computação Depressão
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
elliando dias
 
Batch programming
Batch programmingBatch programming
Batch programming
Harry Kodua
 
Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacional
elliando dias
 
Circuito Digital Aula3 portas logicas
Circuito Digital Aula3 portas logicasCircuito Digital Aula3 portas logicas
Circuito Digital Aula3 portas logicas
tarcisioti
 

Destaque (20)

SO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e SegmentaçãoSO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e Segmentação
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoria
 
Slides Mmu
Slides MmuSlides Mmu
Slides Mmu
 
Podcasting at Hollings Campus (MMU)
Podcasting at Hollings Campus (MMU)Podcasting at Hollings Campus (MMU)
Podcasting at Hollings Campus (MMU)
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
 
Princípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipPrincípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV Unip
 
Batch programming
Batch programmingBatch programming
Batch programming
 
Gerenciamento E/S
Gerenciamento E/SGerenciamento E/S
Gerenciamento E/S
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
 
SO - Kernel (Nucleo)
SO - Kernel (Nucleo)SO - Kernel (Nucleo)
SO - Kernel (Nucleo)
 
Processadores
ProcessadoresProcessadores
Processadores
 
Gerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e SaídaGerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e Saída
 
Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacional
 
Portas lógicas
Portas lógicasPortas lógicas
Portas lógicas
 
Sistemas Operacionais 13 gerenciamento de memória
Sistemas Operacionais  13   gerenciamento de memóriaSistemas Operacionais  13   gerenciamento de memória
Sistemas Operacionais 13 gerenciamento de memória
 
Circuito Digital Aula3 portas logicas
Circuito Digital Aula3 portas logicasCircuito Digital Aula3 portas logicas
Circuito Digital Aula3 portas logicas
 
Aulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleAulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de Boole
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de Informação
 
Processadores
ProcessadoresProcessadores
Processadores
 

Semelhante a Gerenciamento de memoria

Sistemas operacionais memória no linux
Sistemas operacionais   memória no linuxSistemas operacionais   memória no linux
Sistemas operacionais memória no linux
Carlos Melo
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
webphotoshop
 
Aula 3- Disciplina:Pratica Técnico Profi
Aula 3- Disciplina:Pratica Técnico ProfiAula 3- Disciplina:Pratica Técnico Profi
Aula 3- Disciplina:Pratica Técnico Profi
Saquina1
 
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Walter Cunha
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
Universal.org.mx
 
Memoria cache princípio da localidade
Memoria cache   princípio da localidadeMemoria cache   princípio da localidade
Memoria cache princípio da localidade
Claudia Costa
 

Semelhante a Gerenciamento de memoria (20)

SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
 
S.o aula 3132
S.o aula 3132S.o aula 3132
S.o aula 3132
 
Gestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptxGestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptx
 
Memória Virtual - Aspectos Básicos
Memória Virtual - Aspectos BásicosMemória Virtual - Aspectos Básicos
Memória Virtual - Aspectos Básicos
 
Htm trabalho
Htm trabalhoHtm trabalho
Htm trabalho
 
Sistema Operativo 2
Sistema Operativo 2Sistema Operativo 2
Sistema Operativo 2
 
Sistemas operacionais memória no linux
Sistemas operacionais   memória no linuxSistemas operacionais   memória no linux
Sistemas operacionais memória no linux
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
 
Aula 3- Disciplina:Pratica Técnico Profi
Aula 3- Disciplina:Pratica Técnico ProfiAula 3- Disciplina:Pratica Técnico Profi
Aula 3- Disciplina:Pratica Técnico Profi
 
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativos
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
S.o aula 1920
S.o aula 1920S.o aula 1920
S.o aula 1920
 
Memoria cache princípio da localidade
Memoria cache   princípio da localidadeMemoria cache   princípio da localidade
Memoria cache princípio da localidade
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Gerenciamento memoria
Gerenciamento memoriaGerenciamento memoria
Gerenciamento memoria
 
S.o aula 2324
S.o aula 2324S.o aula 2324
S.o aula 2324
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 
Linux Ubuntu 14.04 Desktop - Particoes
Linux Ubuntu 14.04 Desktop - ParticoesLinux Ubuntu 14.04 Desktop - Particoes
Linux Ubuntu 14.04 Desktop - Particoes
 

Último

Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 

Último (20)

Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 

Gerenciamento de memoria

  • 1. Sistemas Operacionais Desenvolvido por: Jailson Silva e Rafael Rocha
  • 2. Historicamente, a memória principal sempre foi vista como um recurso escasso e caro. Uma das maiores preocupações dos projetistas foi desenvolver sistemas operacionais que não ocupassem muito espaço de memória e, ao mesmo tempo, otimizassem a utilização dos recursos computacionais. Mesmo atualmente, com a redução do custo e o aumento considerável da capacidade da memória principal, seu gerenciamento é dos fatores mais importantes no projeto e implementação dos sistemas operacionais.
  • 3. Basicamente, o gerenciamento da memória é a ferramenta utilizada para permitir aos programas em execução no computador utilizarem a memória do computador para armazenar as instruções e dados que serão manipulados.
  • 4.  O esquema mais simples de gerenciamento de memória foi implementado nos primeiros Sistemas Operacionais, porém ainda está presente em alguns sistemas monoprogramáveis. Este esquema é chamado por alguns autores como alocação contígua.  Basicamente, a memória principal disponível é dividida entre o Sistema Operacional e o programa em execução. Como este esquema de gerenciamento é utilizado em sistemas monoprogramáveis, temos apenas um processo em execução por vez.
  • 5. Esquema Básico de gerenciamento de memória
  • 6.  Atualmente, os sistemas multiprogramáveis são amplamente mais utilizados do que os sistemas monoprogramáveis, devido a maior eficiência do uso do processador, pois permitem que múltiplos processos executem simultaneamente.  A forma mais simples de gerenciar memória em sistemas multiprogramáveis é dividindo a memória principal em partições estáticas e com tamanhos definidos, estabelecidas na fase de inicialização do sistema. Esse tipo de gerência é chamado por alguns autores por alocação particionada estática ou alocação fixa.  Quando um processo chega, ele é colocado em uma fila de entrada da partição menor capaz de armazená-lo. Como o esquema prevê que a partição é fixa, se o processo não ocupar o espaço total da sua partição, o resto de espaço é desperdiçado.
  • 7. Esquema de gerencia de memória para multiprogramação com Partições Fixas.
  • 8. Assim, os programas eram carregados em uma partição específica. Em algumas situações, é possível que uma determinada fila exista uma quantidade grande de processos esperando pela partição enquanto que em outras filas de partição não exista nenhum processo. Isso era uma grande desvantagem para o sistema.
  • 9. Método de partições fixas com única fila.
  • 10. Este método de gerência de memória baseado em partições fixas, de uma forma ou de outra, gera um grande desperdício de memória, posto que, um processo ao ser carregado em uma partição, se ele não ocupa todo o seu espaço, o restante não poderá ser utilizado por nenhum outro processo. Para evitar esse desperdício, foi desenvolvido um esquema de gerenciamento e alocação de memória dinamicamente, dependendo da necessidade do processo. Este esquema é conhecido como alocação com partições variáveis.
  • 11. Quando o método de alocação de partições variáveis é utilizado, o tamanho das partições de memória é ajustado dinamicamente à medida que os processos vão chegando. Nesse tipo de esquema, o processo utilizará um espaço de memória necessário, tornando esse espaço sua partição. Isto resolve o problema da fragmentação, pois as partições passarão a ser definidas a partir da alocação dos processos na memória.
  • 12. Esquema de Alocação com Partições Variáveis.
  • 13.  Note que, para inserir o novo processo D na memória foi preciso retirar o processo A, a fim de o espaço de memória suficiente seja disponibilizado para o novo processo. Assim, o processo A é atualizado em disco e o processo D é carregado em memória principal, podendo executar suas atividades.  Este processo de retirar um processo de memória, atualizar em disco e colocar outro no lugar é chamado, segundo Tanenbaum, por método de Troca.  A troca consiste em trazer um processo inteiro, executa-lo temporariamente e, então, devolve-lo ao disco. Isto acontece quando a memória principal disponível é insuficiente para manter todos os nossos processos carregados (situação que seria a ótima).
  • 14.  Com o mapa de bits, a memória é dividida em unidades de alocação e para cada unidade é associado um bit no mapa. Se este bit estiver com valor 0 implica que esta unidade de alocação está vazia. Se este bit estiver com valor 1 implica que esta unidade de alocação está preenchida por algum processo.  Através da Figura abaixo é mais fácil compreender como essa estratégia de gerenciamento funciona. Considere a memória, particionada em XX unidades de alocação, com processos e espaços vazios (lacunas). O mapa de bits dessa memória será configurado como mostrado na figura.
  • 15. Memória dividida em unidade de alocação e o Mapa de bits correspondente
  • 16.  Outra estratégia é manter uma lista encadeada dos segmentos de memória alocados e livres, onde um segmento pode ser um processo ou lacuna entre dois processos.  Assim, cada nó da lista seria formado por uma entrada especificando se é um processo (P) ou uma lacuna (L), o endereço de onde se inicia a quantidade de unidades de alocação e um ponteiro para a próxima entrada. A Figura abaixo ilustra a mesma memória gerenciada através de listas encadeadas.
  • 17. Memória dividida em unidade de alocação, monitorada através de lista encadeada
  • 18.  Em 1961, Fotheringham desenvolveu um método conhecido como memória virtual. O principal objetivo desta técnica é estender a memória principal através de memória secundária, dando impressão ao usuário que ele tem a disposição uma quantidade de memória maior do que a memória real disponível. Em outras palavras, para facilitar o entendimento, a técnica de memória virtual disponibiliza para o usuário uma memória de trabalho maior do que a memória principal (RAM). Esse espaço de memória adicional implementado em disco é conhecido como memória de swap.
  • 19. Ilustração do método de memória virtual. Assim, o Sistema Operacional deve manter parte do programa que está em uso na memória principal e parte dele na memória swap. Na multiprogramação, partes de vários processos podem ser mantidas em memória principal e partes em memória swap.
  • 20.  Segundo Silberstchaz, a paginação é um esquema de gerenciamento de memória em que o espaço de endereçamento físico (endereços de memória principal) de um processo não é contíguo. A paginação, assim, evita o problema da fragmentação externa gerado pela alocação de memória dinâmica.  Os programas são capazes de gerar endereços, chamados de endereços virtuais. Esse conjunto de endereços forma o que chamamos de espaço de endereçamento virtual.  Em sistemas que não utilizam a técnica de memória virtual, o endereço virtual equivale ao endereço físico, especificando exatamente onde o programa será armazenado na memória principal.
  • 21.  Em computadores que utilizam a técnica de memória virtual, os endereços virtuais não vão diretamente para o barramento de memória. Primeiramente, ele passa por uma unidade chamada de Unidade de Gerenciamento de Memória (MMU – Memory Management Unit). A MMU tem como função mapear um endereço virtual para um endereço lógico. Adiante, o espaço de endereçamento virtual é dividido em unidade chamadas de páginas.  A memória principal também é dividida em unidades, do mesmo tamanho das páginas, chamadas de molduras de página (quadro). Assim, num sistema que contém páginas de 4k, as molduras também serão de 4k.