exercÍcios aula 7

2
ALUNO:CARLESANDRO GASPAR EXERCÍCIOS 1. Explique a diferença entre endereços lógicos e endereços físicos e as razões que justificam seu uso. Endereço físico são endereços reais, onde realmente se encontra. Endereço lógico é gerado pelos processos, lógica do programa. 2. Explique em que consiste a resolução de endereços nos seguintes momentos: codificação, compilação, ligação, carga e execução. Codificação: programa escolhe a posição de cada variável e do código do programa (Sistemas embarcados em linguagem de máquina) Compilação: compilados escolhe a posição das variáveis na memória, código fonte faze parte do programa deve se conhecido no momento da compilação para evitar conflito em endereços na memória. Ligação: compilador gera símbolos que representem as variáveis Carga: define os objetos de variáveis e funções de carga do código em memória para lançamento de novo processo. Execução: são analisados e convertidos pelo processador para a memória final (real) 3. Como é organizado o espaço de memória de um processo? Text:contém o código a ser executado pelo processo, gerado durante a compilação e a ligação das bibliotecas. Data:dados estáticos usado pelos programas. Heap: armazena dados para alocação dinâmica, malloc, free. Slock:mantém a pilha de execução do processo. 4. O que é uma MMU – Memory Management Unit? MMU Memory Management Unit ( é um dispositivo de hardware que transforma endereços virtuais em endereços físicos. Na MMU, o valor no registo de re-locação é adicionado a todo o endereço lógico gerado por um processo do utilizador na altura de ser enviado para a memória. O programa do

Upload: carlesandro-gaspar

Post on 05-Dec-2014

491 views

Category:

Documents


114 download

TRANSCRIPT

Page 1: EXERCÍCIOS AULA 7

ALUNO:CARLESANDRO GASPAR

EXERCÍCIOS1. Explique a diferença entre endereços lógicos e endereços físicos e asrazões que justificam seu uso.Endereço físico são endereços reais, onde realmente se encontra.Endereço lógico é gerado pelos processos, lógica do programa.2. Explique em que consiste a resolução de endereços nos seguintes momentos: codificação, compilação, ligação, carga e execução.Codificação: programa escolhe a posição de cada variável e do código do programa (Sistemas embarcados em linguagem de máquina)Compilação: compilados escolhe a posição das variáveis na memória, código fonte faze parte do programa deve se conhecido no momento da compilação para evitar conflito em endereços na memória. Ligação: compilador gera símbolos que representem as variáveis Carga: define os objetos de variáveis e funções de carga do código em memória para lançamento de novo processo.Execução: são analisados e convertidos pelo processador para a memória final (real)3. Como é organizado o espaço de memória de um processo?Text:contém o código a ser executado pelo processo, gerado durante a compilação e a ligação das bibliotecas.Data:dados estáticos usado pelos programas.Heap: armazena dados para alocação dinâmica, malloc, free.Slock:mantém a pilha de execução do processo.4. O que é uma MMU – Memory Management Unit?MMU Memory Management Unit ( é um dispositivo de hardware que transforma endereços virtuais em endereços físicos.Na MMU, o valor no registo de re-locação é adicionado a todo o endereço lógico gerado por um processo do utilizador na altura de ser enviado para a memória. O programa do utilizador manipula endereços lógicos; ele nunca vê endereços físicos reais.5. Seria possível e/ou viável implementar as conversões de endereçosrealizadas pela MMU em software, ao invés de usar um hardwarededicado? Por que?6. Explique as principais formas de alocação de memória.A alocação de memória pode ser:- Alocação estática: Decisão tomada quando o programa é compilado.- Alocação dinâmica: Decisão é adiada até a execução. (Permite swapping)7. Explique o que é fragmentação externa. Quais formas de alocação dememória estão livres desse problema?

Page 2: EXERCÍCIOS AULA 7

Fragmentação externa: entre processos. 8. Explique o que é fragmentação interna. Quais formas de alocação dememória estão livres desse problema?Fragmentação interna: dentro de um processo. e um processo pede 18462 bytes o que fazer ? Alocar exatamente este tamanho é caro de gerenciar. Normalmente aloca-se em blocos de tamanho potência de 2: 4K,

8K, ... Se um processo pedir 8193 bytes alocar-se-á dois blocos de 8K, e

do segundo usar-se-á só 1 byte!