Gerência de Memória Sistemas Operacionais I

download Gerência de Memória Sistemas Operacionais I

of 75

  • date post

    31-Dec-2015
  • Category

    Documents

  • view

    23
  • download

    2

Embed Size (px)

description

Gerência de Memória Sistemas Operacionais I. Módulo 8. GERÊNCIA DE MEMÓRIA. Premissa A memória real é o recurso de armazenamento de acesso direto Processos devem ser carregados para a memória real No todo Em parte O S.O. deve permanecer na memória real e ocupar o menor espaço possível. - PowerPoint PPT Presentation

Transcript of Gerência de Memória Sistemas Operacionais I

  • Gerncia de MemriaSistemas Operacionais I

    Mdulo 8

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIAPremissaA memria real o recurso de armazenamento de acesso diretoProcessos devem ser carregados para a memria realNo todoEm parteO S.O. deve permanecer na memria real e ocupar o menor espao possvel

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIAPremissaEndereamento de instrues e dados podem ser constitudo de trs formasTempo de compilao (Compile Time)Se a(s) locao(es) de memria so conhecidas, ento o cdigo pode possuir endereamento absoluto necessrios recompilar o programa se a(s) locao(es) forem alteradas

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIAPremissaEndereamento de instrues e dados podem ser constitudo de trs formasTempo de carga (Load Time) Se a(s) locao(es) de memria no so conhecidas, necessrio gerar cdigo relocvelTempo de execuo (Execution Time)Endereamento constitudo dinamicamente, durante a execuo, se o processo for movido de uma rea de memria para outra necessrio suporte de hardware para mapear os endereos

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIAProblema necessrio otimizar o uso da rea de memria realSoluo-ProblemaSubdividir a memria em unidades de alocaoDe que forma?Quais os requisitos para a gerncia?

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitos O S.O. precisa:Alocar espaos na memria para programasDe forma explcita ou implcitaDe-alocar espaos quando necessrioEfetuar a manuteno das tabelasEx: mapear memria virtual na memria fsicaDecidir quanto de memria alocar a cada processo e quando um processo ser removido da memria

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitos RelocaoDefinio: ajuste no programa executvel para que execute em um conjunto pr estabelecido de endereos de memria.O processo no tem locao de memria pr-fixadaO processo pode ser retirado (swapped out) da memria e retornar em qualquer outra locao

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitos RelocaoNecessidadeO endereamento no pode ser absolutoAs referncias precisam ser transformadas em endereos reais

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitosRelocaoFormas bsicas de relocaoEm tempo de execuo (Hardware) Em tempo de compilaoNo boot do sistema esse mtodo ainda utilizado

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitosRelocaoFormas bsicas de relocaoEm tempo de carga, pelo sistema operacional. lento. O programa no pode mudar de reaEstrutura do programa:

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitos ProteoProcessos no podem acessar reas de outros processos sem prvia autorizaoProblemaComplexidade da verificao dos acessosRelocao e endereos dinmicosAcessos devem ser verificados a tempo de execuo pelo hardware

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitos CompartilhamentoPermitir que vrios processos faam acesso mesma rea de memriaCompartilhar cdigo executvelCompartilhar rea de dadosControlar acesso a reas de memria sem comprometer a proteo do S.O.

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitos Estrutura lgicaOrganizao da memria em lista linear de endereosProgramas so organizados em mdulosVantagens da implementao integradaCompilao independente dos mdulosProteo apropriada dos mdulosCompartilhamento de mdulos entre os processos

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitos Estrutura fsicaProblemaA memria real pode ser insuficiente para um processo

    Sistemas Operacionais I - Verso Beta 3

  • GERNCIA DE MEMRIARequisitos Estrutura fsicaSoluoOverlayingDividir em mdulos que no so carregados simultaneamenteUma rotina responsvel pela carga dos mdulosSoluo complexaO programador pode no ter conhecimento da memria disponvel

    Sistemas Operacionais I - Verso Beta 3

  • RELOCAOQuando um processo carregado para a memria as referncias a memria real (endereo absoluto) precisam ser ajustadasMotivoProcessos podem ocupar diferentes reas de memriaParties diferentesCausasSWAPINGCompactao

    Sistemas Operacionais I - Verso Beta 3

  • ENDEREAMENTOLgico/VirtualReferncia a uma posio de memria independe da localizao REAL na memriaGerado pela CPUTambm conhecido como endereo virtualTraduo endereo-lgico endereo-fsicoFsicoEndereo REAL na memria

    Sistemas Operacionais I - Verso Beta 3

  • ENDEREAMENTORelativoO endereo expresso em relao a algum ponto baseBase+Deslocamento

    Sistemas Operacionais I - Verso Beta 3

  • ENDEREAMENTOEndereamento lgico e fsico so idnticos no endereamento constitudo em tempo de compilao e em tempo de carga. So diferentes no caso do endereamento constitudo em tempo de execuo

    Sistemas Operacionais I - Verso Beta 3

  • ENDEREAMENTOMemory-Management Unit (MMU)Dispositivo de Hardware que mapeia endereos virtuais em fsicosNo esquema MMU, o contedo no registrados de relocao adicionado a qualquer endereo gerado pelo processoO processo utiliza endereo lgico. NUNCA usa endereo fsico

    Sistemas Operacionais I - Verso Beta 3

  • ENDEREAMENTOSuporte de Hardware

    Registrador de BaseSomadorS.O. IntEndereo relativoEnd.AbsolutoComparadorPCBTEXTDSSSRegistrador de Limite

    Sistemas Operacionais I - Verso Beta 3

  • ENDEREAMENTORegistradores utilizados Registrador de base (Base register)Endereo inicial do processoRegistrador de limite (Bounds register)Endereo final do processoEstes valores so ajustados quando o processo carregado ou swapped in

    Sistemas Operacionais I - Verso Beta 3

  • ENDEREAMENTORegistradores utilizados O valor no registrador de base somado a um endereo relativo para produzir um endereo absolutoO resultado comparado com o registrador de limiteSe no estiver contido no limite permitido, uma interrupo gerada

    Sistemas Operacionais I - Verso Beta 3

  • SWAPPINGUm processo pode ser retirado temporariamente da memria e retornar aps algum tempoBacking storerea em disco, veloz, grande o suficiente para acomodar as cpias de imagens da memria (de todos ou parte dos usurios) necessrio prover acesso direto a essas imagens

    Sistemas Operacionais I - Verso Beta 3

  • SWAPPINGRoll out, roll in Variante da tcnica swapping utilizada por algoritmos de escalonamento priority-basedProcessos com baixa prioridade so swapped-out para dar lugar a processos com alta prioridadeO tempo dispensado gasto com a transferncia de dados proporcional a quantidade de memria a ser swapped.

    Sistemas Operacionais I - Verso Beta 3

  • SWAPPING

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao contgua simplesComum em S.O. monoprogramveisA memria dividida em duas partesS.O.Processo usurioProcesso UsurioSistema OperacionalMemria Real

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao contgua simplesO programador responsvel por evitar violar a regio onde reside o S.O.Algumas implementaes de S.O. delimitam o espao mximo de endereamento do processo usurioUso de overlay

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Motivao: multiprogramaoDiviso da memria em pedaosTamanhos IguaisdiferentesParmetro de sistemaQuando geradoQuando inicializado

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Cada partio comporta processos com requisitos de memria menor ou igual a partioUso ineficiente da memria, causando desperdcio de memria na partio (Fragmentao Interna)Se todas as parties estiverem alocadas o S.O. pode utilizar o swapping para carregar mais processosSe o processo no couber na partio pode-se utilizar a tcnica de overlay (ovl)

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Endereamento absolutoProcesso s pode ser carregado na mesma regio de memriaEndereamento virtualProcesso pode ser carregado em qualquer regio de memriaRegistrador de relocao

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Tamanhos iguais

    FragmentoPnP1P2Partio 1Partio 2Partio 3S.O.= Fragmento + Partio Processo no pode ser executadoMemria Real

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Tamanhos iguais

    FragmentoPn (Principal)Pn (OVL)Carga do OvlCarga do PrincipalP1P2Partio 1Partio 2Partio 3S.O.Memria Real

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Tamanhos diferentesProcesso alocado na menor partio que o comporteMinimiza o problema de fragmentao interna mas no o elimina

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Tamanhos diferentesUma fila de acesso por partioOtimiza o uso do espao na partioUma fila para o sistema como um todoOtimiza o uso das parties

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Tamanhos diferentesUma fila por partio

    Processos NovosS.O.

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao particionada esttica (partio fixa)Tamanhos diferentesUma fila para o sistema

    Sistemas Operacionais I - Verso Beta 3

  • ALOCAO DE MEMRIAAlocao com parties dinmicasParties no tamanho que o processo necessitaAs parties so criadas por demandaO nmero e o tamanho de cada partio varia no tempoProblemaEspaos no alocveis so criados

    S