SlideShare uma empresa Scribd logo
1 de 19
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
Aula 7a:
Gerenciamento de Memória
Parte I
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
Introdução:
● A maioria dos computadores possuem uma hierarquia de
memória:
A memória mais acima da hierarquia de memória (registradores),
são as mais caras e mais rápidas, e por isso, as menores, além de
serem voláteis. As memórias secundarias, como o HD e CD-ROM,
são as mais baratas, e por isso, são as maiores, além de serem
não-voláteis.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● O gerenciamento da hierarquia de memória pelo
gerenciador de memória é importante:
– Devemos saber quais partes da memória estão
alocadas aos processos, e quais partes estão
disponíveis.
– Devemos gerenciar a alocação e a desalocação da
memória dinamicamente.
– Devemos gerenciar a troca entre a memória e o
HD, caso a memória seja insuficiente para
armazenar todos os processos.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● O sistemas de gerenciamento de memória podem ser
divididos em duas classes:
– Os que mantém todo o processo na memória durante
toda a execução:
● Monoprogramação sem troca ou paginação;
● Multiprogramação com partições fixas.
– Os que movem todo (ou parte do) processo entre a
memória e o disco durante a sua execução:
● Troca;
● Memória virtual.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● A escolha do melhor sistema de gerenciamento
depende de fatores como custo, o tamanho, e a
velocidade das memórias.
● Para a maior parte dos sistemas, o gerenciamento
baseado em memória virtual é a melhor escolha.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
Monoprogramação sem troca ou
paginação:
● Baseado em gerenciamento de memória bem
simples:
– O programa executa na CPU até a sua conclusão;
● O usuário digita um comando, e o sistema cria um
processo para executar o programa deste comando.
● Depois de o processo acabar a execução, o sistema
mostra o prompt, e espera por outro comando do
usuário.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
– A memória é compartilhada somente entre este
programa e o sistema operacional:
Nesta primeira organização, o sistema
operacional e carregado dentro da
parte inferior da RAM quando o
computador é inicializado, e o
programa do usuário atualmente em
execução pode usar toda a memória
restante do sistema.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
– A memória é compartilhada somente entre este
programa e o sistema operacional:
Na segunda organização, o sistema
operacional está sempre armazenado
dentro de uma memória ROM,
mapeada na parte superior da
memória principal. Assim como antes,
o programa do usuário pode usar toda
a memoria restante do sistema.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
– A memória é compartilhada somente entre este
programa e o sistema operacional:
Na última organização, os drivers de
dispositivos, que acessam os
dispositivos, estão em uma memória
ROM mapeada na parte superior da
memória, e o sistema operacional é
carregado na parte inferior da
memória. O restante da memória pode
ser usado pelo programa do usuário.
Este modelo era usado pelos micros
IBM-PC, sendo que os drivers ficavam
na BIOS, e o sistema operacional era,
por exemplo, o MS-DOS.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
Multiprogramação com partições fixas:
● Gerenciamento usado pelos sistemas de
gerenciamento em lote.
● Pode ser usado pelos sistemas interativos, pois
nestes é comum que os processos bloqueiem por
E/S.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● Permite a execução de vários trabalhos, do seguinte
modo:
– A memória e dividia em conjunto de várias partições
fixas, cujos tamanhos podem ser diferentes.
– Ao executar um processo, o sistema o coloca em uma
das partições disponíveis.
– O processo ocupa uma partição até terminar a sua
execução.
A memória é dividia em entre o sistema
operacional e um conjunto de n partições,
cujos tamanho são definidos quando o
sistema operacional é carregado. Os
tamanhos destas partições podem ser
diferentes, e não varias até que o sistema
seja carregado.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● Um modo de escolher uma partição é o de associar
uma fila a cada uma das partições:
– O trabalho é colocado na fila cuja partição possui o
tamanho mais próximo do tamanho do processo.
– Quando a partição for liberada, o primeiro trabalho
da fila associado à partição é escolhido.
Suponha que o sistema operacional
inicializou, e que foram criadas quatro
partições, nas quais poderão ser colocados
os processos que são usados para executar
os trabalhos submetidos ao sistema. Os
tamanhos das partições são, como
podemos ver pela figura, iguais a 100K,
200K, 400K, 700K e 800K. O sistema
operacional está numa partição de 100K.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● Um modo de escolher uma partição é o de associar
uma fila a cada uma das partições:
– O trabalho é colocado na fila cuja partição possui o
tamanho mais próximo do tamanho do processo.
– Quando a partição for liberada, o primeiro trabalho
da fila associado à partição é escolhido.
Suponha que seis trabalhos, numerados de 1 a
6, foram submetidos, sendo que seus
tamanhos são iguais, respectivamente, a 50K,
75K, 5K, 190K, 12K, e 2K. Então o sistema:
- Pode colocar o trabalho 1 na fila da posição 4
- Pode colocar o trabalho 2 na fila da posição 1
- Pode colocar o trabalho 3 na fila da posição 4
- Coloca o trabalho 4 na fila da posição 2
- Pode colocar o trabalho 5 na fila da posição 1
- Pode colocar o trabalho 6 na fila da posição 1
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● Uma outra ideia é a de termos uma única fila:
– Todos os trabalhos são colocados nesta fila.
– Quando uma partição for liberada, podemos:
● Ou escolher o tamanho mais próximo do início da fila
cujo tamanho é menor ou igual ao desta partição.
● Ou escolher o trabalho da fila cujo tamanho é o mais
próximo do tamanho desta partição.
O sistema criou quatro partições
que podem ser usadas para a
execução dos trabalhos, com
tamanhos iguais a 100K, 200K,
300K e 100K. Agora, temos uma
única fila com todos os trabalhos.
Suponha que seis trabalhos foram
submetidos ao sistema cujos
tamanhos são dados acima
destes trabalhos.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● Uma outra ideia é a de termos uma única fila:
– Todos os trabalhos são colocados nesta fila.
– Quando uma partição for liberada, podemos:
● Ou escolher o tamanho mais próximo do início da fila
cujo tamanho é menor ou igual ao desta partição.
● Ou escolher o trabalho da fila cujo tamanho é o mais
próximo do tamanho desta partição.
Um primeiro algoritmo poderia ser
o seguinte: quando uma das
partições é liberada, o primeiro
trabalho da fila cujo tamanho é
menor do que a partição é o
escolhido. Por exemplo, se a
partição 2 for liberada, o trabalho
2 será escolhido e colocado na
partição. Depois disso, se a
partição 3 for liberada, o trabalho
1 será o escolhido.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● Uma outra ideia é a de termos uma única fila:
– Todos os trabalhos são colocados nesta fila.
– Quando uma partição for liberada, podemos:
● Ou escolher o tamanho mais próximo do início da fila
cujo tamanho é menor ou igual ao desta partição.
● Ou escolher o trabalho da fila cujo tamanho é o mais
próximo do tamanho desta partição.
O problema desse algoritmo é o
desperdício de espaço dentro da
partição: na partição 2, o espaço
desperdiçado foi de 195K, e na
partição 3, o espaço gasto foi de
90K.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● Uma outra ideia é a de termos uma única fila:
– Todos os trabalhos são colocados nesta fila.
– Quando uma partição for liberada, podemos:
● Ou escolher o tamanho mais próximo do início da fila
cujo tamanho é menor ou igual ao desta partição.
● Ou escolher o trabalho da fila cujo tamanho é o mais
próximo do tamanho desta partição.
Um outro algoritmo seria o de
escolher o processo da fila cujo
tamanho se aproxima do tamanho
da partição que foi liberada.
Quando a partição 2 for liberada,
o processo 3 será o escolhido,
pois o tamanho da partição é de
100K. Se, depois disso, a partição
3 for liberada, o processo 4 será o
escolhido.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
● Uma outra ideia é a de termos uma única fila:
– Todos os trabalhos são colocados nesta fila.
– Quando uma partição for liberada, podemos:
● Ou escolher o tamanho mais próximo do início da fila
cujo tamanho é menor ou igual ao desta partição.
● Ou escolher o trabalho da fila cujo tamanho é o mais
próximo do tamanho desta partição.
Ao usarmos este algoritmo, os
espaços gastos dentro da partição
serão os menores possíveis. O
problema é que os trabalhos
menores podem nunca ser
executados, o trabalho 5, caso
sempre seja submetido um outro
trabalho com tamanho maior do
que 5K, antes de este trabalho ser
executado.
Prof.: VIDAL
claudio_vidal@alcidesmaya.com.br
Para saber mais: pág 106-117

