SlideShare uma empresa Scribd logo
1 de 23
Disciplina:
SISTEMASOPERATIVOS (SO)
Docente: Nilza dos Santos
E-mail: dossantoslucia@gmail.com
Aula 3
Gestão de Memória
Nilza dos Santos
Considerações Gerais
• Memória necessita ser alocada de forma eficiente para permitir o
máximo possível de processos.
• Um sistema de memória possui pelo menos dois níveis:
Memória principal: acessada pela CPU
Memória secundária: discos
• Programas são armazenados em disco.
Executar um programa se traduz em transferi-lo da memória secundária à
memória primária.
• Qualquer sistema operativo tem gerência de memória.
Monotarefa: gerência é simples.
Multitarefa: complexa.
Nilza dos Santos
Memória lógica e Memória física
• Memória lógica
É aquela que o processo “enxerga”.
Endereços lógicos são aqueles manipulados por um processo.
• Memória física
Implementada pelos circuitos integrados de memória.
Endereços físicos são aqueles que correspondem a uma posição real de
memória.
Nilza dos Santos
Endereço lógico versus endereço físico
• Espaço lógico de um processo é diferente do espaço físico.
Endereço lógico: gerado pela CPU (endereço virtual)
Endereço físico: endereços enviados para a memória RAM
• Programas de usuários “vêem” apenas endereços lógicos.
• Endereços lógicos são transformados em endereços físicos no momento
de execução dos processos.
Nilza dos Santos
Unidade de gerência de memória
• Memory Management Unit (MMU)
Hardware que faz o mapeamento entre endereço lógico e endereço físico.
• Existem inúmeros tipos de MMU (ou UGM):
 Inicialmente simples, baseada em registos de relocação
 Constituída depois por um chip dedicado com mais funções.
 Actualmente faz parte do chipset da maioria dos processadores, tendo-se
tornado bastante complexo de utilizar e programar.
Nilza dos Santos
Ligação de Instruções e Dados à Memória
• A ligação das Instruções e Dados a Endereços Físicos da Memória podem ser
feitos em três alturas distintas:
• Na compilação: se os endereços de memória são conhecidos à priori, o código
pode ser gerado de forma absoluta.
 Mas se o endereço de início muda, terá de ser recompilado.
• No carregamento: se os endereços da memória onde o processo vai ser
carregado não são conhecidos no momento da compilação, o código é gerado
em modo relocável.
• Na execução: se o processo pode ser carregado em vários endereços e memória
diferentes durante a sua execução, a ligação aos endereços não pode ser
realizada de forma definitiva.
• Nesse dois últimos casos é necessário suporte do hardware para realizar o
mapeamento de endereços:
 Registos de Base e Limite
 Unidade de Gestão Memória
Nilza dos Santos
Código relocável
• Carregador relocador
Correção de todas as referências a memória de forma a corresponder ao
endereço de carga do programa.
• Necessidade de identificar quais endereços devem ser corrigidos.
Código relocável
Mapeamento das posições a serem corrigidas é mantida através de tabelas
• Código executável mantém informações de relocação na forma de
tabelas.
No momento da carga o programa executável é interpretado e os endereços
corrigidos.
Nilza dos Santos
Código absoluto
• Carregador absoluto
Não realiza correção de endereços no momento da
carga do programa em memória.
• Código executável absoluto não necessita manter tabelas de endereços
a serem corrigidos.
• Endereço de carga
Fixo pelo programa (programador)
Qualquer correção pode ser feita automaticamente, de
forma transparente, a partir de registradores de base.
Nilza dos Santos
Mecanismo Básico de Relocação
• A todos os endereços lógicos gerados pelo CPU é adicionado o valor
contido num registo de relocação.
Nilza dos Santos
Mecanismo Básico de Limitação
• É também necessário limitar o espaço de endereçamento lógico a que
um processo pode aceder.
• Para isso são utilizados os dois registos base e limite.
Nilza dos Santos
Mecanismo Básico de Protecção
• Com os Registos de Base e Limite é possível implementar um
esquema de protecção muito simples:
 Quando o endereço gerado pelo CPU é inferior à base ou superior ao
limite é gerada uma excepção para o sistema operativo.
 Para cada processo são carregados valores diferentes nos registos.
Nilza dos Santos
Alocação de Memória
• Para carregar um processo em memória, é necessário
atribuir-lhe uma zona de memória de tamanho igual ou
superior ao espaço físico total que ocupa.
• A alocação de Memória mais simples é feita através do
particionamento do espaço físico disponível em
múltiplos blocos
 Bloco livre: espaço contínuo de memória livre que
pode estar localizado em qualquer sítio da memória
física.
 Quando um processo está para ser carregado em
