提纲 Background Demand Paging(按需调页) Copy-on-Write(写时复制 Page Replacement(页面置换) Allocation of Frames Thrashing(抖动) Memory-Mapped Files Allocating Kernel Memory Other Issues Operating System Examples 小结和作业 4口”4814在4色,主)QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 提纲 Background Demand Paging (按需调页) Copy-on-Write (写时复制) Page Replacement (页面置换) Allocation of Frames Thrashing (抖动) Memory-Mapped Files Allocating Kernel Memory Other Issues Operating System Examples 小结和作业
Background Instructions must be loaded into memory before execution. Solutions in chapter 8: Program entire Physical memory Sometimes,jobs may be too big or too many. How to expand the main memory? Physically?COST TOO HIGH! =Logically?√ 4口”4814在,4色,主)QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Background ▶ Instructions must be loaded into memory before execution. ▶ Solutions in chapter 8: Program entire −−−−−→Physical memory ▶ Sometimes, jobs may be too big or too many. How to expand the main memory? ▶ Physically? COST TOO HIGH! ▶ Logically? √
Background Virtual memory:Why and How? Some code may get no,or only little,opportunity of execution, for example,code for error handlers Some data may get no opportunity of access Locality of reference(程序的局部性原理),1968, Denning Temporal locality(时间局部性) Spatial locality(空间局部性) Idea:partly loading(部分装入)、demand loading(按 需装入)、replacement(置换) 4口”484在4色,主月QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Background ▶ Virtual memory: Why and How? ▶ Some code may get no, or only little, opportunity of execution, for example, code for error handlers ▶ Some data may get no opportunity of access ▶ Locality of reference (程序的局部性原理), 1968, Denning ▶ Temporal locality (时间局部性) ▶ Spatial locality (空间局部性) ▶ Idea: partly loading (部分装入)、demand loading (按 需装入)、replacement (置换)
Background Virtual Memory(虚拟存储器) 是指具有请求调页功能和置换功能,能从逻辑上对内存容量 加以扩充的一种存储器系统 Logical size: 从系统角度看:内存容量+外存容量 从进程角度看:地址总线宽度范围内;内存容量+外存容量 Speed:close to main memory Cost per bit:close to secondary storage(disks) Virtual memory separation of user logical memory from physical memory. Only part of the program needs to be in memory for execution Logical address space can therefore be much larger than physical address space Allows address spaces to be shared by several processes Allows for more efficient process creation 4口”484在4色,主月QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Background ▶ Virtual Memory (虚拟存储器) 是指具有请求调页功能和置换功能,能从逻辑上对内存容量 加以扩充的一种存储器系统 ▶ Logical size: 从系统角度看:内存容量+外存容量 从进程角度看:地址总线宽度范围内;内存容量+外存容量 ▶ Speed: close to main memory ▶ Cost per bit: close to secondary storage (disks) ▶ Virtual memory : separation of user logical memory from physical memory. ▶ Only part of the program needs to be in memory for execution ▶ Logical address space can therefore be much larger than physical address space ▶ Allows address spaces to be shared by several processes ▶ Allows for more efficient process creation
Background page0 page 1 page 2 memory map PM page v VM Diagram showing vritual memory that is larger than physical memory 4口”4814在4色,主)QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Background page 0 page 1 page 2 ... page v VM memory map PM Diagram showing vritual memory that is larger than physical memory
Background Virtual memory can be implemented via: 1.Demand paging Paging technology pager(请求调页)and page replacement Pager VS.swapper the unit of swapping in/out is not the entire process but page. 2.Demand segmentation 4口”4814在,4色,主)QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Background ▶ Virtual memory can be implemented via: 1. Demand paging ▶ Paging technology + pager (请求调页) and page replacement ▶ Pager VS. swapper the unit of swapping in/out is not the entire process but page. 2. Demand segmentation
虚拟存储器的特征 1.多次性:最重要的特征 ·一个作业被分成多次装入内存运行 2.对换性 一允许在进程运行的过程中,(部分)换入换出 3.虚拟性 ·逻辑上的扩充 ·虚拟性是以多次性和对换性为基础的。 。多次性和对换性是建立在离散分配的基础上的 4口”484在4色,主月QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 虚拟存储器的特征 1. 多次性:最重要的特征 ▶ 一个作业被分成多次装入内存运行 2. 对换性 ▶ 允许在进程运行的过程中,(部分)换入换出 3. 虚拟性 ▶ 逻辑上的扩充 ▶ 虚拟性是以多次性和对换性为基础的。 ▶ 多次性和对换性是建立在离散分配的基础上的
Virtual-address Space(虚拟地址空间) The virtual address space of a process refers to the logical (or virtual)view of Max how a process is stored in memory. stack Typically:0~xxx exists in contiguous memory In fact,the physical memory are organized (partitioned)in page frames the page frames assigned to a process may not be heap contiguous→MMU data code 4口”484在4色,主月QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtual-address Space (虚拟地址空间) ▶ The virtual address space of a process refers to the logical (or virtual) view of how a process is stored in memory. ▶ Typically: 0~xxx & exists in contiguous memory ▶ In fact, the physical memory are organized (partitioned) in page frames & the page frames assigned to a process may not be contiguous⇒MMU Max 0 stack ❄ ✻ heap data code
Some benefits 1.Shared library using virtual memory stack stack shared library shared pages shared library heap heap data data code code 2.Shared memory 3.Speeding up process creation 4口”4814在4色,主QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Some benefits 1. Shared library using virtual memory stack stack heap heap data data code code shared library shared pages shared library 2. Shared memory 3. Speeding up process creation
Outline Demand Paging(按需调页 Basic Concepts(Hardware support) Performance of Demand Paging 4口”4814在,4色,主)QC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline Demand Paging (按需调页) Basic Concepts (Hardware support) Performance of Demand Paging