Sistemas Computacionais - Técnica de memória virtual: paginação e segmentação

UNIVESP
3 Mar 202126:50

Summary

TLDRThis video script from a computer systems lecture delves into virtual memory techniques, specifically paging and segmentation. It discusses the role of the operating system in managing resources and controlling process execution, emphasizing the importance of memory management. The lecture explains how paging breaks programs into fixed-size pages and uses page tables for virtual to physical address translation. It also touches on segmentation, which allows variable-sized memory blocks, and introduces concepts like page tables, page frames, and Translation Lookaside Buffers (TLBs) to optimize memory access. The script concludes with an overview of memory integration and the challenges of internal and external fragmentation.

Takeaways

  • 📘 The lecture introduces the concepts of memory virtualization techniques, specifically paging and segmentation, which are essential for managing system resources in operating systems.
  • 🔍 Paging is a technique that breaks down the process into fixed-size pages, allowing for efficient memory management and access, with a typical page size being 4KB.
  • 📚 Segmentation allows for breaking down the process into variable-sized segments, offering flexibility and the ability to define characteristics such as protection and access rights for each segment.
  • 🗺️ The script explains the role of the page table in mapping virtual pages to physical frames in memory, which is crucial for the translation of virtual addresses to physical addresses.
  • 👀 The importance of the Translation Lookaside Buffer (TLB) is highlighted as a hardware cache for the page table, which speeds up the address translation process by storing frequently used pages.
  • 🔄 The concept of page replacement policies is discussed, such as Least Recently Used (LRU), which decides which pages to remove from memory when it is full.
  • 🚫 The script touches on the issue of page faults, which occur when a requested page is not in memory and must be loaded from disk, causing a delay.
  • 🔑 The role of bits in the virtual address, such as the presence bit, protection bit, modification bit, reference bit, and cache bit, is explained to show how they contribute to memory access control.
  • 🔍 The difference between internal fragmentation, which occurs within a page, and external fragmentation, which is the sum of all internal fragmentations, is clarified.
  • 💾 The script mentions the concept of demand paging, where pages are only loaded into memory when they are referenced, and anticipatory paging, which preloads pages to reduce page faults.
  • 🛠️ The lecture concludes with an overview of how operating systems integrate different types of memory, such as registers, cache, main memory, and disk, to provide a seamless and efficient memory management system for applications.

Q & A

  • What are the two main objectives of an operating system as discussed in the script?

    -The two main objectives of an operating system are to provide an interface for users to work with applications and to manage resources and control the execution of processes by the CPU.

  • What is the concept of memory virtualization and why is it important?

    -Memory virtualization is a technique that integrates disk memory (secondary memory) with primary memory to increase capacity without significantly affecting access time. It is important for managing memory resources efficiently and providing the illusion of a larger memory space to the programs.

  • What are the two techniques of memory virtualization mentioned in the script?

    -The two techniques of memory virtualization mentioned are paging and segmentation.

  • How does paging break down the size of a process in memory?

    -Paging breaks down the process into fixed-size blocks called pages. These pages are then managed by the system to optimize memory usage and access.

  • What is the significance of a page table in the context of paging?

    -A page table is a data structure used to map virtual pages stored on disk to frames in physical memory (RAM). It is crucial for translating virtual addresses to physical addresses, facilitating the retrieval of data from the correct location in memory.

  • What is the impact of page size on memory management?

    -The size of pages affects memory management in terms of control and mapping. Smaller pages require more careful address control and can lead to more mapping information and potential fragmentation, while larger pages might cause less waste but could lead to increased page contention for physical memory.

  • What is the concept of segmentation in memory virtualization?

    -Segmentation is a memory virtualization technique that breaks down memory into variable-sized blocks called segments, allowing for the definition of different data types and characteristics such as protection and access rights for each segment.

  • What is a page fault and why does it occur?

    -A page fault, also known as a demand paging, occurs when a requested page is not loaded in the primary memory. It results in an exception being generated by the system, which then loads the necessary page from the disk to the memory.

  • What is the role of the Translation Lookaside Buffer (TLB) in memory management?

    -The TLB is a hardware cache that stores the most frequently used page mappings, reducing the need to access the page table in memory for each address translation. It speeds up the process of converting virtual addresses to physical addresses.

  • What is the purpose of memory defragmentation and how does it relate to paging?

    -Memory defragmentation is the process of reorganizing memory to reduce internal fragmentation, which occurs when memory is used and leaves small, unusable spaces. It is related to paging as smaller pages can cause less waste and fragmentation, making defragmentation less necessary.

  • How does the operating system handle the integration of different memory types?

    -The operating system abstracts the concept of integrated memory by automatically managing different memory types, such as CPU registers, primary memory, and cache, to create the illusion of a large, fast, non-volatile memory for the user or programmer.

Outlines

00:00

📚 Introduction to Memory Management Techniques