memória, é-lhe atribuída memória de um bloco livre.
 O Sistema Operativo mantém informações sobre os
Blocos livres.
Blocos ocupados.
Nilza dos Santos
Mecanismos de Particionamento
• Existem várias formas de particionar o espaço memória, que dependem
sobretudo do tipo de Unidade de Gestão Memória utilizada.
 O mecanismo mais simples consiste na utilização de dois registos base e limite,
que só permitem alocação contínua de toda a memória de um processo.
• Com a evolução do hardware, mecanismos mais complexos têm sido
desenvolvidos e integrados pelos SO ao longo dos tempos.
• Utilização de múltiplos registos de relocação, permitindo distinguir
várias zonas distintas no espaço de um processo.
 Segmentação
• Decomposição do espaço lógico e físico em inúmeras pequenas zonas
independentes da natureza do seu conteúdo
 Paginação
Nilza dos Santos
Alocação Memória em Modo Contínuo
• Como responder a um pedido de alocação de N bytes a partir de uma
lista de blocos livres:
• First-fit: alocar o primeiro bloco livre suficientemente grande para
conter N bytes.
• Best-fit: alocar o mais pequeno bloco que seja suficientemente grande
para conter N bytes.
 É preciso percorrer a lista toda, a menos que esteja ordenada por tamanhos.
 Produz os melhores resultados pois provoca menos desperdícios.
•
• Worst-fit: alocar o maior bloco que seja suficientemente grande.
 Necessita percorrer a lista toda.
Nilza dos Santos
Algoritmos de Alocação de Memória
•
Nilza dos Santos
Nilza dos Santos
Nilza dos Santos
Nilza dos Santos
Swapping
• Um processo pode ser temporariamente e parcialmente retirado da
memoria central caso haja falta de espaço para manter todos os
processo, e mais tarde de novo carregado para continuar a execução.
 A unidade de swapping é geralmente o segmento.
• Memória Secundária (Backing Store) – espaço em disco rápido
suficientemente grande para guardar cópias das imagens memória de
todos os processos residentes; deve permitir acesso rápido e directo a
essas imagens.
• Roll out, roll in – variante do swapping utilizada para algoritmos de
scheduling baseados na prioridade: os processos com baixa prioridade
podem ser retirados da memória para deixar espaço a processos com
maior prioridade.
Nilza dos Santos
Nilza dos Santos
TPC
Gestão de Ficheiros
• Conceitos:
• Ficheiros
• Directórios
• Partição
• Estrutura de Ficheiros:
• Sequência de bytes;
• Sequência de registros;
• Árvore.
• Operações sobre ficheiros
Nilza dos Santos
É o suficiente por hoje!
Nilza dos Santos

Mais conteúdo relacionado

Semelhante a Resumos sobre tecnologias de informação e conceitos basicos

Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria37193694
 
Memoria do computador
Memoria do computadorMemoria do computador
Memoria do computadorMarcos Amauri
 
7 – mecanismos de gestão de memória
7 – mecanismos de gestão de memória7 – mecanismos de gestão de memória
7 – mecanismos de gestão de memóriaMaria194536
 
Processadores de computador - redes e sistemas.pptx
Processadores de computador - redes e sistemas.pptxProcessadores de computador - redes e sistemas.pptx
Processadores de computador - redes e sistemas.pptxp2playeducation
 
Introdução a computação 04 (1)
Introdução a computação 04 (1)Introdução a computação 04 (1)
Introdução a computação 04 (1)Felipe Pereira
 
Introdução a computação 04
Introdução a computação 04Introdução a computação 04
Introdução a computação 04Felipe Pereira
 
SO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e AlocaçãoSO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e AlocaçãoEduardo Nicola F. Zagari
 
Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memóriaelliando dias
 
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 PrincipalAlexandre Duarte
 
Estou seguro com no sql
Estou seguro com no sqlEstou seguro com no sql
Estou seguro com no sqlRafael Redondo
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e softwarePaulo Fonseca
 
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
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memóriasElaine Cecília Gatto
 
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.pdfSilvano Oliveira
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: IntroduçãoAlexandre Duarte
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoriaaudineisilva1
 

Semelhante a Resumos sobre tecnologias de informação e conceitos basicos (20)

Microprocessadores
MicroprocessadoresMicroprocessadores
Microprocessadores
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 
Memoria do computador
Memoria do computadorMemoria do computador
Memoria do computador
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
7 – mecanismos de gestão de memória
7 – mecanismos de gestão de memória7 – mecanismos de gestão de memória
7 – mecanismos de gestão de memória
 