Mais conteúdo relacionado

Mais procurados

Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processosComputação Depressão
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUAlexandre Duarte
 
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 - processosComputação Depressão
 
Aula 7 de Arquitetura
Aula 7 de ArquiteturaAula 7 de Arquitetura
Aula 7 de ArquiteturaMarco Silva
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoAlexandre Duarte
 

Mais procurados (10)

Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPU
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
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
 
Aula 7 de Arquitetura
Aula 7 de ArquiteturaAula 7 de Arquitetura
Aula 7 de Arquitetura
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 

Destaque

Sistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosSistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosMauro Duarte
 
Resumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeResumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeHelder Lopes
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisHelder Lopes
 
Sistemas Operacionais 10 comunicação entre processos
Sistemas Operacionais 10   comunicação entre processosSistemas Operacionais 10   comunicação entre processos
Sistemas Operacionais 10 comunicação entre processosMauro Duarte
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Helder Lopes
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaHelder Lopes
 
Método AHP em Processo Decisório
Método AHP em Processo DecisórioMétodo AHP em Processo Decisório
Método AHP em Processo DecisórioWellington Oliveira
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosRobson Ferreira
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesMauro Duarte
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesMauro Duarte
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosLuiz Arthur
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesMauro Duarte
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesMauro Duarte
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadoresMauro Duarte
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos BásicosMauro Duarte
 
