Buscar

Sistemas_Operacionais_Aula_03

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 4 – Gerência de Memória
OBJETIVOS DA AULA
Descrever a alocação particionada
Analisar o funcionamento da paginação 
Diferenciar paginação e segmentação
GERÊNCIA DE MEMÓRIA
http://media.forumpcs.com.br/
Hierarquia da Memória
Algumas memórias no computador armazenam de forma permanente (não voláteis), enquanto outras de forma temporária (voláteis)
A memória principal armazena programas e seus dados, para que possam ser executados, referenciados, acessados
GERÊNCIA DE MEMÓRIA
Memória Principal
Nos sistemas multitarefa, torna-se indispensável gerenciar a memória principal, devido à importância, o custo e a exiguidade desse recurso
A gerência de memória possui duas abordagens principais:
Manter os processos na memória principal durante toda a sua execução
Mover os processos entre a memória principal e a secundária (tipicamente disco), utilizando técnicas de permuta (swapping) ou de paginação
GERÊNCIA DE MEMÓRIA
A memória principal disponível é dividida entre o SO e o programa em execução (sistemas monoprogramáveis)
O tamanho máximo do programa é limitado à memória principal disponível
Essa limitação veio a ser superada com a técnica de overlay
Alocação Contígua 
GERÊNCIA DE MEMÓRIA
Utiliza o conceito de sobreposição: a mesma região da memória será ocupada por módulos diferentes do processo
É de responsabilidade do usuário esse gerenciamento, que geralmente é oferecido como um recurso da linguagem
Técnica de OVERLAY
GERÊNCIA DE MEMÓRIA
Um módulo (raiz) do programa fica sempre residente e os demais módulos são mutuamente exclusivos em relação a sua execução; esses módulos permanecem no disco até que sejam necessários 
Foi o primeiro uso do conceito de mover partes do processo entre o disco e a memória principal, o que acabaria por originar as modernas técnicas de gerenciamento de memória, nas quais a divisão dos módulos é totalmente transparente para o usuário
Técnica de OVERLAY
GERÊNCIA DE MEMÓRIA
A forma mais simples de se manter mais de um processo (multitarefa) de usuário na memória ao mesmo tempo é dividir a memória em n partições 
(possivelmente diferentes) e alocar 
os diferentes processos 
em cada uma delas
Alocação Particionada Fixa (Estática)
GERÊNCIA DE MEMÓRIA
Deve-se considerar a diferença entre o código absoluto (referências a endereços no programa são posições físicas da memória principal) e o código relocável (referências a endereços no programa são relativas ao início do código), permitindo que os programas sejam 
executados a partir de qualquer partição
Alocação Particionada Fixa (Estática)
GERÊNCIA DE MEMÓRIA
Nos primeiros sistemas as partições eram estabelecidas na configuração do SO e seu tamanho e localização somente podiam ser alterados realizando um novo boot
Estratégias para alocar o processo:
Uma única fila de entrada – todos os processos ficam na mesma fila e vão sendo alocadas na menor partição livre que os possa acomodar
Uma fila por partição – os processos são divididos em várias filas de acordo com o seu tamanho e são alocados quando a partição atendida pela fila está disponível
Alocação Particionada Fixa (Estática)
GERÊNCIA DE MEMÓRIA
Na alocação particionada fixa havia desperdício por conta dos espaços não ocupados nas partições (fragmentos)
A memória principal não é particionada em blocos de tamanhos pré-determinados; existe uma partição que ocupa toda a memória disponível para usuários
Os processos vão sendo alocados, essa partição única vai diminuindo até que não caibam mais processos no espaço restante, resultando num único fragmento
Alocação Particionada Dinâmica
GERÊNCIA DE MEMÓRIA
Quando um processo termina e deixa a memória, o espaço ocupado por ele se torna uma 
partição livre, que será 
utilizada para alocar outro 
processo
Podemos notar, que após 
alocar e desalocar vários 
processos, a memória pode se
(re)particionar
Alocação Particionada Dinâmica
GERÊNCIA DE MEMÓRIA
A escolha da partição para o próximo job da fila deverá ser feita de acordo com uma das seguintes políticas:
BEST-FIT: alocar o job na partição disponível de tamanho mais próximo ao do job, buscando deixar fragmentos livres menores
FIRST-FIT: procura alocar o job na primeira partição onde ele couber, buscando agrupar os jobs pequenos separando-os dos grandes
WORST-FIT: procura alocar o job na maior partição disponível onde ele couber, buscando mais um job pequeno no espaço resultante
 