This paragraph introduces the topic of memory management in computer systems, focusing on the concepts of paging and segmentation. The lecturer explains the objectives of an operating system, which include providing an interface for applications and managing resources, particularly CPU execution control. The importance of memory in this context is highlighted, with the aim of integrating disk memory into the system's memory hierarchy without significantly affecting access times. The paragraph sets the stage for a detailed discussion on paging and segmentation techniques in subsequent parts of the lecture.

05:04

🔍 Deep Dive into Paging and Segmentation

The second paragraph delves into the specifics of paging and segmentation as memory virtualization techniques. Paging is described as a method of breaking down programs into fixed-size blocks called pages, which are then mapped to frames in physical memory using a page table. The concept of a page table, which maps virtual pages to physical frames, is introduced. The paragraph also touches on the implications of page size on address translation and memory management, including the trade-offs between smaller and larger page sizes on performance and memory utilization.

10:04

🖥️ Paging Mechanism and Address Translation

This section provides an in-depth explanation of the paging mechanism, including how virtual addresses are translated into physical addresses using page tables. The structure of a virtual address, composed of a validity bit, protection bits, and a displacement, is discussed. The importance of the Translation Lookaside Buffer (TLB) is highlighted as a cache for the page table to speed up address translation. The paragraph also covers page faults and the process of handling them, including the use of demand paging and anticipatory paging to manage memory efficiently.

15:04

🔄 Address Translation and Memory Fragmentation

The fourth paragraph continues the discussion on address translation and introduces the concept of memory fragmentation. It explains how paging can lead to internal fragmentation and discusses the strategies to minimize it, such as using smaller page sizes. The paragraph also explores the trade-offs between the ease of page table lookup and the potential for greater waste with larger pages. Additionally, it touches on external fragmentation and the role of memory defragmentation tools in managing memory more effectively.

20:06

🗂️ Segmentation and Combined Memory Management

This paragraph introduces segmentation as an alternative to paging, allowing for variable-sized memory blocks known as segments. It discusses the advantages of segmentation, such as the ability to define protection and access characteristics for each segment. The paragraph also addresses the challenges of implementing segmentation due to its non-transparent nature for programming. Furthermore, it explores the common practice of combining paging with segmentation in modern operating systems to leverage the benefits of both techniques.

25:07

🛠️ Advanced Memory Management Concepts

The sixth paragraph wraps up the lecture by summarizing the key concepts discussed and emphasizing the importance of advanced memory management techniques. It touches on the use of the TLB for efficient address translation and the strategies for storing page tables, such as in memory or registers. The paragraph also discusses the challenges of managing memory in a multi-process environment and the role of the operating system in creating an abstraction layer that seamlessly integrates different memory types, aiming to provide the fastest possible access to non-volatile storage with large capacity.

📚 Conclusion and Further Reading

In the final paragraph, the lecturer concludes the week's lessons on operating systems, specifically focusing on memory management. The paragraph provides recommendations for further reading, including books by Delgado, Tannenbaum, and others, which cover the topics discussed in the lecture in more detail. The lecturer expresses hope that the students have benefited from the comprehensive review of memory management techniques and encourages them to continue exploring the subject.

Mindmap

Keywords

💡Memory Virtualization

Memory virtualization is the technique of abstracting memory resources to make them appear larger and more flexible than they actually are. In the context of the video, it is a method to manage the computer's memory more efficiently, allowing for a larger address space than the physical memory can support. The script discusses two techniques of memory virtualization: paging and segmentation.

💡Paging

Paging is a memory management technique that divides the computer's memory into fixed-size blocks called pages. The script explains that paging breaks down the process into pages that are of a uniform size, allowing for efficient memory allocation and retrieval. It is used to manage the virtual memory by mapping virtual addresses to physical addresses.

💡Segmentation

Segmentation is another memory virtualization technique that differs from paging by allowing variable-sized blocks of memory called segments. The script mentions segmentation as a method that provides more flexibility in defining memory blocks, which can have different attributes and access protections, making it suitable for different program requirements.

💡Page Frame

A page frame is the physical memory block that corresponds to a page in virtual memory. The script uses the term to illustrate the concept of mapping virtual pages to physical frames in RAM, which is a fundamental part of the paging technique for memory management.

💡Page Table

A page table is a data structure used to map virtual pages to their corresponding page frames in physical memory. The script describes the role of the page table in the paging technique, which is essential for the translation of virtual addresses to physical addresses within the computer's memory system.

💡Translation Lookaside Buffer (TLB)

The TLB is a hardware cache used to store the most recently or frequently used page table entries. The script explains that the TLB helps to speed up the address translation process by providing quick access to the mapping information, reducing the need to access the main memory for every address translation.

💡Page Fault

A page fault, also mentioned as a 'page miss' in the script, occurs when a requested page is not found in the physical memory. The system then needs to load the page from secondary storage, such as a hard disk, which can cause a delay. The script discusses page faults in the context of demand paging and how they affect system performance.