Sistemas Operacionais 11 lamp
Sistemas Operacionais 11 lampSistemas Operacionais 11 lamp
Sistemas Operacionais 11 lampMauro Duarte
 
Informática para Internet - Informática Aplicada - Aula 06
Informática para Internet - Informática Aplicada - Aula 06Informática para Internet - Informática Aplicada - Aula 06
Informática para Internet - Informática Aplicada - Aula 06Anderson Andrade
 

Destaque (20)

Sistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosSistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - Processos
 
Requsitos
RequsitosRequsitos
Requsitos
 
Resumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeResumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio Herbalife
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
 
Sistemas Operacionais 10 comunicação entre processos
Sistemas Operacionais 10   comunicação entre processosSistemas Operacionais 10   comunicação entre processos
Sistemas Operacionais 10 comunicação entre processos
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
 
Método AHP em Processo Decisório
Método AHP em Processo DecisórioMétodo AHP em Processo Decisório
Método AHP em Processo Decisório
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril Borges
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril Borges
 
Os pássaros
Os pássarosOs pássaros
Os pássaros
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril Borges
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril Borges
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadores
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
 
Sistemas Operacionais 11 lamp
Sistemas Operacionais 11 lampSistemas Operacionais 11 lamp
Sistemas Operacionais 11 lamp
 
Informática para Internet - Informática Aplicada - Aula 06
Informática para Internet - Informática Aplicada - Aula 06Informática para Internet - Informática Aplicada - Aula 06
Informática para Internet - Informática Aplicada - Aula 06
 

Semelhante a Gerenciamento Memória Hierarquia

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óriaMauro Duarte
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria37193694
 
Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Saulo Marques
 
