Sistemas operacionais/Gerência de memória: diferenças entre revisões

[edição não verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
m Foram revertidas as edições de 2804:1B2:81:1658:E9BC:3387:FF2A:7525 (disc) para a última revisão de 200.195.148.20
Etiqueta: Reversão
Linha 14:
 
A MMU consiste de um chip ou uma coleção de chips.
 
Cuidado com o wikipedia, qualquer um pode escrever o que quiser aqui. Ainda mais pra você que está estudado pra prova de arquitetura de computadores de hoje (14/06/2019).
 
== Modelo de memória de processos ==
Linha 21 ⟶ 19:
Para que um programa seja executado ele precisa ser transformado em processo(s), assim é necessário alocar o descritor de processos, '''alocar espaço na memória''' para o '''código''' (área conhecida como TEXT, onde se localiza o programa principal, as funções e as bibliotecas estáticas), os '''dados''' (Data, área onde as variáveis são alocadas - globais, locais estáticas, buffers internos)e a '''pilha''' (que possui o HEAP, área onde se localiza as variáveis dinâmicas, e o STACK, endereços de retorno de chamadas e parâmetros de funções).
 
A atribuição de endereço físico para as áreas de código toda e áreas de dados pode ser feita de três formas: em tempo de compilação, em tempo de carga e em tempo de execução. Em tempo de compilação o programador já faz a conversão de endereço lógico em endereço físico, pois ele tem conhecimento de qual área da memória ira utilizar. Em tempo de carga o código precisa ser relocável de forma que todas as referências a memória sejam corrigidas para que o endereço de carga corresponda (carregador relocador), em outras palavras no momento da carga o programa executável é interpretado e os endereços corrigidos, dispensando a MMU. Em tempo de execução tem-se o código absoluto e é realizada uma relocação dinâmica usando a MMU, não sendo necessário corrigir os endereços no momento da carga do programa em memória.
 
== Gerenciamento Básico de Memória ==