Alocação Particionada Dinâmica
GERÊNCIA DE MEMÓRIA
A técnica de swapping consiste em remover um processo da memória toda vez que ele fica bloqueado, retornando-o a fila de PRONTO quando a condição estiver satisfeita
Vantagens: maior compartilhamento de memória; menor fragmentação; bom para processos pequenos e poucos usuários
Desvantagem: custo alto por ser uma operação com memória secundária, overhead
 
Swap de Memória 
GERÊNCIA DE MEMÓRIA
Por exemplo: os sistema retira o processo que está no meio de uma área livre de memória (swap out), coloca-o no disco, atribui a nova partição disponível ao processo que estava esperando e, posteriormente, atribui outra partição (swap in) ao processo que
foi desalojado 
 
Swap de Memória 
GERÊNCIA DE MEMÓRIA
Espaço de endereçamento é o conjunto de endereços que um processo faz referências; o espaço de endereçamento lógico de um programa tem que ser mapeado em um espaço de endereçamento físico de memória
Espaço de endereçamento virtual é o conjunto de endereços que um programa pode endereçar, que pode ser maior que a memória física disponível no momento ou mesmo que o total de memória fisicamente disponível na máquina; ao conjunto de endereços reais de memória chamamos espaço de endereçamento real
Memória Virtual 
GERÊNCIA DE MEMÓRIA
Paginação: Conceito e Operação
O espaço de endereços é dividido em blocos de igual tamanho (páginas); a memória principal também é dividida em blocos (molduras) de mesmo tamanho das páginas 
O mecanismo da paginação possui duas atribuições:
executar a operação de mapeamento, isto é, determinar qual a página referenciada e em que bloco de memória (se for o caso) ela se encontra
transferir páginas da memória secundária para os blocos da memória principal (quando for requerido) e guardá-las de volta na memória secundária quando elas não estiverem em uso
GERÊNCIA DE MEMÓRIA
Paginação: Operação
GERÊNCIA DE MEMÓRIA
Tabela de páginas
Memória
Mapeamento: Conceito
É a tradução do endereço lógico em endereço físico, com objetivo de encontrar o código a ser executado
Os endereços lógicos dos objetos referenciados pelo processo devem ser traduzidos em endereços físicos da memória principal
GERÊNCIA DE MEMÓRIA
 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 
 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 
16-bit endereço lógico
10-bit offset
06-bit página
16-bit endereço físico
Tabela de página
 de processo
0 0 1 0 1 1
0 0 0 1 1 0
0 1 1 0 0 1
Tradução
0
1
2
Página 1 está na memória - frame 6
Offset: deslocamento dentro da página
Mapeamento: Exemplo
GERÊNCIA DE MEMÓRIA
Segmentação: Conceito e Operação
O programa não mais é dividido em blocos de tamanho fixo (páginas), mas em segmentos lógicos de tamanhos variados
O grande número de page faults da paginação se deve, principalmente, ao fato de não se considerar características das estruturas lógicas do programa
A segmentação busca aproveitar exatamente essas características, agrupando num segmento partes do programa que se referenciam mutuamente e que quando trazidas a memória estarão todas juntas
GERÊNCIA DE MEMÓRIA
Segmentação com Paginação: Conceito e Operação
Segmentos muito grandes poderiam eventualmente, ultrapassar a memória disponível da máquina
Podemos limitar o tamanho máximo do segmento ou aplicar a paginação na implementação da segmentação, aproveitando o melhor de cada uma dessas formas
Divide-se o programa em segmentos, que por suavez serão divididos em páginas
Em tempo de execução alguns trechos de um segmento estariam na memória principal e outros não
GERÊNCIA DE MEMÓRIA
Segmentação com Paginação: Vantagens
Não é necessário manter todas as páginas de um segmento na memória, apenas aquelas usadas correntemente
As páginas de um segmento não precisam ser carregadas em áreas contíguas, ou seja, podem estar espalhadas pela memória
GERÊNCIA DE MEMÓRIA
Engenheiro de Sistemas e Computação pela UERJ, Especialista em Sistemas Abertos e Mestre em Educação. Atualmente, é Coordenador (Graduação e Pós-Graduação), Professor adjunto e Tutor da Universidade Estácio de Sá. Tem experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação e Tecnologias da Informação e Computação, e também na área de Educação, com ênfase em Tecnologias de Informação e Comunicação nos Processos Educacionais
http://lattes.cnpq.br/6477530917342363
Prof. Luiz di Marcello Senra Santiago
GERÊNCIA DE MEMÓRIA

Outros materiais