Armazenamento, Indexação e Recuperação de Informação
Armazenamento, Indexação e Recuperação de InformaçãoArmazenamento, Indexação e Recuperação de Informação
Armazenamento, Indexação e Recuperação de InformaçãoMário Monteiro
 

Semelhante a Gerenciamento Memória Hierarquia (6)

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
 
gabarito.pdf
gabarito.pdfgabarito.pdf
gabarito.pdf
 
Unidade O3
Unidade O3Unidade O3
Unidade O3
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 
Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011
 
Armazenamento, Indexação e Recuperação de Informação
Armazenamento, Indexação e Recuperação de InformaçãoArmazenamento, Indexação e Recuperação de Informação
Armazenamento, Indexação e Recuperação de Informação
 

Mais de Mauro Duarte

CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata Mauro Duarte
 
7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídiasMauro Duarte
 
Nos importando com o próximo
Nos importando com o próximoNos importando com o próximo
Nos importando com o próximoMauro Duarte
 
Noé não deu desculpas para nao servir a deus
Noé não deu desculpas para nao servir a deusNoé não deu desculpas para nao servir a deus
Noé não deu desculpas para nao servir a deusMauro Duarte
 
Construindo muros ou pontes
Construindo muros ou pontesConstruindo muros ou pontes
Construindo muros ou pontesMauro Duarte
 
A tragédia que virou triunfo
A tragédia que virou triunfoA tragédia que virou triunfo
A tragédia que virou triunfoMauro Duarte
 
Atitudes para os problemas de 2015 - Caril Borges
Atitudes para os problemas de 2015  - Caril BorgesAtitudes para os problemas de 2015  - Caril Borges
Atitudes para os problemas de 2015 - Caril BorgesMauro Duarte
 
Otimizando a Produção de WebSites com Joomla
Otimizando a Produção de WebSites com JoomlaOtimizando a Produção de WebSites com Joomla
Otimizando a Produção de WebSites com JoomlaMauro Duarte
 
Ataques de Dicionário com CUPP
Ataques de Dicionário com CUPPAtaques de Dicionário com CUPP
Ataques de Dicionário com CUPPMauro Duarte
 
Automação de Testes Selenium IDE
Automação de Testes Selenium IDEAutomação de Testes Selenium IDE
Automação de Testes Selenium IDEMauro Duarte
 
História Logo Flisol
História Logo Flisol História Logo Flisol
História Logo Flisol Mauro Duarte
 
5 - Introdução ao Desenvolvimento Web - Formulários (pt 2)
5 - Introdução ao Desenvolvimento Web - Formulários (pt 2)5 - Introdução ao Desenvolvimento Web - Formulários (pt 2)
5 - Introdução ao Desenvolvimento Web - Formulários (pt 2)Mauro Duarte
 
03 Sistemas Operacionais Linux
03   Sistemas Operacionais Linux03   Sistemas Operacionais Linux
03 Sistemas Operacionais LinuxMauro Duarte
 
4 - Introdução ao Desenvolvimento Web - Formulários (pt 1)
4 - Introdução ao Desenvolvimento Web - Formulários (pt 1)4 - Introdução ao Desenvolvimento Web - Formulários (pt 1)
4 - Introdução ao Desenvolvimento Web - Formulários (pt 1)Mauro Duarte
 
Aula 02 - Sistemas Operacionais - Microsoft
Aula 02 - Sistemas Operacionais - MicrosoftAula 02 - Sistemas Operacionais - Microsoft
Aula 02 - Sistemas Operacionais - MicrosoftMauro Duarte
 
00 - Apresentação Sistemas Operacionais
00 - Apresentação Sistemas Operacionais00 - Apresentação Sistemas Operacionais
00 - Apresentação Sistemas OperacionaisMauro Duarte
 
Aula 01 - Sistemas Operacionais - Conceitos Básicos
Aula 01 - Sistemas Operacionais - Conceitos BásicosAula 01 - Sistemas Operacionais - Conceitos Básicos
Aula 01 - Sistemas Operacionais - Conceitos BásicosMauro Duarte
 

