• Nenhum resultado encontrado

Aula 13

N/A
N/A
Protected

Academic year: 2021

Share "Aula 13"

Copied!
14
0
0

Texto

(1)

Aula 13

Gerência de Memória - Segmentação

1.1 Limitações da paginação - o contexto da segmentação

1.2 O que é a segmentação 1.3 Implementação

1.4 Referências: Capítulo 9 (9.5)

(2)

O problema com a paginação

A visão do usuário é diferente da visão do S.O.

Como o usuário vê o espaço de endereçamento do processo

Pag 0 Pag 1 Pag 2 Pag 3 Pag 4

. . .

Como um conjunto homogêneo de endereços e posições de memória

Já o S.O. ... heap

Tabela de Símbolos

main() pilha f2()

f1()

... vê um conjunto de

áreas cada uma com uso

e dimensão próprios

O S.O vê o programa de

forma segmentada

(3)

Segmentação

Muitos SOs implementam uma visão segmentada do espaço de endereçamento:

- Cada “pedaço” do programa é tratado como um segmento

- Todo endereçamento usa:

<Nro do segmento,Offset>

- Desta forma, a visão do usuário replica a do S.O.

heap

Tabela de Símbolos

main() pilha f2()

f1()

- Facilita a proteção, pois é impossível

“errar” de segmento durante a execução:

- Com a paginação é possível “errar”,

porque o endereçamento dentro de

uma tarefa é linear

(4)

Implementação (1)

O hardware não é o mesmo da paginação:

limite base

. . .

0

s

Tabela de segmentos Endereço de

uma variável

s o

M e m ó ri a

s

- O tamanho dos segmentos não é uniforme.

O valor de offset que vale para um pode não valer para outro!

+ n

Erro

<

(5)

Implementação (2) Mais complicado!

Mais caro porque a tabela de segmentos tem o dobro do tamanho da tabela de páginas

Mas não é mais lento:

- A comparação do offset com o limite pode ser

feita simultâneamente com a soma da base

(6)

Fragmentação

Fragmentação é um problema da segmentação:

- Fragmentação externa

Normalmente, não é um problema grave, porque a execução do programa é dinâmica por

natureza:

- Se não houver espaço para alocar um segmento,

pode-se simplemente esperar até que o espaço

seja liberado

(7)

Segmentação e Paginação

“To page or to segment, that is the question”

Guess what...

Como se já não fôsse confuso o suficiente:

- Existem processadores que implementam segmentação com paginação

Felizmente, são processadores obscuros que podem ser ignorados sem problema:

Do both!.

Todos os processadores da Intel a partir do 386

(8)

Endereçamento no 386 (1)

• Número máximo de segmentos por processo: 16K

• Tamanho de cada segmento: 4G

• Tamanho da página 4K

(9)

Endereçamento no 386 (2)

Espaço de endereçamento se divide em duas partições com 8K segmentos cada:

• Local, descrita na LDT

• Global, descrita na GDT

Valores na LDT e GDT têm 8 bytes contendo infor-

mações sobre o segmento, tais como base e limite O endereço é:

segn g p offset

32 2

1 13

segn: número do segmento g: LDT ou GDT

p: proteção

offset: deslocamento dentro do segmento

(10)

Implementação

Existem 6 registradores de segmento, que permitem até 6 segmentos serem acessados

“simultâneamente”

• Funciona como a TLB, mas menor

• Não é problema, porque os segmentos podem ser grandes

• Paginação em dois níveis de tabelas

(11)

Endereçamento

segn g p offset

32 2

1 13

Endereço lógico:

p1 p2 page offset

12 10

10

Endereço linear:

Endereço físico:

Cálculo do segmento

Cálculo da

página

(12)

Porquê os processadores da Intel usam este método?

Complicado... (1)

Razões históricas – compatibilidade

- 8085: 16 bits de endereçamento – linear - 8088: 20 bits de endereçamento (?) –

para manter a compatibilidade considera que progra- mas antigos rodam dentro de um segmento.

Segmentação:

- 16 bits são o offset

- 4 bits são o número do segmento

(13)

Complicado... (2)

Razões históricas – compatibilidade

- 8086: Primeiro true 16 bits. Endereçamento pode ser linear, mas já era tarde, e os segmentos já fazem

parte dos programas

- 80386: Segmentação ineficiente leva à introdução da paginação

Conclusão: compatibilidade tem seu preço!

OBS: Fonte dos dados: vaga lembrança. Precisão dos

números não é garantida

(14)

Segmentação: técnica que permite uma visão uniforme do espaço de endereçamento pelo usuário e pelo S.O.

Processadores Intel: esquema complexo de

segmentação e paginação, mantido para garantir compatibilidade com processadores anteriores

Conclusão

Referências

Documentos relacionados

Benetton (1999) apresenta o caráter de funcionalidade na Terapia Ocupacional como tendo sido assumido por muitos autores, pelos precurssores da profissão (Meyer, Simon e Schneider)

O processo de transformação bacteriana utilizada na Biologia Molecular ocorre in vitro, e pode ser afetado pelo tamanho e conformação da molécula de DNA a ser introduzida na

Drawings, paintings and installations in which line paths delimit and question what makes an artwork figurative or abstract underpin the oeuvre of Riccardo Baruzzi, whom the

Os fatores relacionados ao conhecimento estão relacionados com “o potencial insuficiente de inovação, falta de pessoal qualificado: dentro da empresa, no mercado

Uma ação específica, uma interesse específico portanto, tem sempre um quê de inconsciência, e a ação que se furta à determinação consciente das categorias acaba por se

Para chegar ao R$ 1 bilhão de economia nos gastos administrativos que anunciou na semana passada, o governo Geraldo Alckmin (PSDB) considerou números de uma empresa estatal e

O tratamento arquivístico dos livros da Provedoria e Junta da Real Fazenda do Funchal (PJRFF) com.. produção do respectivo catálogo

Em um dado momento da Sessão você explicou para a cliente sobre a terapia, em seguida a cliente relatou perceber que é um momento para falar, chorar, dar risada