操作系统(5.2)--请求分页储存管理模式

简介: 在请求分页系统中所需要的主要数据结构是页表。为支持请求分页,须在页表中再增加若干项,供程序(数据)在换进、换出时参考。

目录


请求分页的硬件支持


1.页表机制


2.缺页中断机构


3.地址变换机构


请求分页中的内存分配


1.最小物理块数的确定


2.内存分配策略


3.物理块分配算法(采用固定分配策略时)


页面调度策略


1.何时调入页面


2.从何处调入页面


3.页面调入过程



请求分页的硬件支持

内存、外存、页表机制、缺页中断机构、地址变换机构


1.页表机制

在请求分页系统中所需要的主要数据结构是页表。为支持请求分页,须在页表中再增加若干项,供程序(数据)在换进、换出时参考。在请求分页系统中的每个页表项如下所示:


2dae2bfaf39abfe08d8cf4b8dc7b9e59_2ffcf33773f24d7ae6a46f2cac161df1.png


现对其中各字段说明如下:


(1) 状态位P:用于指示该页是否已调入内存,供程序访问时参考。


(2)访问字段A:用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问,供选择换出页面时参考。


(3)修改位M:表示该页在调入内存后是否被修改过,供置换页面时参考。


(4)外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。


2.缺页中断机构

在请求分页系统中的缺页中断与一般中断区别,主要表现在下面两个方面:


(1) 在指令执行期间产生和处理中断信号。


(2)一条指令在执行期间,可能产生多次缺页中断。


在图中示出的例子,可能要产生6次缺页中断。


bb18979f3cae19b4fd42e0583a2a597d_4a8e5f1d1842bb0249780e69d9443192.png


3.地址变换机构

请求分页中的地址变换过程


34b897d35fab7717e0607460ed2acab4_68d2ba0bc05dc7fc8db1392f7fe4fc20.png


请求分页中的内存分配

1.最小物理块数的确定

这里所说的最小物理块数,是指能保证进程正常运行所需的最小物理块数。当系统为进程分配的物理块数少于此值时,进程将无法运行。


2.内存分配策略

1)内存分配策略


固定分配是指为每个进程分配一固定页数的内存空间,在整个运行期间都不再改变。

可变分配:是指一个进程所拥有的物理块数是不定的,这种分配方式称之为可变分配。

2)页面置换方式


全局置换:页面淘汰可以在整个内存空间范围内进行。

局部置换:只在一个进程空间范围内考虑。

由内存分配策略和页面置换方式的不同,可以组合出以下四种策略:


固定分配局部置换

固定分配全局置换  不可能

可变分配局部置换

可变分配全局置换

3.物理块分配算法(采用固定分配策略时)

1)平均分配算法


这是将系统中所有可供分配的物理块平均分配给各个进程。


2)按比例分配算法


这是根据进程的大小按比例分配物理块的算法。如果系统中共有n个进程,每个进程的页面数为Si,则系统中各进程页面数的总和为:


0b8749288f5963dac92b3d2bc73778a2_8fe6005b1429043ad4ca8d64db71b81d.png


又假定系统中可用的物理块总数为m,则每个进程所能分到的物理块数为bi,将有:应该取整,它必须大于最小物理块数。


cab850c686a757454468cf4a4aa4d3c1_40fd0563ce66b681dd09b540061e1574.png


3)考虑优先权的分配算法


通常采取的方法是把内存中可供分配的所有物理块分成两部分:①一部分按比例地分配给各进程;②另一部分则根据各进程的优先权,适当地增加其相应份额后,分配给各进程。在有的系统中,如重要的实时控制系统,则可能是完全按优先权来为各进程分配其物理块的。


页面调度策略

1.何时调入页面

1)预调页策略可采用一种以预测为基础的预调页策略,将那些预计在不久之后便会被访问的页面预先调入内存。如果预测较准确,那么,这种策略显然是很有吸引力的。


2)请求调页策略当进程在运行中需要访问某部分程序和数据时,若发现其所在的页面不在内存,便立即提出请求,由OS将其所需页面调入内存。


2.从何处调入页面

在请求分页系统中的外存分为两部分:①用于存放文件的文件区和②用于存放对换页面的对换区。通常,由于对换区是采用连续分配方式,而文件区是采用离散分配方式,故对换区的磁盘I/0速度比文件区的高。这样,每当发生缺页请求时,系统应从何处将缺页调入内存,可分成如下三种情况:


(1)从交换区调入


系统拥有足够的对换区空间,这时可以全部从对换区调入所需页面,以提高调页速度。为此,在进程运行前,便须将与该进程有关的文件从文件区拷贝到对换区


(2)从交换区及文件区调入


系统缺少足够的对换区空间,这时凡是不会被修改的文件都直接从文件区调入;而当换出这些页面时,由于它们未被修改而不必再将它们换出,以后再调入时,仍从文件区直接调入。但对于那些可能被修改的部分,在将它们换出时,便须调到对换区,以后需要时,再从对换区调入。


(3)UNIX方式


由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都应从文件区调入。而对于曾经运行过但又被换出的页面,由于是被放在对换区,因此在下次调入时,应从对换区调入。


3.页面调入过程

fc03d089854f9bf0498151872412c1b0_9387f805f9ac63030d81b12c6e9dc580.png


4.缺页率


假设一个进程的逻辑空间为n页,系统为其分配的内存物理块数为m(m≤n)。如果在进程的运行过程中,访问页面成功(即所访问页面在内存中)的次数为S,访问页面失败(即所访问页面不在内存中,需要从外存调入)的次数为F,则该进程总的页面访问次数为A=S+F,那么该进程在其运行过程中的缺页率即为:


