Sistemas Computacionais - Técnica de memória virtual: paginação e segmentação
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
📚 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.
🔍 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.
🖥️ 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.
🔄 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.
🗂️ 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.
🛠️ 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
💡Paging
💡Segmentation
💡Page Frame
💡Page Table
💡Translation Lookaside Buffer (TLB)
💡Page Fault
💡Demand Paging
💡Internal Fragmentation
💡External Fragmentation
💡Memory Hierarchy
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
E aí
[Música]
o Olá alunos bem-vindos a mais uma aula
de sistemas computacionais semana 3 a
última aula dessa semana tá bom Espero
que vocês aproveitem aí o que a gente
vai conversar bom pessoal nessa aula nós
vamos falar de duas técnicas de memória
virtual que é paginação e segmentação na
primeira aula desta semana nós falamos
sobre o sistema operacional e definimos
que esse sistema ele tem dois principais
objetivos um deles é fazer uma interface
sobre o hard para a gente trabalhar com
os nossos aplicativos os Nossos
programas e outro é o gerenciamento de
recursos e controle de execução aí de
processos pela CPU né a gente falou
primeiramente o escalonamento desse
processo né E aí depois a gente seria o
como a memória entra nessa questão né e
uma maneira de trabalhar com essa
memória tendo mais capacidade né é
agregar nessa hierarquia de memórias
a memória de disco a nossa memória
secundária então a técnica ela tenta
fazer essa agregação né de uma maneira
aí que o tempo de acesso não seja muito
diferente de um acesso a memória
principal dentro da da questão de
memória virtual a gente vai falar hoje
das técnicas de paginação e técnica de
segmentação sobre a paginação né
paginação na verdade ela quebra o
tamanho do processo né aquele processo
lá que a gente falou nas aulas passadas
né que estão os Nossos programas é a
ideia de pegar os Nossos programas e
quebrar esses programas né em processos
esse processo vão ser rodados na CPU
então a paginação ela quebra esses
processos esses programas em páginas que
são de tamanhos fixos mais ou menos
naquele exemplo que eu usei da aula
passada de 4 Canais
e o endereço amento virtual é dividido
no que a gente chama de páginas virtuais
né e o legal dessas páginas aquelas não
tem aí tipo se dados diferentes né na
mesma página então a página aqui ela
desempenha um papel semelhante ao bloco
nas creches né como se fosse páginas de
livros né você imagina aqui o processo
eu livro né E você tem as páginas né É
todas as páginas se você pensar numa
maneira simplificada né Elas podem ser
de tamanhos iguais né em bytes né É quer
que no espaço de endereçamento virtual
ou até mesmo do espaço físico quanto
menores forem as páginas mais cuidadoso
é o controle dos endereços né que estão
e não estão carregados em memória mas
também maior é informação necessária
para traduzir os endereços né quanto
menor for as páginas né mas endereços
mais
o tempo né Maior custo de mapeamento a
gente vai ter né E esses tempos aí eles
vão causando ao ver redes no sistema por
outro lado se você pensar em muitas é
páginas muito grandes né com grandes
capacidades é isso também pode afetar o
desempenho porque a simples falta de uma
palavra e um determinado endereço vai
obrigar a carregar toda a página que ela
pertence e aí vai aumentar concorrência
entre páginas pela utilização da memória
física que a gente tiver trabalhando o
tamanho da página a utilizar né o
tamanho da quebra aí da nossa técnica de
paginação né ele Depende de vários
fatores né também Incluindo aí o tamanho
dos espaços que a gente vai ter para
fazer endereçamento os tipos de
programas que a gente vai estar
trabalhando né então o tamanho típico é
esse que a gente colocou
em 4K bike a segmentação é uma outra
técnica de de memória virtual que Ela
utiliza a quebra das páginas em blocos
de tamanhos variáveis / tipo então aí
cada segmento acaba tendo um tipo de dar
bom então falando mais um pouquinho né
conceitos da paginação né a página é
humanidade Então nesse caso de tamanho
fixo a gente vai usar o tamanho de 4
cabaites aí como o tamanho típico né que
tá lá no nosso dispositivo de
armazenamento secundário no nosso disco
né na nossa hd-a e a gente chama de
página o que fica do lado do disco e
freio o que fica do lado da memória RAM
então nós temos lá no disco secundário
as páginas que correspondem a frame sair
na memória RAM né além desses dois
conceitos de páginas Extremis nós temos
o conceito de tabela de página e aí a
gente vai ver no próximo de slides que
são estruturas de dados para mapear uma
página que tá no disco no frame que tá
na memória RAM então cada processo aí
lembra voltando os processos são os
programas aí que são escalonados para
a cada processo acaba tendo uma tabela
né a sua tabela de páginas Então nesse
slide né você vai ver aí do lado direito
né É até estranho né ou moldura de
página né como foi traduzido ela fica na
memória RAM né E ela é que é o
endereçamento físico a tabela do lado
esquerdo é a tabela de páginas virtuais
indisco assim uma página aí como a gente
tá usando no Exemplo né virtual a
primeira delas aí é de 0 a cá né E fica
na terceira posição da memória RAM né Se
vocês estão vendo lá tem 12 nessa
unidade é e esse 2 corresponde né a
posição dela lá no nosso lado físico né
na nossa memória RAM então aqui é 0 1 e
2 Então ela tem essa certa aí tá
mostrando um mapeamento no terceiro
endereço aí da memória RAM
a posição a página de quatro a cá ela
fica na primeira posição né então a
página é de quatro a oito cá né ela fica
esse um tá mostrando aqui a primeira
posição né que é na verdade é a segunda
começando do zero o MM que é o Memories
mais Nascimento senhor né né que era
aquele rádio que faz esse mapeamento ele
que vai fazer isso ele usa o endereço
virtual da tabela de páginas né E para
falar um pouquinho sobre esse endereço
né esse endereço virtual ele é composto
por um bit chamado the beach de
residência que ele está na memória
principal ou não isso que ele vai estar
indicando é um bit de proteção né que
para dizer o tipo de acesso que eu vou
ter se leitura escrita ou dois né ele
tem o endereço tem um bit
é de modificação que vai dizer se a
página foi modificada ou não um bit de
referência que vai indicar se a página
tá sendo referenciada o bit De Cash que
vai dizer se o sistema de Cash deve ser
habilitado né mas os principais Beats
são os Beats de validade né ver que
indica se a página virtual
correspondente está carregado na memória
é física né Aí se vê igual a um a página
Então vai estar carregada na memória e o
número é da página virtual é convertido
número da página física é que vão usar e
os 12 vídeos indicado nessa entrada aí
da tabela o número da página fixa Física
ele vai ser obtido Se você pegar
concatenar esse número ao deslocamento
dentro da página para obter aí o
endereço físico final agora se esse bit
eu usei igual a zero é esse bicho de
validade significa que a página virtual
ela não tá carregada na memória
principal né E aí a gente tem o que a
gente chama de Daisy flor quer dizer o
que é uma falha né de página né falta
página é uma falta de página então aí é
gerada uma exceção pelo sistema então
com isso Vocês conseguem ver aí o que é
cada uma linha cada uma das Linhas desta
tabela de página para ficar mais claro
né a figura ela ilustra o princípio aí
da tradução de o endereço virtual né
para o endereço físico assumindo o
espaço aí virtual de endereçamento de 32
bits né de 0 a 31 os dados nesse exemplo
eles sugerem que esse é um processador
de 32 bits né que um arquitetura de 32
bits é que é o tamanho aí do nosso
endereço né É
o barramento de endereço físico ele vai
trabalhar com 24 bits né os 12 bits
menos significativos do endereço eles
são os bicos que a gente chama de beach
deslocamento né que aí é o deslocamento
do endereço dentro da tabela o espaço de
endereçamento virtual ele tem um mega
vai né E que de páginas virtuais né se
você for pensar nesse valor é 2 elevado
a vir né enquanto espaço físico aí por
isso que a memória virtual ela acaba
sendo maior ele tem aí 4K né de páginas
físicas como a gente falou em geral uma
página tem 4K é o mecanismo de tradução
de endereço então ele vai ma pa esse
esse tamanho aí esse 1 m de páginas
virtuais em 4K de páginas físicas né
então isso é das um mega de páginas
virtuais só 4K de cada vez que vai poder
ser carregada na memória principal
é por isso que tem esse fluxo aí de sobe
página e desce página é para conseguir
aí é só ocupar um carro é quatro anos
tudo bem É no próximo slide a gente vai
falar da questão de busca né é dentro da
questão da tabela de endereço virtual a
gente tem que fazer busca desses
endereços né E aí é buscar ela pode ser
sequencial ou ela pode ser binária né aí
vocês viram aí os algoritmos de busca né
É tanta sequencial quanto a binária são
bastante lentas nela vai gerar e um
homem Red o ideal seria o endereço
virtual na tabela de página ele
funcionar como índice né E aí essa
tabela apesar de ocupar espaço a busca
seria muito mais facilitada né Outra
coisa importante da gente pensar é que a
gente tem paginação por Demanda né
O que significa a páginas ela só são
carregadas quando são referenciadas né o
programa começa a execução com nenhuma
das páginas carregadas na memória
principal assim que tiver uma falta de
página né um peixe fogo o sistema então
ele Copie as páginas necessárias né para
memória e também existem técnicas que
trabalham né com paginação antecipada E
aí essa técnica ela vai prever quais são
as próximas páginas né E aí tentar
minimizar a exceção da falta de página
né né Por exemplo após a leitura de uma
página para tratar de uma falha de
página o sistema operacional pode ler as
próximas páginas mesmo ainda não sendo
necessário né pensando em usar aquela
questão da localidade tá se um processo
então é terminado o sistema operacional
pode atrasar a liberação de paz
em casa usuário decide executar o
programa de novo é interessante você
pensar nessas duas ideias paginação
antecipada ou por Demanda para tentar
diminuir Aí esse custo Quando acontecem
a busca né tentar se adiantar um dos
problemas que ocorre nessa nessa questão
de você fragmentar dividir né em página
é a fragmentação interna né ela ocorre
quando a memória foi fragmentada
utilizada Mas ficam sobrando espaços
internos na memória né E aí volta Aquele
caso que eu citei né páginas com
tamanhos menores elas podem gerar menos
desperdício né quer dizer menos
fragmentação Point e a questão da busca
né Então você vai ter um troço E aí
nesse caso a leitura é menos difícil por
causa da busca em tabelas grandes e mais
tempo para carregar em páginas
se você tem um oposto é você pode ter
mais desperdício Mas você vai ter uma
busca mais otimizada né então é é
interessante pensar nesse pedofe quando
tiver trabalhando aí na questão da
paginação é outra que outra definição
que eu queria falar para vocês a questão
da fragmentação né a gente fica passando
aí os nossos desfragmentadores né É
porque tem fragmentação interna e outra
outro termo que a gente ouvir bastante a
questão da fragmentação externa né que
era verdade a soma de todas as
fragmentações internas A então é o
sistema tente lidar com essa questão da
fragmentação
e a outra técnica que a gente citou é a
técnica de segmentação né a segmentação
ela permite você trabalhar com blocos de
tamanhos variáveis né E que a gente vai
ver aí é a questão seguimentos né e é
principal vantagem disso é permitir você
definir características né aí você pode
definir característica de proteção
definição de acesso aos espaços né de
uma forma adaptada a cada um dos
segmentos que o programa definir enfeite
você trabalhar como na paginação com
tamanhos fixos né Porém esse mecanismo
ele não é transparente para programação
E aí acaba gerando problemas de
implementação né E aí ele acaba sendo
menos geral - genérico do que a
paginação né e também uma maneira que os
sistemas Tem trabalhado é combinar né
paginação com segmentação né
eu queria os dois né pagina se alimenta
os grandes neoci alimentação pode nada
né isso é uma coisa bastante comum hoje
nos sistemas operacionais tá é a
e em relação agora ao armazenamento
ainda de páginas na tabela de páginas né
é uma coisa a se pensar é onde armazenar
essa tabela de páginas aí que faz esse
mapeamento né Você pode ter pensar em
armazenar por exemplo na hum né na
memória principal O problema é que você
aí vai ter dois acessos para receber uma
informação um acesso para tabela de
página e outro acesso para memória né
propriamente dita E aí você tendo esses
dois acessos você gera um overhand E aí
uma ideia é que a gente vai apresentar
na aula de hoje eu usar o que a gente
chama de tlb que é uma transferir a área
de transferência né que na verdade é uma
cast de tabela de página tá é até lhe
dela acaba ficando com as páginas mais
usadas no período de tempo aí então em
vez de ir buscar na memória ele busca
primeiro na
a série B depois senão aí ele vai para a
tabela de página daí a gente tem uma
economia aí de tempo uma outra ideia de
armazenar tabela de páginas né seria nos
registradores mas a gente sabe dos
problemas aí tanto dos registradores e
dos creches né da questão do tamanho
limitado então mais comum né é usar a
tlb então pela própria definição a
intelli b translation luxside buffer é
um hardware do tipo memória associativa
que vai fazer uma espécie de Cash da
tabela de página e acaba ficando com as
páginas que estão mais usadas no período
de tela né o primeira coisa que o
sistema faz é buscar na tlb se ele não
acha natele de aí ele vai para a tabela
de página né conforme aí a gente vai ver
no algoritmo do próximas páginas né É É
e deixe tio mapeamento esteja presente
na tlb né a conversando o endereço
virtual para o endereço físico ele
consegue ser realizado aí no tempo
reduzido e tem acesso da memória né Caso
não esteja né você vai gerar o que a
gente chama de ter IBM ela quer dizer o
que é preciso você então percorrer a
tabela de páginas né Lógico acessando a
memória até você conseguir obter a
página física aí ocasião em que se
memoriza aí esse mapeamento na tlb né o
próximo acesso a esse endereço de página
ele vai ser muito mais rápido né porque
ele já está carregado ao contrário das
outras quer é que é x né É até liberar o
conjunto aí de bits né é um dicionário
que tem limites de entrada e esse
conjunto é memorizado de maneira a
fornecer o conjunto de bits de Sá
em qualquer computador suporta a esse
execução simultânea de vários processos
como a gente viu na aula passada e aí
cada um acaba usando a mesma faixa de
endereços virtuais né Cada processo tem
essa tabela de página porém até LB ela é
compartilhada por todos os processos né
Esse dicionário é esse conjunto de
informações mais utilizadas né E aí o
número de página virtual acaba no sendo
suficiente para identificar uma página
e É nesse slide vocês vão conseguir ver
né A questão da do algoritmo que Eu
mencionei para vocês né aqui a gente tem
um algoritmo chamado de com o mesmo nome
né na verdade é um fluxograma né é onde
ele mostra como o trabalho aí essa busca
né como acontece essa música Primeiro
quando precisa da página procura-se
natele B seu encontro na tlb eu coloco o
endereço Mas o deslocamento e acesso
diretamente senão eu tenho que acessar a
tabela de página adiciono o frame
correspondente no endereço e aí tem dois
tipos de falha que podem acontecer né o
que eu tinha falado para vocês né o tele
bemis esse Terry bemis ele pode ser do
tipo soft de mim que a página não se
encontram na tele B mas está na memória
principal aí
e alisa a pele b e o Card Miss que a
página não está na memória é física nem
natele B né então você precisa trazer do
disco né Aham e trazer do disco né para
Hum e até liberar E aí isso vai ser um
pouco mais lento né Acho que esse
fluxograma ele acaba explicando melhor
essa questão do uso da tlb né é a
problema de ter que decidir qual página
tem que sair né quando a memória física
está ocupada um programa faz referência
a uma página que não está carregada na
memória normalmente usa-se a política de
substituição né do tipo aqui tem sido
usada ultimamente né as mais usadas
ultimamente né Considerando que as
páginas com menos utilização né Será
também menos provável de ser chamada né
é necessária normalmente a informação
e para esse essa essa decisão né resumo
esse aquela informação que tem lá no
endereço no Beach de utilização né então
você pode usar o bit de utilização
reflexivity é em cada entrada da tabela
de páginas né que periodicamente o
sistema operacional desativa em todas as
entradas e o Rider ativa né em uma
determinada entrada a cada vez que é um
um acesso a uma respectiva página né
então em resumo pessoal quando o
processo é criado o sistema operacional
né ele cria as páginas virtuais que ele
necessita em um espaço aí que ele chama
disso Whats fácil quando a página é
referenciada né pelo processo ela é
carregada na memória principal se tiver
que sair da memória principal ela vai
voltar lá no espaço de Swap isso
significa o
E aí né como é chamada aí troca de
contexto de página né entre a memória
principal e o disco né aquele espaço que
tá ali no meio né como se fosse como a
gente citou a cast que fica aí entre os
dois é
e continuando então é e em relação à
integração das memórias não é isso que a
gente falou nessas últimas três aulas né
a abstração da ideia da memória
integrada né ela deve ser feita de
maneira automática né a gente não deve
ter mais custo para isso os mecanismos
que a gente falou né De Cash sem aulas
em semanas passadas né e de memória
virtual nessa aula eles precisam
cooperar é para conseguir implementar
essa ministração de integração né Então
veja que as memórias existem fisicamente
separadas né em alguns casos e o
hardware eo software não é o sistema
operacional junto eles criam essa ideia
essa abstração né sendo lá a CPU com
seus registradores a memória principal
EA Cash com seus níveis aí fazendo essa
transição aí de informações né esse com
o futuro né Depois do outro lado aqui a
gente vai ter na questão da tabela de
páginas né a tlb a memória principal e o
disco né E aí tentando diminuir esse
acesso a disco de modo que a gente tem
impressão de quando eu tá trabalhando
com os nossos aplicativos aí as nossas
informações guardadas não-voláteis né
que elas rapidamente chegou no nosso
computador né Então essa é a ideia da
Integração da memória não é essa ideia
desse trabalho de gerenciamento de
memória aí memória virtual que o sistema
operacional faça é só para nos alongar
né Aqui tem uma figura que ilustra a
forma como esses mecanismos aí estão
integrados e se complementam Né desde o
pedido de acesso ao endereço virtual
passando para o endereço físico né E aí
aonde esse endereço é virtual está
mapeado até obter o valor
a pretendida essa é uma figura e lógico
que ilustrativa nela não tem um grande
Rigor aí de representação a é mais para
vocês entenderem essa questão de
integração é o caminho mais rápido né
conseguido é usando aí o mapeamento
virtual físico se ele estiver presente
aí na na tlb né na nossa na nossa
supercast aí trânsito né a página
referenciada se ela tiver carregada na
memória principal né e o bloco estiver
aí dentro da nossa memória Cash né esse
é o caminho mais rápido que existe né E
isso que o sistema operacional tenta
fazer né otimizar de uma maneira aqui os
nossos aplicativos e nós usuários aí não
percebemos esse acesso a disco né se ele
seja tão rápido como o acesso a memória
principal bom pessoal aqui tem a
bibliografia
é usada nessa semana né É principalmente
Delgado e o tannenbaum e são nossos
livros aí base o Stálin também tem
algumas figuras E aí o Capítulo 8 a
gente cocô algumas coisas então vocês
vão ver aqui que é Pode parecer bastante
mas a gente tá aí fragmentando os
capítulos e quem quiser estudar mais
ainda sobre esse assunto né existe um
livro do tannenbaum sobre esse sistema
operacional né que é o livro aí bastante
clássico da área de sistema operacionais
então era era isso pessoal com essa aula
eu encerro essa semana 3 É espero que
vocês tenham aproveitado essa grande
visão essa grande revisão que a gente
fez de sistema operacional entendido
essa questão de como trabalhar a memória
aí para auxiliar nesse gerenciamento e
controle de recursos que o sistema
operacional faz né Principalmente nessa
a integrar essas diferentes memórias aí
de modo a trazer à memória ideal para o
projetista né mais rápida não-volátil né
um grande capacidade de armazenamento
Obrigado a todos e até a próxima semana
pessoal é
E aí
[Música]
浏览更多相关视频
But, what is Virtual Memory?
L-5.9: What is Paging | Memory management | Operating System
14. OCR A Level (H046-H446) SLR4 - 1.2 Paging, segmentation and virtual memory
What is Virtual Memory? What Does it Do?
L-5.1: Memory Management and Degree of Multiprogramming | Operating System
L-5.19: Virtual Memory | Page fault | Significance of virtual memory | Operating System
5.0 / 5 (0 votes)