💡Demand Paging

Demand paging is a technique where pages are only loaded into physical memory when they are needed. The script explains that this approach can improve memory usage efficiency by loading only the necessary pages, thus avoiding the waste of memory space.

💡Internal Fragmentation

Internal fragmentation occurs when allocated memory blocks have unused spaces within them. The script mentions internal fragmentation in the context of paging, where fixed-size pages may not perfectly fit the memory requirements of a program, leading to some space within a page being unused.

💡External Fragmentation

External fragmentation is the result of memory being divided into non-contiguous blocks over time, leading to gaps between used memory areas. The script briefly touches on external fragmentation as a memory management issue that can be addressed by memory compaction or other techniques.

💡Memory Hierarchy

The memory hierarchy refers to the organization of a computer's memory resources in a hierarchy from fastest and most expensive to slowest and least expensive. The script discusses how memory virtualization techniques, such as paging and segmentation, fit into this hierarchy and contribute to the efficient use of memory resources.

Highlights

Introduction to week 3's lecture on computer systems, focusing on memory virtualization techniques.

Explanation of the two main objectives of an operating system: interface and resource management.

Discussion on how memory virtualization techniques like paging and segmentation can increase memory capacity.

Detailed explanation of the concept of paging, where processes are broken down into fixed-size pages.

The importance of the page table in mapping virtual pages to physical frames in RAM.

Impact of page size on address translation control and mapping costs.

Introduction to segmentation, an alternative memory virtualization technique using variable-sized blocks.

Comparison between the fixed-size nature of pages in paging and the variable-sized nature of segments in segmentation.

The role of the Translation Lookaside Buffer (TLB) in speeding up address translation.

Description of how the TLB reduces the need for memory accesses, thus improving performance.

Explanation of page faults and the system's response to handle them.

Discussion on the concept of internal fragmentation and its relation to page size.

Overview of the segmentation technique, its advantages, and how it allows for variable-sized memory blocks.

Mention of combining paging with segmentation as a common practice in operating systems.

The challenge of storing page tables and the role of the TLB in addressing this.

Description of the algorithm for translating virtual addresses to physical addresses using the TLB.

Discussion on the policy of page replacement when the physical memory is full.

Conclusion of the lecture with a summary of the importance of memory management in operating systems.

Recommendation of further reading materials for a deeper understanding of operating systems and memory management.

Transcripts

play00:00

E aí

play00:00

[Música]

play00:07

o Olá alunos bem-vindos a mais uma aula

play00:10

de sistemas computacionais semana 3 a

play00:13

última aula dessa semana tá bom Espero

play00:15

que vocês aproveitem aí o que a gente

play00:17

vai conversar bom pessoal nessa aula nós

play00:19

vamos falar de duas técnicas de memória

play00:22

virtual que é paginação e segmentação na

play00:25

primeira aula desta semana nós falamos

play00:27

sobre o sistema operacional e definimos

play00:30

que esse sistema ele tem dois principais

play00:34

objetivos um deles é fazer uma interface

play00:37

sobre o hard para a gente trabalhar com

play00:40

os nossos aplicativos os Nossos

play00:42

programas e outro é o gerenciamento de

play00:45

recursos e controle de execução aí de

play00:48

processos pela CPU né a gente falou

play00:51

primeiramente o escalonamento desse

play00:53

processo né E aí depois a gente seria o

play00:56

como a memória entra nessa questão né e

play00:59

uma maneira de trabalhar com essa

play01:01

memória tendo mais capacidade né é

play01:04

agregar nessa hierarquia de memórias

play01:07

a memória de disco a nossa memória

play01:09

secundária então a técnica ela tenta

play01:12

fazer essa agregação né de uma maneira

play01:16

aí que o tempo de acesso não seja muito

play01:18

diferente de um acesso a memória

play01:20

principal dentro da da questão de

play01:23

memória virtual a gente vai falar hoje

play01:26

das técnicas de paginação e técnica de

play01:31

segmentação sobre a paginação né

play01:35

paginação na verdade ela quebra o

play01:38

tamanho do processo né aquele processo

play01:41

lá que a gente falou nas aulas passadas

play01:43

né que estão os Nossos programas é a

play01:46

ideia de pegar os Nossos programas e

play01:49

quebrar esses programas né em processos

play01:54

esse processo vão ser rodados na CPU

play01:56

então a paginação ela quebra esses

play01:59

processos esses programas em páginas que

play02:01

são de tamanhos fixos mais ou menos

play02:04

naquele exemplo que eu usei da aula

play02:05

passada de 4 Canais

play02:07

e o endereço amento virtual é dividido

play02:11

no que a gente chama de páginas virtuais

play02:13

né e o legal dessas páginas aquelas não

play02:17

tem aí tipo se dados diferentes né na

play02:19

mesma página então a página aqui ela

play02:23

desempenha um papel semelhante ao bloco

play02:26