Processadores de computador - redes e sistemas.pptx
Processadores de computador - redes e sistemas.pptxProcessadores de computador - redes e sistemas.pptx
Processadores de computador - redes e sistemas.pptx
 
Introdução a computação 04 (1)
Introdução a computação 04 (1)Introdução a computação 04 (1)
Introdução a computação 04 (1)
 
Introdução a computação 04
Introdução a computação 04Introdução a computação 04
Introdução a computação 04
 
Gestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptxGestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptx
 
SO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e AlocaçãoSO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e Alocação
 
Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memória
 
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
 
Estou seguro com no sql
Estou seguro com no sqlEstou seguro com no sql
Estou seguro com no sql
 
Hardware memória principal
Hardware  memória  principalHardware  memória  principal
Hardware memória principal
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e software
 
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
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memórias
 
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
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoria
 

Resumos sobre tecnologias de informação e conceitos basicos

  • 1. Disciplina: SISTEMASOPERATIVOS (SO) Docente: Nilza dos Santos E-mail: dossantoslucia@gmail.com Aula 3
  • 3. Considerações Gerais • Memória necessita ser alocada de forma eficiente para permitir o máximo possível de processos. • Um sistema de memória possui pelo menos dois níveis: Memória principal: acessada pela CPU Memória secundária: discos • Programas são armazenados em disco. Executar um programa se traduz em transferi-lo da memória secundária à memória primária. • Qualquer sistema operativo tem gerência de memória. Monotarefa: gerência é simples. Multitarefa: complexa. Nilza dos Santos
  • 4. Memória lógica e Memória física • Memória lógica É aquela que o processo “enxerga”. Endereços lógicos são aqueles manipulados por um processo. • Memória física Implementada pelos circuitos integrados de memória. Endereços físicos são aqueles que correspondem a uma posição real de memória. Nilza dos Santos
  • 5. Endereço lógico versus endereço físico • Espaço lógico de um processo é diferente do espaço físico. Endereço lógico: gerado pela CPU (endereço virtual) Endereço físico: endereços enviados para a memória RAM • Programas de usuários “vêem” apenas endereços lógicos. • Endereços lógicos são transformados em endereços físicos no momento de execução dos processos. Nilza dos Santos
  • 6. Unidade de gerência de memória • Memory Management Unit (MMU) Hardware que faz o mapeamento entre endereço lógico e endereço físico. • Existem inúmeros tipos de MMU (ou UGM):  Inicialmente simples, baseada em registos de relocação  Constituída depois por um chip dedicado com mais funções.  Actualmente faz parte do chipset da maioria dos processadores, tendo-se tornado bastante complexo de utilizar e programar. Nilza dos Santos
  • 7. Ligação de Instruções e Dados à Memória • A ligação das Instruções e Dados a Endereços Físicos da Memória podem ser feitos em três alturas distintas: • Na compilação: se os endereços de memória são conhecidos à priori, o código pode ser gerado de forma absoluta.  Mas se o endereço de início muda, terá de ser recompilado. • No carregamento: se os endereços da memória onde o processo vai ser carregado não são conhecidos no momento da compilação, o código é gerado em modo relocável. • Na execução: se o processo pode ser carregado em vários endereços e memória diferentes durante a sua execução, a ligação aos endereços não pode ser realizada de forma definitiva. • Nesse dois últimos casos é necessário suporte do hardware para realizar o mapeamento de endereços:  Registos de Base e Limite  Unidade de Gestão Memória Nilza dos Santos
  • 8. Código relocável • Carregador relocador Correção de todas as referências a memória de forma a corresponder ao endereço de carga do programa. • Necessidade de identificar quais endereços devem ser corrigidos. Código relocável Mapeamento das posições a serem corrigidas é mantida através de tabelas • Código executável mantém informações de relocação na forma de tabelas. No momento da carga o programa executável é interpretado e os endereços corrigidos. Nilza dos Santos
  • 9. Código absoluto • Carregador absoluto Não realiza correção de endereços no momento da carga do programa em memória. • Código executável absoluto não necessita manter tabelas de endereços a serem corrigidos. • Endereço de carga Fixo pelo programa (programador) Qualquer correção pode ser feita automaticamente, de forma transparente, a partir de registradores de base. Nilza dos Santos
  • 10. Mecanismo Básico de Relocação • A todos os endereços lógicos gerados pelo CPU é adicionado o valor contido num registo de relocação. Nilza dos Santos
  • 11. Mecanismo Básico de Limitação • É também necessário limitar o espaço de endereçamento lógico a que um processo pode aceder. • Para isso são utilizados os dois registos base e limite. Nilza dos Santos
  • 12. Mecanismo Básico de Protecção • Com os Registos de Base e Limite é possível implementar um esquema de protecção muito simples:  Quando o endereço gerado pelo CPU é inferior à base ou superior ao limite é gerada uma excepção para o sistema operativo.  Para cada processo são carregados valores diferentes nos registos. Nilza dos Santos
  • 13. Alocação de Memória • Para carregar um processo em memória, é necessário atribuir-lhe uma zona de memória de tamanho igual ou superior ao espaço físico total que ocupa. • A alocação de Memória mais simples é feita através do particionamento do espaço físico disponível em múltiplos blocos  Bloco livre: espaço contínuo de memória livre que pode estar localizado em qualquer sítio da memória física.  Quando um processo está para ser carregado em memória, é-lhe atribuída memória de um bloco livre.  O Sistema Operativo mantém informações sobre os Blocos livres. Blocos ocupados. Nilza dos Santos
  • 14. Mecanismos de Particionamento • Existem várias formas de particionar o espaço memória, que dependem sobretudo do tipo de Unidade de Gestão Memória utilizada.  O mecanismo mais simples consiste na utilização de dois registos base e limite, que só permitem alocação contínua de toda a memória de um processo. • Com a evolução do hardware, mecanismos mais complexos têm sido desenvolvidos e integrados pelos SO ao longo dos tempos. • Utilização de múltiplos registos de relocação, permitindo distinguir várias zonas distintas no espaço de um processo.  Segmentação • Decomposição do espaço lógico e físico em inúmeras pequenas zonas independentes da natureza do seu conteúdo  Paginação Nilza dos Santos
  • 15. Alocação Memória em Modo Contínuo • Como responder a um pedido de alocação de N bytes a partir de uma lista de blocos livres: • First-fit: alocar o primeiro bloco livre suficientemente grande para conter N bytes. • Best-fit: alocar o mais pequeno bloco que seja suficientemente grande para conter N bytes.  É preciso percorrer a lista toda, a menos que esteja ordenada por tamanhos.  Produz os melhores resultados pois provoca menos desperdícios. • • Worst-fit: alocar o maior bloco que seja suficientemente grande.  Necessita percorrer a lista toda. Nilza dos Santos
  • 16. Algoritmos de Alocação de Memória • Nilza dos Santos
  • 20. Swapping • Um processo pode ser temporariamente e parcialmente retirado da memoria central caso haja falta de espaço para manter todos os processo, e mais tarde de novo carregado para continuar a execução.  A unidade de swapping é geralmente o segmento. • Memória Secundária (Backing Store) – espaço em disco rápido suficientemente grande para guardar cópias das imagens memória de todos os processos residentes; deve permitir acesso rápido e directo a essas imagens. • Roll out, roll in – variante do swapping utilizada para algoritmos de scheduling baseados na prioridade: os processos com baixa prioridade podem ser retirados da memória para deixar espaço a processos com maior prioridade. Nilza dos Santos
  • 22. TPC Gestão de Ficheiros • Conceitos: • Ficheiros • Directórios • Partição • Estrutura de Ficheiros: • Sequência de bytes; • Sequência de registros; • Árvore. • Operações sobre ficheiros Nilza dos Santos
  • 23. É o suficiente por hoje! Nilza dos Santos

