《操作系统》课程教学资源(PPT课件讲稿)Chapter 8 Virtual Memory

Chapter 8 Virtual Memory · Real memory Main memory, the actual RAM, where a process executes Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory Size is limited by the amount of secondary memory available Virtual address is the address assigned to a location in virtual memory
1 Chapter 8 Virtual Memory • Real memory – Main memory, the actual RAM, where a process executes • Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory – Size is limited by the amount of secondary memory available • Virtual address is the address assigned to a location in virtual memory

Keys to virtual Memory 1)Memory references are logical addresses that are dynamically translated into physical addresses at run time a process may be swapped in and out of main memory, occupying different regions at different times during execution 2) A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory
2 Keys to Virtual Memory 1) Memory references are logical addresses that are dynamically translated into physical addresses at run time – A process may be swapped in and out of main memory, occupying different regions at different times during execution 2) A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory

Breakthrough in Memory Management If both of those two characteristics are present then it is not necessary that all of the pages or all of the segments of a process be in main memory during execution If the next instruction and the next data location are in memory then execution can proceed
3 Breakthrough in Memory Management • If both of those two characteristics are present, – then it is not necessary that all of the pages or all of the segments of a process be in main memory during execution. • If the next instruction and the next data location are in memory then execution can proceed

Execution of a process os brings into main memory a few pieces of the program Resident set: portion of process that is in main memory EXecution proceeds smoothly as long as all memory references are to locations that are in the resident set An interrupt(memory access fault is generated when an address is needed that is not in main memor
4 Execution of a Process • OS brings into main memory a few pieces of the program – Resident set: portion of process that is in main memory • Execution proceeds smoothly as long as all memory references are to locations that are in the resident set • An interrupt (memory access fault) is generated when an address is needed that is not in main memory

Execution of a process OS places the process in a blocking state Piece of process that contains the logical address is brought into main memory OS issues a disk l/o Read request Another process is dispatched to run while the disk lo takes place An interrupt is issued when disk l/o complete which causes OS to place the affected process in the Ready state
5 Execution of a Process • OS places the process in a blocking state • Piece of process that contains the logical address is brought into main memory – OS issues a disk I/O Read request – Another process is dispatched to run while the disk I/O takes place – An interrupt is issued when disk I/O complete which causes OS to place the affected process in the Ready state

mplications of this new strategy More efficient processor utilization More processes may be maintained in main memory because only load in some of the pieces of each process More likely a process will be in the ready state at any particular time A process may be larger than main memory This restriction in programming is lifted OS automatically loads pieces of a process into main memory as required
6 Implications of this new strategy • More efficient processor utilization – More processes may be maintained in main memory because only load in some of the pieces of each process – More likely a process will be in the Ready state at any particular time • A process may be larger than main memory – This restriction in programming is lifted – OS automatically loads pieces of a process into main memory as required

Thrashing A condition in which the system spends most of its time swapping pieces rather than executing instructions It happens when OS frequently throws out a piece just before it is used To avoid this, OS tries to guess, based on recent history, which pieces are least likely to be used in the near future
7 Thrashing • A condition in which the system spends most of its time swapping pieces rather than executing instructions. • It happens when OS frequently throws out a piece just before it is used • To avoid this, OS tries to guess, based on recent history, which pieces are least likely to be used in the near future

Principle of locality Program and data references within a process tend to cluster only a few pieces of a process will be needed over a short period of time It is possible to make intelligent guesses about which pieces will be needed in the future, which avoids thrashing This suggests that virtual memory may work efficiently
8 Principle of Locality • Program and data references within a process tend to cluster → only a few pieces of a process will be needed over a short period of time • It is possible to make intelligent guesses about which pieces will be needed in the future, which avoids thrashing • This suggests that virtual memory may work efficiently

Performance of processes in vm environment Iw-iundumrenhraal Eau During the lifetime of the 也H L process, references are confined to a subset of pages 吗M邮 Execution time Figure 8.1 Hging Behavior
9 Performance of Processes in VM Environment • During the lifetime of the process, references are confined to a subset of pages

Support Needed for Virtual Memory Hardware must support paging and segmentation OS must be able to manage the movement of pages and/or segments between secondary memory and main memory 10
10 Support Needed for Virtual Memory • Hardware must support paging and segmentation • OS must be able to manage the movement of pages and/or segments between secondary memory and main memory
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《操作系统》课程教学资源(PPT课件讲稿)Chapter 6 Concurrency Deadlock and Starvation.ppt
- 《操作系统》课程教学资源(PPT课件讲稿)Chapter 1 and 2 Computer System and Operating System Overview.ppt
- 印第安纳大学:《Informatics》课程PPT教学课件(信息学)08 网络爬虫 Web Crawling.ppt
- 《Java编程导论》课程教学资源(PPT课件讲稿)Chapter 8 Strings and Text I/O.ppt
- 《计算机网络与通讯》课程教学资源(PPT课件讲稿,英文版)Chapter 3 Transport Layer.ppt
- C++ Review.ppt
- 《计算机网络与通讯》课程教学资源(PPT课件讲稿,英文版)Chapter 07 Network Security.ppt
- Incorporating Structured World Knowledge into Unstructured Documents via——Heterogeneous Information Networks.pptx
- FairCloud:Sharing the Network in Cloud Computing.pptx
- 香港科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件)Chapter 1 Introduction of computer networking.ppsx
- Fluent:《GAMBIT建模教程》教学资源(PPT讲稿)Geometry Operations in GAMBIT.ppt
- 有限元分析 ANSYS:Modeling Turbulent Flows(PPT讲稿)Introductory FLUENT Training.ppt
- 隐马尔科夫模型和词性标注(PPT课件讲稿).ppt
- 哈尔滨工业大学:《中文信息处理》课程教学资源(PPT课件讲稿)句法分析(张宇).ppt
- 新乡学院:《计算机网络》课程教学大纲(适用专业:信息与计算科学).pdf
- 新乡学院:《数据库原理》课程电子教案(PPT课件)第3章 关系数据库.ppt
- 《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第8讲 数据库恢复技术.ppt
- 河南中医药大学:《网络技术实训》课程教学资源(PPT课件讲稿)第4讲 网络管理实训内容(上).pptx
- 河南中医药大学(河南中医学院):《计算机网络》课程教学资源(PPT课件讲稿)第六章 应用层.ppt
- 《计算机辅助设计——Photoshop制图》课程标准.pdf
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 10 Pose estimation by the iterative method.pptx
- Introduction to Internet and TCPIP(PPT讲稿)IP转发 IP FORWARDING.pptx
- GD-Aggregate:A WAN Virtual Topology Building Tool for Hard Real-Time and Embedded Applications.ppt
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 05 Hough transform.pptx
- 香港中文大学:Image processing and computer vision(PPT课件讲稿)Edge detection and image filtering.pptx
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 07 Mean-shift and Cam-shift.pptx
- Essential Cluster OS Commands.ppt
- 香港浸会大学:Kickstart Tutorial/Seminar on using the 64-nodes P4-Xeon Cluster in Science Faculty.ppt
- 香港浸会大学:并行输入输出(PPT讲稿)Parallel I/O.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 7 Memory Management.ppt
- 四川大学:《数据库技术》课程教学资源(PPT课件讲稿)第4章 数据库查询.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第五章 存储层次.ppt
- 软件配置管理和项目管理工具(PPT讲稿)Software Configuration Management and Project Management Tool.ppt
- 《数据库基础》课程PPT教学课件(SQL Server)第4章 T-SQL与可编程对象.ppt
- 《嵌入式系统开发》课程PPT教学课件(讲稿)第一章 嵌入式系统概述.ppt
- 《编译原理 Compiler Construction》课程教学资源(PPT讲稿)语义分析 Semantic Analysis(Attributes and Attribute Grammars、Algorithms for Attribute Computation).ppt
- 四川大学:《Linux操作系统》课程教学资源(PPT课件讲稿)第6章 Linux系统调用.ppt
- 《数据库技术》课程教学资源(PPT课件讲稿)第3章 SQL语言基础及数据定义功能(主讲:曾晓东).ppt
- 四川大学:.NET and .NET Core:Languages, Cloud, Mobile and AI(PPT课件讲稿)NET for Data Science and AI.pptx
- 四川大学:《Matlab程序设计》课程教学资源(教学大纲)Programming in Matlab.pdf