nas creches né como se fosse páginas de

play02:29

livros né você imagina aqui o processo

play02:30

eu livro né E você tem as páginas né É

play02:34

todas as páginas se você pensar numa

play02:37

maneira simplificada né Elas podem ser

play02:40

de tamanhos iguais né em bytes né É quer

play02:45

que no espaço de endereçamento virtual

play02:47

ou até mesmo do espaço físico quanto

play02:50

menores forem as páginas mais cuidadoso

play02:53

é o controle dos endereços né que estão

play02:56

e não estão carregados em memória mas

play02:59

também maior é informação necessária

play03:03

para traduzir os endereços né quanto

play03:05

menor for as páginas né mas endereços

play03:07

mais

play03:07

o tempo né Maior custo de mapeamento a

play03:11

gente vai ter né E esses tempos aí eles

play03:15

vão causando ao ver redes no sistema por

play03:18

outro lado se você pensar em muitas é

play03:20

páginas muito grandes né com grandes

play03:23

capacidades é isso também pode afetar o

play03:26

desempenho porque a simples falta de uma

play03:29

palavra e um determinado endereço vai

play03:32

obrigar a carregar toda a página que ela

play03:36

pertence e aí vai aumentar concorrência

play03:38

entre páginas pela utilização da memória

play03:41

física que a gente tiver trabalhando o

play03:44

tamanho da página a utilizar né o

play03:47

tamanho da quebra aí da nossa técnica de

play03:49

paginação né ele Depende de vários

play03:53

fatores né também Incluindo aí o tamanho

play03:57

dos espaços que a gente vai ter para

play03:59

fazer endereçamento os tipos de

play04:01

programas que a gente vai estar

play04:02

trabalhando né então o tamanho típico é

play04:06

esse que a gente colocou

play04:07

em 4K bike a segmentação é uma outra

play04:12

técnica de de memória virtual que Ela

play04:16

utiliza a quebra das páginas em blocos

play04:19

de tamanhos variáveis / tipo então aí

play04:23

cada segmento acaba tendo um tipo de dar

play04:28

bom então falando mais um pouquinho né

play04:31

conceitos da paginação né a página é

play04:34

humanidade Então nesse caso de tamanho

play04:37

fixo a gente vai usar o tamanho de 4

play04:39

cabaites aí como o tamanho típico né que

play04:42

tá lá no nosso dispositivo de

play04:44

armazenamento secundário no nosso disco

play04:47

né na nossa hd-a e a gente chama de

play04:51

página o que fica do lado do disco e

play04:54

freio o que fica do lado da memória RAM

play04:57

então nós temos lá no disco secundário

play04:59

as páginas que correspondem a frame sair

play05:03

na memória RAM né além desses dois

play05:06

conceitos de páginas Extremis nós temos

play05:09

o conceito de tabela de página e aí a

play05:12

gente vai ver no próximo de slides que

play05:14

são estruturas de dados para mapear uma

play05:18

página que tá no disco no frame que tá

play05:21

na memória RAM então cada processo aí

play05:24

lembra voltando os processos são os

play05:26

programas aí que são escalonados para

play05:28

a cada processo acaba tendo uma tabela

play05:32

né a sua tabela de páginas Então nesse

play05:36

slide né você vai ver aí do lado direito

play05:39

né É até estranho né ou moldura de

play05:44

página né como foi traduzido ela fica na

play05:47

memória RAM né E ela é que é o

play05:49

endereçamento físico a tabela do lado

play05:52

esquerdo é a tabela de páginas virtuais

play05:55

indisco assim uma página aí como a gente

play05:58

tá usando no Exemplo né virtual a

play06:01

primeira delas aí é de 0 a cá né E fica

play06:06

na terceira posição da memória RAM né Se

play06:09

vocês estão vendo lá tem 12 nessa

play06:11

unidade é e esse 2 corresponde né a

play06:15

posição dela lá no nosso lado físico né

play06:19

na nossa memória RAM então aqui é 0 1 e

play06:22

2 Então ela tem essa certa aí tá

play06:24

mostrando um mapeamento no terceiro

play06:26

endereço aí da memória RAM

play06:28

a posição a página de quatro a cá ela

play06:32

fica na primeira posição né então a

play06:36

página é de quatro a oito cá né ela fica

play06:41

esse um tá mostrando aqui a primeira

play06:43

posição né que é na verdade é a segunda

play06:45

começando do zero o MM que é o Memories

play06:50

mais Nascimento senhor né né que era

play06:52

aquele rádio que faz esse mapeamento ele

play06:55

que vai fazer isso ele usa o endereço

play06:57

virtual da tabela de páginas né E para

play07:00

falar um pouquinho sobre esse endereço

play07:02

né esse endereço virtual ele é composto

play07:06

por um bit chamado the beach de

play07:10

residência que ele está na memória

play07:13

principal ou não isso que ele vai estar

play07:16

indicando é um bit de proteção né que