Mais de Mauro Duarte (20)

CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata
 
7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias
 
Nos importando com o próximo
Nos importando com o próximoNos importando com o próximo
Nos importando com o próximo
 
Noé não deu desculpas para nao servir a deus
Noé não deu desculpas para nao servir a deusNoé não deu desculpas para nao servir a deus
Noé não deu desculpas para nao servir a deus
 
Construindo muros ou pontes
Construindo muros ou pontesConstruindo muros ou pontes
Construindo muros ou pontes
 
A tragédia que virou triunfo
A tragédia que virou triunfoA tragédia que virou triunfo
A tragédia que virou triunfo
 
Atitudes para os problemas de 2015 - Caril Borges
Atitudes para os problemas de 2015  - Caril BorgesAtitudes para os problemas de 2015  - Caril Borges
Atitudes para os problemas de 2015 - Caril Borges
 
Otimizando a Produção de WebSites com Joomla
Otimizando a Produção de WebSites com JoomlaOtimizando a Produção de WebSites com Joomla
Otimizando a Produção de WebSites com Joomla
 
Ataques de Dicionário com CUPP
Ataques de Dicionário com CUPPAtaques de Dicionário com CUPP
Ataques de Dicionário com CUPP
 
Automação de Testes Selenium IDE
Automação de Testes Selenium IDEAutomação de Testes Selenium IDE
Automação de Testes Selenium IDE
 
História Logo Flisol
História Logo Flisol História Logo Flisol
História Logo Flisol
 
Web Design Hacker
Web Design HackerWeb Design Hacker
Web Design Hacker
 
6 link tag aa
6   link tag aa6   link tag aa
6 link tag aa
 
6 link tag a
6   link tag a6   link tag a
6 link tag a
 
5 - Introdução ao Desenvolvimento Web - Formulários (pt 2)
5 - Introdução ao Desenvolvimento Web - Formulários (pt 2)5 - Introdução ao Desenvolvimento Web - Formulários (pt 2)
5 - Introdução ao Desenvolvimento Web - Formulários (pt 2)
 
03 Sistemas Operacionais Linux
03   Sistemas Operacionais Linux03   Sistemas Operacionais Linux
03 Sistemas Operacionais Linux
 
4 - Introdução ao Desenvolvimento Web - Formulários (pt 1)
4 - Introdução ao Desenvolvimento Web - Formulários (pt 1)4 - Introdução ao Desenvolvimento Web - Formulários (pt 1)
4 - Introdução ao Desenvolvimento Web - Formulários (pt 1)
 
Aula 02 - Sistemas Operacionais - Microsoft
Aula 02 - Sistemas Operacionais - MicrosoftAula 02 - Sistemas Operacionais - Microsoft
Aula 02 - Sistemas Operacionais - Microsoft
 
00 - Apresentação Sistemas Operacionais
00 - Apresentação Sistemas Operacionais00 - Apresentação Sistemas Operacionais
00 - Apresentação Sistemas Operacionais
 
Aula 01 - Sistemas Operacionais - Conceitos Básicos
Aula 01 - Sistemas Operacionais - Conceitos BásicosAula 01 - Sistemas Operacionais - Conceitos Básicos
Aula 01 - Sistemas Operacionais - Conceitos Básicos
 