Notas do Editor

  1. Protecção Memoria A protecção memória é implementada para garantir uso exclusivo de processos a espaço memória. Bit Válido/inválido associado a cada entrada na tabela de páginas: “válido” indica que a página associada está no espaço de endereçamento do processo e é portanto um acesso legal. “inválido” indica que a página não está acessível no espaço de endereçamento de um processo. Um acesso de um processo a uma página com o bit inválido provoca uma excepção (trap). Cada processo tem um conteúdo específico da tabela de páginas que faz parte do seu contexto de execução. Mesmo as páginas não utilizadas pelo processo têm de ser declaradas inválidas para prevenir acessos fora do espaço autorizado.
  2. Paginação Para resolver os problemas de fragmentação introduzidos pela alocação contínua em arquitecturas segmentadas. O espaço de endereçamento físico de um processo pode ser descontínuo A memória livre é utilizada onde estiver disponível A memória física é dividida em blocos de tamanho fixo chamados frames (“molduras”) cujo tamanho é uma potência de 2, geralmente compreendido entre 512 e 8192 bytes. A memória lógica é dividida em blocos do mesmo tamanho chamados páginas. O sistema guarda a lista de todas as frames livres. Para executar um programa com n páginas é necessário encontrar n frames livres. A localização física de cada frame é guardada numa tabela de páginas para realizar a tradução de endereços lógicos em endereços Físicos. A única fragmentação que existe é no interior das páginas.