play07:20

para dizer o tipo de acesso que eu vou

play07:22

ter se leitura escrita ou dois né ele

play07:26

tem o endereço tem um bit

play07:28

é de modificação que vai dizer se a

play07:31

página foi modificada ou não um bit de

play07:34

referência que vai indicar se a página

play07:37

tá sendo referenciada o bit De Cash que

play07:40

vai dizer se o sistema de Cash deve ser

play07:43

habilitado né mas os principais Beats

play07:46

são os Beats de validade né ver que

play07:50

indica se a página virtual

play07:52

correspondente está carregado na memória

play07:54

é física né Aí se vê igual a um a página

play07:58

Então vai estar carregada na memória e o

play08:01

número é da página virtual é convertido

play08:05

número da página física é que vão usar e

play08:09

os 12 vídeos indicado nessa entrada aí

play08:12

da tabela o número da página fixa Física

play08:16

ele vai ser obtido Se você pegar

play08:19

concatenar esse número ao deslocamento

play08:22

dentro da página para obter aí o

play08:24

endereço físico final agora se esse bit

play08:28

eu usei igual a zero é esse bicho de

play08:30

validade significa que a página virtual

play08:34

ela não tá carregada na memória

play08:36

principal né E aí a gente tem o que a

play08:39

gente chama de Daisy flor quer dizer o

play08:43

que é uma falha né de página né falta

play08:46

página é uma falta de página então aí é

play08:49

gerada uma exceção pelo sistema então

play08:52

com isso Vocês conseguem ver aí o que é

play08:54

cada uma linha cada uma das Linhas desta

play08:57

tabela de página para ficar mais claro

play09:00

né a figura ela ilustra o princípio aí

play09:04

da tradução de o endereço virtual né

play09:07

para o endereço físico assumindo o

play09:09

espaço aí virtual de endereçamento de 32

play09:13

bits né de 0 a 31 os dados nesse exemplo

play09:17

eles sugerem que esse é um processador

play09:20

de 32 bits né que um arquitetura de 32

play09:23

bits é que é o tamanho aí do nosso

play09:25

endereço né É

play09:28

o barramento de endereço físico ele vai

play09:32

trabalhar com 24 bits né os 12 bits

play09:35

menos significativos do endereço eles

play09:38

são os bicos que a gente chama de beach

play09:40

deslocamento né que aí é o deslocamento

play09:43

do endereço dentro da tabela o espaço de

play09:46

endereçamento virtual ele tem um mega

play09:50

vai né E que de páginas virtuais né se

play09:52

você for pensar nesse valor é 2 elevado

play09:54

a vir né enquanto espaço físico aí por

play09:58

isso que a memória virtual ela acaba

play09:59

sendo maior ele tem aí 4K né de páginas

play10:03

físicas como a gente falou em geral uma

play10:06

página tem 4K é o mecanismo de tradução

play10:10

de endereço então ele vai ma pa esse

play10:13

esse tamanho aí esse 1 m de páginas

play10:16

virtuais em 4K de páginas físicas né

play10:19

então isso é das um mega de páginas

play10:23

virtuais só 4K de cada vez que vai poder

play10:26

ser carregada na memória principal

play10:28

é por isso que tem esse fluxo aí de sobe

play10:31

página e desce página é para conseguir

play10:34

aí é só ocupar um carro é quatro anos

play10:38

tudo bem É no próximo slide a gente vai

play10:42

falar da questão de busca né é dentro da

play10:47

questão da tabela de endereço virtual a

play10:49

gente tem que fazer busca desses

play10:51

endereços né E aí é buscar ela pode ser

play10:54

sequencial ou ela pode ser binária né aí

play10:58

vocês viram aí os algoritmos de busca né

play11:01

É tanta sequencial quanto a binária são

play11:05

bastante lentas nela vai gerar e um

play11:07

homem Red o ideal seria o endereço

play11:10

virtual na tabela de página ele

play11:13

funcionar como índice né E aí essa

play11:17

tabela apesar de ocupar espaço a busca

play11:20

seria muito mais facilitada né Outra

play11:24

coisa importante da gente pensar é que a

play11:26

gente tem paginação por Demanda né

play11:28

O que significa a páginas ela só são

play11:31

carregadas quando são referenciadas né o

play11:35

programa começa a execução com nenhuma

play11:37

das páginas carregadas na memória

play11:39

principal assim que tiver uma falta de

play11:43

página né um peixe fogo o sistema então

play11:46

ele Copie as páginas necessárias né para

play11:50

memória e também existem técnicas que

play11:53

trabalham né com paginação antecipada E

play11:57

aí essa técnica ela vai prever quais são

play11:59

as próximas páginas né E aí tentar

play12:02

minimizar a exceção da falta de página

play12:05

né né Por exemplo após a leitura de uma

play12:09

página para tratar de uma falha de

play12:12

página o sistema operacional pode ler as

play12:15