72d456230551a239a9f2b0109be02664_d982da7f4c7060befaa2d3278072cc9d.png


影响缺页率的因素:


页面大小

进程所分配物理块的数目

页面置换算法

程序固有特性

目录
相关文章
|
6月前
|
算法 程序员
深入理解操作系统内存管理:分页系统的优势与挑战
【4月更文挑战第7天】 在现代操作系统中,内存管理是一项至关重要的任务,它确保了计算机能够高效、安全地运行各种程序。分页系统作为内存管理的一种技术,通过将物理内存分割成固定大小的单元——页面,为每个运行的程序提供了一种独立且连续的内存地址空间。该技术不仅简化了内存分配,还允许更高效的内存使用和保护。本文探讨了分页系统的核心原理,优势以及面临的挑战,旨在为读者揭示其在操作系统设计中的重要性。
|
2月前
|
机器学习/深度学习 Dart 前端开发
移动应用与系统:构建现代数字生态的基石在当今这个高度数字化的社会中,移动应用与操作系统已成为我们日常生活不可或缺的一部分。它们不仅改变了我们的沟通方式,还重塑了我们的工作、学习和娱乐模式。本文将深入探讨移动应用开发的基础、移动操作系统的功能以及这两者如何共同塑造了我们的数字世界。
随着智能手机和平板电脑的普及,移动应用与系统的重要性日益凸显。它们不仅为用户提供了便捷的服务和丰富的功能,还为开发者提供了广阔的创新平台。本文将介绍移动应用开发的基本概念、技术栈以及最佳实践,并探讨主流移动操作系统的特点和发展趋势。通过分析移动应用与系统的相互作用,我们可以更好地理解它们在现代社会中的重要地位。
|
1月前
|
存储 Java C语言
MacOS环境-手写操作系统-04-实模式进入保护模式
MacOS环境-手写操作系统-04-实模式进入保护模式
15 1
|
2月前
|
安全
探索操作系统的心脏:内核与用户模式的交互之旅
【9月更文挑战第12天】在数字世界的海洋中,操作系统扮演着灯塔的角色,指引着每一条数据流的方向。本文将深入探讨操作系统的核心机制——内核与用户模式,揭示它们如何协同工作以保障计算机系统的高效与安全。我们将从基础概念出发,逐步深入到实际代码示例,旨在为读者呈现一幅清晰的操作系统工作原理图景。
|
1月前
|
存储 iOS开发 C++
MacOS环境-手写操作系统-05-保护模式超强寻址
MacOS环境-手写操作系统-05-保护模式超强寻址
24 0
|
2月前
|
安全
探索操作系统的心脏:内核与用户模式的奥秘
在数字世界的海洋中,操作系统如同一艘巨轮,承载着无数数据的流动。本文将揭开这艘巨轮的核心机密——内核与用户模式,带你领略它们如何协同工作,确保系统的稳定与安全。通过浅显易懂的语言和生动的比喻,我们将一探究竟,看看这两种模式如何在幕后默默支撑着我们的日常计算体验。准备好了吗?让我们启航,深入操作系统的心脏地带!
|
3月前
|
安全 调度 开发者
探索操作系统的心脏:内核与用户模式
【8月更文挑战第30天】在数字世界的每一次跳动中,操作系统扮演着至关重要的角色。本文将深入浅出地探讨操作系统的核心概念——内核与用户模式,通过生动的比喻和直观的解释,带领读者理解这一复杂主题。我们将从内核的定义和功能出发,逐步揭示用户模式的秘密,并通过代码示例,展示如何在实际应用中区分和利用这两种模式。无论你是计算机科学的初学者还是资深开发者,这篇文章都将为你打开一扇了解操作系统深层工作原理的大门。
|
3月前
|
安全 Linux Windows
探索操作系统的心脏:内核与用户模式的奥秘
本文将深入探讨操作系统的核心组件——内核,以及它如何通过用户模式和内核模式的切换来管理资源和保护系统安全。我们将从基础概念出发,逐步深入到内核的设计原理,最后讨论现代操作系统中用户模式与内核模式的交互机制。通过这篇文章,读者将获得对操作系统内核工作原理的深刻理解,并认识到它在计算机系统中的重要性。
|
6月前
|
缓存 算法 安全
深入理解操作系统内存管理:分页系统的优势与挑战
【5月更文挑战第31天】 在现代操作系统中,内存管理是核心功能之一。分页系统作为内存管理的一种流行技术,其设计哲学基于时间和空间的局部性原理,旨在提高内存利用率和系统性能。本文将探讨分页系统的关键优势及其面临的挑战,包括页面置换算法、内存碎片问题以及虚拟到物理地址转换的复杂性。通过对分页机制的深入分析,我们揭示了它在多任务处理环境中如何允许多个进程共享主存资源,并保证了操作系统的稳定性与高效性。
|
6月前
|
缓存 算法
深入理解操作系统内存管理:分页系统的优势与挑战
【5月更文挑战第28天】 在现代操作系统中,内存管理是一项至关重要的功能,它不仅确保了系统的稳定运行,还提升了资源的利用效率。本文将探讨分页系统这一核心概念,并分析其在内存管理中的优势和面临的挑战。通过剖析分页机制的工作原理及其对虚拟内存实现的重要性,我们进一步阐述了它在多任务处理和内存保护方面的作用。同时,文章也将讨论分页带来的性能开销、页面置换算法的设计以及它们如何影响系统的整体性能。