Gerenciamento Memória Hierarquia

  • 2. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br Introdução: ● A maioria dos computadores possuem uma hierarquia de memória: A memória mais acima da hierarquia de memória (registradores), são as mais caras e mais rápidas, e por isso, as menores, além de serem voláteis. As memórias secundarias, como o HD e CD-ROM, são as mais baratas, e por isso, são as maiores, além de serem não-voláteis.
  • 3. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● O gerenciamento da hierarquia de memória pelo gerenciador de memória é importante: – Devemos saber quais partes da memória estão alocadas aos processos, e quais partes estão disponíveis. – Devemos gerenciar a alocação e a desalocação da memória dinamicamente. – Devemos gerenciar a troca entre a memória e o HD, caso a memória seja insuficiente para armazenar todos os processos.
  • 4. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● O sistemas de gerenciamento de memória podem ser divididos em duas classes: – Os que mantém todo o processo na memória durante toda a execução: ● Monoprogramação sem troca ou paginação; ● Multiprogramação com partições fixas. – Os que movem todo (ou parte do) processo entre a memória e o disco durante a sua execução: ● Troca; ● Memória virtual.
  • 5. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● A escolha do melhor sistema de gerenciamento depende de fatores como custo, o tamanho, e a velocidade das memórias. ● Para a maior parte dos sistemas, o gerenciamento baseado em memória virtual é a melhor escolha.
  • 6. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br Monoprogramação sem troca ou paginação: ● Baseado em gerenciamento de memória bem simples: – O programa executa na CPU até a sua conclusão; ● O usuário digita um comando, e o sistema cria um processo para executar o programa deste comando. ● Depois de o processo acabar a execução, o sistema mostra o prompt, e espera por outro comando do usuário.
  • 7. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br – A memória é compartilhada somente entre este programa e o sistema operacional: Nesta primeira organização, o sistema operacional e carregado dentro da parte inferior da RAM quando o computador é inicializado, e o programa do usuário atualmente em execução pode usar toda a memória restante do sistema.
  • 8. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br – A memória é compartilhada somente entre este programa e o sistema operacional: Na segunda organização, o sistema operacional está sempre armazenado dentro de uma memória ROM, mapeada na parte superior da memória principal. Assim como antes, o programa do usuário pode usar toda a memoria restante do sistema.
  • 9. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br – A memória é compartilhada somente entre este programa e o sistema operacional: Na última organização, os drivers de dispositivos, que acessam os dispositivos, estão em uma memória ROM mapeada na parte superior da memória, e o sistema operacional é carregado na parte inferior da memória. O restante da memória pode ser usado pelo programa do usuário. Este modelo era usado pelos micros IBM-PC, sendo que os drivers ficavam na BIOS, e o sistema operacional era, por exemplo, o MS-DOS.
  • 10. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br Multiprogramação com partições fixas: ● Gerenciamento usado pelos sistemas de gerenciamento em lote. ● Pode ser usado pelos sistemas interativos, pois nestes é comum que os processos bloqueiem por E/S.
  • 11. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● Permite a execução de vários trabalhos, do seguinte modo: – A memória e dividia em conjunto de várias partições fixas, cujos tamanhos podem ser diferentes. – Ao executar um processo, o sistema o coloca em uma das partições disponíveis. – O processo ocupa uma partição até terminar a sua execução. A memória é dividia em entre o sistema operacional e um conjunto de n partições, cujos tamanho são definidos quando o sistema operacional é carregado. Os tamanhos destas partições podem ser diferentes, e não varias até que o sistema seja carregado.
  • 12. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● Um modo de escolher uma partição é o de associar uma fila a cada uma das partições: – O trabalho é colocado na fila cuja partição possui o tamanho mais próximo do tamanho do processo. – Quando a partição for liberada, o primeiro trabalho da fila associado à partição é escolhido. Suponha que o sistema operacional inicializou, e que foram criadas quatro partições, nas quais poderão ser colocados os processos que são usados para executar os trabalhos submetidos ao sistema. Os tamanhos das partições são, como podemos ver pela figura, iguais a 100K, 200K, 400K, 700K e 800K. O sistema operacional está numa partição de 100K.
  • 13. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● Um modo de escolher uma partição é o de associar uma fila a cada uma das partições: – O trabalho é colocado na fila cuja partição possui o tamanho mais próximo do tamanho do processo. – Quando a partição for liberada, o primeiro trabalho da fila associado à partição é escolhido. Suponha que seis trabalhos, numerados de 1 a 6, foram submetidos, sendo que seus tamanhos são iguais, respectivamente, a 50K, 75K, 5K, 190K, 12K, e 2K. Então o sistema: - Pode colocar o trabalho 1 na fila da posição 4 - Pode colocar o trabalho 2 na fila da posição 1 - Pode colocar o trabalho 3 na fila da posição 4 - Coloca o trabalho 4 na fila da posição 2 - Pode colocar o trabalho 5 na fila da posição 1 - Pode colocar o trabalho 6 na fila da posição 1
  • 14. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● Uma outra ideia é a de termos uma única fila: – Todos os trabalhos são colocados nesta fila. – Quando uma partição for liberada, podemos: ● Ou escolher o tamanho mais próximo do início da fila cujo tamanho é menor ou igual ao desta partição. ● Ou escolher o trabalho da fila cujo tamanho é o mais próximo do tamanho desta partição. O sistema criou quatro partições que podem ser usadas para a execução dos trabalhos, com tamanhos iguais a 100K, 200K, 300K e 100K. Agora, temos uma única fila com todos os trabalhos. Suponha que seis trabalhos foram submetidos ao sistema cujos tamanhos são dados acima destes trabalhos.
  • 15. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● Uma outra ideia é a de termos uma única fila: – Todos os trabalhos são colocados nesta fila. – Quando uma partição for liberada, podemos: ● Ou escolher o tamanho mais próximo do início da fila cujo tamanho é menor ou igual ao desta partição. ● Ou escolher o trabalho da fila cujo tamanho é o mais próximo do tamanho desta partição. Um primeiro algoritmo poderia ser o seguinte: quando uma das partições é liberada, o primeiro trabalho da fila cujo tamanho é menor do que a partição é o escolhido. Por exemplo, se a partição 2 for liberada, o trabalho 2 será escolhido e colocado na partição. Depois disso, se a partição 3 for liberada, o trabalho 1 será o escolhido.
  • 16. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● Uma outra ideia é a de termos uma única fila: – Todos os trabalhos são colocados nesta fila. – Quando uma partição for liberada, podemos: ● Ou escolher o tamanho mais próximo do início da fila cujo tamanho é menor ou igual ao desta partição. ● Ou escolher o trabalho da fila cujo tamanho é o mais próximo do tamanho desta partição. O problema desse algoritmo é o desperdício de espaço dentro da partição: na partição 2, o espaço desperdiçado foi de 195K, e na partição 3, o espaço gasto foi de 90K.
  • 17. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● Uma outra ideia é a de termos uma única fila: – Todos os trabalhos são colocados nesta fila. – Quando uma partição for liberada, podemos: ● Ou escolher o tamanho mais próximo do início da fila cujo tamanho é menor ou igual ao desta partição. ● Ou escolher o trabalho da fila cujo tamanho é o mais próximo do tamanho desta partição. Um outro algoritmo seria o de escolher o processo da fila cujo tamanho se aproxima do tamanho da partição que foi liberada. Quando a partição 2 for liberada, o processo 3 será o escolhido, pois o tamanho da partição é de 100K. Se, depois disso, a partição 3 for liberada, o processo 4 será o escolhido.
  • 18. Prof.: VIDAL claudio_vidal@alcidesmaya.com.br ● Uma outra ideia é a de termos uma única fila: – Todos os trabalhos são colocados nesta fila. – Quando uma partição for liberada, podemos: ● Ou escolher o tamanho mais próximo do início da fila cujo tamanho é menor ou igual ao desta partição. ● Ou escolher o trabalho da fila cujo tamanho é o mais próximo do tamanho desta partição. Ao usarmos este algoritmo, os espaços gastos dentro da partição serão os menores possíveis. O problema é que os trabalhos menores podem nunca ser executados, o trabalho 5, caso sempre seja submetido um outro trabalho com tamanho maior do que 5K, antes de este trabalho ser executado.