próximas páginas mesmo ainda não sendo

play12:17

necessário né pensando em usar aquela

play12:21

questão da localidade tá se um processo

play12:24

então é terminado o sistema operacional

play12:26

pode atrasar a liberação de paz

play12:28

em casa usuário decide executar o

play12:31

programa de novo é interessante você

play12:33

pensar nessas duas ideias paginação

play12:36

antecipada ou por Demanda para tentar

play12:39

diminuir Aí esse custo Quando acontecem

play12:42

a busca né tentar se adiantar um dos

play12:46

problemas que ocorre nessa nessa questão

play12:49

de você fragmentar dividir né em página

play12:53

é a fragmentação interna né ela ocorre

play12:57

quando a memória foi fragmentada

play12:59

utilizada Mas ficam sobrando espaços

play13:03

internos na memória né E aí volta Aquele

play13:06

caso que eu citei né páginas com

play13:08

tamanhos menores elas podem gerar menos

play13:11

desperdício né quer dizer menos

play13:13

fragmentação Point e a questão da busca

play13:16

né Então você vai ter um troço E aí

play13:18

nesse caso a leitura é menos difícil por

play13:22

causa da busca em tabelas grandes e mais

play13:25

tempo para carregar em páginas

play13:28

se você tem um oposto é você pode ter

play13:31

mais desperdício Mas você vai ter uma

play13:33

busca mais otimizada né então é é

play13:38

interessante pensar nesse pedofe quando

play13:41

tiver trabalhando aí na questão da

play13:43

paginação é outra que outra definição

play13:46

que eu queria falar para vocês a questão

play13:48

da fragmentação né a gente fica passando

play13:51

aí os nossos desfragmentadores né É

play13:55

porque tem fragmentação interna e outra

play13:58

outro termo que a gente ouvir bastante a

play14:00

questão da fragmentação externa né que

play14:02

era verdade a soma de todas as

play14:04

fragmentações internas A então é o

play14:09

sistema tente lidar com essa questão da

play14:11

fragmentação

play14:13

e a outra técnica que a gente citou é a

play14:16

técnica de segmentação né a segmentação

play14:19

ela permite você trabalhar com blocos de

play14:23

tamanhos variáveis né E que a gente vai

play14:27

ver aí é a questão seguimentos né e é

play14:30

principal vantagem disso é permitir você

play14:33

definir características né aí você pode

play14:36

definir característica de proteção

play14:39

definição de acesso aos espaços né de

play14:42

uma forma adaptada a cada um dos

play14:44

segmentos que o programa definir enfeite

play14:47

você trabalhar como na paginação com

play14:49

tamanhos fixos né Porém esse mecanismo

play14:52

ele não é transparente para programação

play14:55

E aí acaba gerando problemas de

play14:58

implementação né E aí ele acaba sendo

play15:01

menos geral - genérico do que a

play15:04

paginação né e também uma maneira que os

play15:07

sistemas Tem trabalhado é combinar né

play15:10

paginação com segmentação né

play15:13

eu queria os dois né pagina se alimenta

play15:15

os grandes neoci alimentação pode nada

play15:18

né isso é uma coisa bastante comum hoje

play15:22

nos sistemas operacionais tá é a

play15:28

e em relação agora ao armazenamento

play15:31

ainda de páginas na tabela de páginas né

play15:34

é uma coisa a se pensar é onde armazenar

play15:37

essa tabela de páginas aí que faz esse

play15:40

mapeamento né Você pode ter pensar em

play15:44

armazenar por exemplo na hum né na

play15:47

memória principal O problema é que você

play15:49

aí vai ter dois acessos para receber uma

play15:52

informação um acesso para tabela de

play15:55

página e outro acesso para memória né

play15:58

propriamente dita E aí você tendo esses

play16:00

dois acessos você gera um overhand E aí

play16:03

uma ideia é que a gente vai apresentar

play16:05

na aula de hoje eu usar o que a gente

play16:07

chama de tlb que é uma transferir a área

play16:10

de transferência né que na verdade é uma

play16:12

cast de tabela de página tá é até lhe

play16:17

dela acaba ficando com as páginas mais

play16:19

usadas no período de tempo aí então em

play16:22

vez de ir buscar na memória ele busca

play16:27

primeiro na

play16:27

a série B depois senão aí ele vai para a

play16:30

tabela de página daí a gente tem uma

play16:33

economia aí de tempo uma outra ideia de

play16:36

armazenar tabela de páginas né seria nos

play16:39

registradores mas a gente sabe dos

play16:42

problemas aí tanto dos registradores e

play16:45

dos creches né da questão do tamanho

play16:47

limitado então mais comum né é usar a

play16:52

tlb então pela própria definição a

play16:55

intelli b translation luxside buffer é

play16:59

um hardware do tipo memória associativa

play17:01

que vai fazer uma espécie de Cash da

play17:04

tabela de página e acaba ficando com as

play17:07

páginas que estão mais usadas no período

play17:10

de tela né o primeira coisa que o

play17:12

sistema faz é buscar na tlb se ele não

play17:15

acha natele de aí ele vai para a tabela

play17:18

de página né conforme aí a gente vai ver

play17:22

no algoritmo do próximas páginas né É É

play17:27

e deixe tio mapeamento esteja presente

play17:30

na tlb né a conversando o endereço

play17:34

virtual para o endereço físico ele

play17:37

consegue ser realizado aí no tempo

play17:39

reduzido e tem acesso da memória né Caso

play17:43

não esteja né você vai gerar o que a

play17:45

gente chama de ter IBM ela quer dizer o

play17:48

que é preciso você então percorrer a

play17:51

tabela de páginas né Lógico acessando a

play17:53

memória até você conseguir obter a

play17:56

página física aí ocasião em que se

play17:59

memoriza aí esse mapeamento na tlb né o

play18:03

próximo acesso a esse endereço de página

play18:06

ele vai ser muito mais rápido né porque

play18:08

ele já está carregado ao contrário das

play18:11

outras quer é que é x né É até liberar o

play18:16

conjunto aí de bits né é um dicionário

play18:19

que tem limites de entrada e esse

play18:22

conjunto é memorizado de maneira a

play18:24

fornecer o conjunto de bits de Sá

play18:27

em qualquer computador suporta a esse

play18:31

execução simultânea de vários processos

play18:34

como a gente viu na aula passada e aí

play18:37

cada um acaba usando a mesma faixa de

play18:39

endereços virtuais né Cada processo tem

play18:42

essa tabela de página porém até LB ela é

play18:46

compartilhada por todos os processos né

play18:49

Esse dicionário é esse conjunto de

play18:51

informações mais utilizadas né E aí o

play18:55

número de página virtual acaba no sendo

play18:57

suficiente para identificar uma página

play19:02

e É nesse slide vocês vão conseguir ver

play19:06

né A questão da do algoritmo que Eu

play19:12

mencionei para vocês né aqui a gente tem

play19:15

um algoritmo chamado de com o mesmo nome

play19:17

né na verdade é um fluxograma né é onde

play19:20

ele mostra como o trabalho aí essa busca

play19:23

né como acontece essa música Primeiro

play19:26

quando precisa da página procura-se

play19:28

natele B seu encontro na tlb eu coloco o

play19:32

endereço Mas o deslocamento e acesso

play19:35

diretamente senão eu tenho que acessar a

play19:39

tabela de página adiciono o frame

play19:43

correspondente no endereço e aí tem dois

play19:46

tipos de falha que podem acontecer né o

play19:49

que eu tinha falado para vocês né o tele

play19:52

bemis esse Terry bemis ele pode ser do

play19:55

tipo soft de mim que a página não se

play19:58

encontram na tele B mas está na memória

play20:00

principal aí

play20:02

e alisa a pele b e o Card Miss que a

play20:05

página não está na memória é física nem

play20:08

natele B né então você precisa trazer do

play20:12

disco né Aham e trazer do disco né para

play20:17

Hum e até liberar E aí isso vai ser um

play20:20

pouco mais lento né Acho que esse

play20:22

fluxograma ele acaba explicando melhor

play20:24

essa questão do uso da tlb né é a

play20:29

problema de ter que decidir qual página

play20:32

tem que sair né quando a memória física

play20:34

está ocupada um programa faz referência

play20:37

a uma página que não está carregada na

play20:39

memória normalmente usa-se a política de

play20:42

substituição né do tipo aqui tem sido

play20:47

usada ultimamente né as mais usadas

play20:49

ultimamente né Considerando que as

play20:53

páginas com menos utilização né Será

play20:56

também menos provável de ser chamada né

play20:59

é necessária normalmente a informação

play21:02

e para esse essa essa decisão né resumo

play21:06

esse aquela informação que tem lá no

play21:08

endereço no Beach de utilização né então

play21:11

você pode usar o bit de utilização

play21:14

reflexivity é em cada entrada da tabela

play21:18

de páginas né que periodicamente o

play21:21

sistema operacional desativa em todas as

play21:24

entradas e o Rider ativa né em uma

play21:27

determinada entrada a cada vez que é um

play21:29

um acesso a uma respectiva página né

play21:32

então em resumo pessoal quando o

play21:35

processo é criado o sistema operacional

play21:38

né ele cria as páginas virtuais que ele

play21:43

necessita em um espaço aí que ele chama

play21:46

disso Whats fácil quando a página é

play21:49

referenciada né pelo processo ela é

play21:53

carregada na memória principal se tiver

play21:56

que sair da memória principal ela vai

play21:58

voltar lá no espaço de Swap isso

play22:01

significa o

play22:02

E aí né como é chamada aí troca de

play22:04

contexto de página né entre a memória

play22:07

principal e o disco né aquele espaço que

play22:10

tá ali no meio né como se fosse como a

play22:12

gente citou a cast que fica aí entre os

play22:15

dois é

play22:18

e continuando então é e em relação à

play22:23

integração das memórias não é isso que a

play22:25

gente falou nessas últimas três aulas né

play22:28

a abstração da ideia da memória

play22:31

integrada né ela deve ser feita de

play22:33

maneira automática né a gente não deve

play22:35

ter mais custo para isso os mecanismos

play22:39

que a gente falou né De Cash sem aulas

play22:41

em semanas passadas né e de memória

play22:44

virtual nessa aula eles precisam

play22:47

cooperar é para conseguir implementar

play22:49

essa ministração de integração né Então

play22:52

veja que as memórias existem fisicamente

play22:55

separadas né em alguns casos e o

play22:59

hardware eo software não é o sistema

play23:01

operacional junto eles criam essa ideia

play23:05

essa abstração né sendo lá a CPU com

play23:09

seus registradores a memória principal

play23:10

EA Cash com seus níveis aí fazendo essa

play23:14

transição aí de informações né esse com

play23:18

o futuro né Depois do outro lado aqui a

play23:22

gente vai ter na questão da tabela de

play23:25

páginas né a tlb a memória principal e o

play23:29

disco né E aí tentando diminuir esse

play23:32

acesso a disco de modo que a gente tem

play23:35

impressão de quando eu tá trabalhando

play23:36

com os nossos aplicativos aí as nossas

play23:39

informações guardadas não-voláteis né

play23:41

que elas rapidamente chegou no nosso

play23:44

computador né Então essa é a ideia da

play23:47

Integração da memória não é essa ideia

play23:50

desse trabalho de gerenciamento de

play23:52

memória aí memória virtual que o sistema

play23:55

operacional faça é só para nos alongar

play23:58

né Aqui tem uma figura que ilustra a

play24:00

forma como esses mecanismos aí estão

play24:04

integrados e se complementam Né desde o

play24:06

pedido de acesso ao endereço virtual

play24:09

passando para o endereço físico né E aí

play24:13

aonde esse endereço é virtual está

play24:16

mapeado até obter o valor

play24:18

a pretendida essa é uma figura e lógico

play24:22

que ilustrativa nela não tem um grande

play24:24

Rigor aí de representação a é mais para

play24:28

vocês entenderem essa questão de

play24:30

integração é o caminho mais rápido né

play24:34

conseguido é usando aí o mapeamento

play24:37

virtual físico se ele estiver presente

play24:40

aí na na tlb né na nossa na nossa

play24:45

supercast aí trânsito né a página

play24:48

referenciada se ela tiver carregada na

play24:51

memória principal né e o bloco estiver

play24:54

aí dentro da nossa memória Cash né esse

play24:57

é o caminho mais rápido que existe né E

play25:00

isso que o sistema operacional tenta

play25:03

fazer né otimizar de uma maneira aqui os

play25:06

nossos aplicativos e nós usuários aí não

play25:09

percebemos esse acesso a disco né se ele

play25:12

seja tão rápido como o acesso a memória

play25:15

principal bom pessoal aqui tem a

play25:17

bibliografia

play25:18

é usada nessa semana né É principalmente

play25:22

Delgado e o tannenbaum e são nossos

play25:25

livros aí base o Stálin também tem

play25:28

algumas figuras E aí o Capítulo 8 a

play25:31

gente cocô algumas coisas então vocês

play25:33

vão ver aqui que é Pode parecer bastante

play25:36

mas a gente tá aí fragmentando os

play25:38

capítulos e quem quiser estudar mais

play25:41

ainda sobre esse assunto né existe um

play25:44

livro do tannenbaum sobre esse sistema

play25:46

operacional né que é o livro aí bastante

play25:50

clássico da área de sistema operacionais

play25:53

então era era isso pessoal com essa aula

play25:57

eu encerro essa semana 3 É espero que

play25:59

vocês tenham aproveitado essa grande

play26:02

visão essa grande revisão que a gente

play26:04

fez de sistema operacional entendido

play26:08

essa questão de como trabalhar a memória

play26:10

aí para auxiliar nesse gerenciamento e

play26:13

controle de recursos que o sistema

play26:15

operacional faz né Principalmente nessa

play26:18

a integrar essas diferentes memórias aí

play26:22

de modo a trazer à memória ideal para o

play26:25

projetista né mais rápida não-volátil né

play26:29

um grande capacidade de armazenamento

play26:32

Obrigado a todos e até a próxima semana

play26:35

pessoal é

play26:41

E aí

play26:47

[Música]

Rate This

5.0 / 5 (0 votes)

Etiquetas Relacionadas
Virtual MemoryPagingSegmentationComputer SystemsMemory ManagementCPU ProcessesOperating SystemsMemory HierarchyHardware AbstractionSoftware ControlSystem Performance
¿Necesitas un resumen en inglés?