OS3存储管理2
UCOS-III文件系统的操作
FA_CREATE_ALWAYS, FA_CREATE_NEW, FA_OPEN_ALWAYS 是无效的。 返回值 FR_OK (0) 函数成功,该文件对象有效。 FR_NO_FILE 找不到该文件。 FR_NO_PATH 找不到该路径。 FR_INVALID_NAME 文件名无效。 FR_INVALID_DRIVE 驱动器号无效。 FR_EXIST 该文件已存在。 FR_DENIED 由于下列原因,所需的访问被拒绝:
二、文件的关闭
f_close 关闭一个打开的文件
FRESULT f_close ( FIL * FileObject
/* 文件对象结构的指针 */
); 参数
FileObject 指向将被关闭的已打开的文件对象结构的指针。 返回值 FR_OK (0) 文件对象已被成功关闭。 >FR_DISK_ERR 由于底层磁盘 I/O 函 数中的错误,而导致该函数失败。 FR_INT_ERR 由于一个错误的 FAT 结构或一个内部错误,而导致该函数失败。
res = f_write(&fdst, buffer, br, &bw); if (res || bw < br) break; /* 磁盘满错误 */
} /* 关闭打开的文件 */
f_close(&fsrc);
f_close(&fdst); /* 注销工作区(在废弃前) */ f_mount(0, NULL); f_mount(1, NULL); }
FR_INT_ERR
由于一个错误的 FAT 结构或一个内部错误,而导致该函数失败。 FR_NOT_READY 由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。 FR_INVALID_OBJECT 文件对象无效。 描述 f_lseek 函数当 FS_MINIMIZE <= 2 时可用。 offset 只能被指定为相对于文件起始处的字节数。当在写模式下指定了一个超过 文件大小的 offset 时,文件的大小将被扩展,并且该扩展的区域中的数据是未定 义的。这适用于为快速写操作迅速地创建一个大的文件。f_lseek 函数成功后, 为了确保读/写指针已被正确地移动,必须检查文件对象中的成员 fptr。如果 fptr 不是所期望的值,则发生了下列情况之一。 文件结束。指定的 offset 被钳在文件大小,因为文件已被以只读模式打开。 磁盘满。卷上没有足够的空闲空间去扩展文件大小。 例子
OS03调度与死锁
第五章 调度与死锁
9
周转时间
作业提交时间:Si 作业完毕间:Ei(等待时间+运营时间) 周转时间:Ti =Ei – Si 作业平均周转时间:
T=( T1+T2+…+Tn)/n 带权周转时间:Wi=Ti/作业i运营时间 平均带权周转时间:
W=(W1+W2+…+Wn)/n
第五章 调度与死锁
10
进程调度方式
第五章 调度与死锁
3
高级调度
也称为作业调度或宏观调度,一般在批 处理系统中有作业调度。
作业:顾客在一次计算过程中,或者一次
事务处理过程中,要求计算机系统所做工 作旳总称
作业步:一种作业可划提成若干部分,称
为一种作业步
第五章 调度与死锁
4
中级调度
涉及进程在内外存间旳互换,从存储器管 理旳角度来看,把进程旳部分或全部换 出到外存上,可为目前运营进程旳执行 提供所需内存空间。
➢ 参加死锁旳进程至少有两个已经占有资源 ➢ 参加死锁旳全部进程都在等待资源 ➢ 参加死锁旳进程是目前系统中全部进程旳子集
注:假如死锁发生,会挥霍大量系统资源, 甚至造成系统崩溃
第五章 调度与死锁
39
产生死锁旳必要条件
四个必要条件: 互斥条件:涉及旳资源是非共享旳。 不剥夺条件:不能强行剥夺进程拥有旳资源。 部分分配条件:进程在等待一新资源时继续 占有已分配旳资源。 环路条件:存在一种进程旳循环链,链中旳 每一种进程已取得旳资源同步被链中旳下一 种进程所祈求。
3
9:00 8 10:00 10:08 68 8.5
4
9:30 12 10:08 10:20 50
平均周转时间 t=97
OS3处理机管理
解:因为系统中只有一个处理机,所以某时刻处于执 行态的进程数最多只有一个。而最少可能为0,此时其 它10个进程一定全部排在各阻塞队列中,在就绪队列 中没有进程。而某时刻处于就绪态的进程数最多只有9 个,不可能出现10个情况,因为一旦CPU有空,调度程 序马上调度,当然这是在略去调度程序调度时间时考 虑。处于阻塞态的进程数最少是0个。
3.4 进程调度
3.4.1.进程调度的基本概念 进程调度也可被称为处理机调度,它协调和控制 各进程对CPU的使用。相应的进程调度程序叫分 派程序或低级调度程序。一旦作业调度程序选择 了一个作业集合来运行,系统就要为作业建立起 一组进程,这组进程协同运行,以便共同完成该 作业的计算任务。这样,在系统中就存在许多进 程,而这些进程具有获得使用处理机的可能性, 它们同时在等待获得处理机的执行时间,进程调 度的职能就是动态且合理地把处理机分配给就绪 队列中的某一进程,并使该进程投入运行。
3.2.2. 进程的基本调度状态及其转换
(1) 进程的基本调度状态 进程有3种基本调度状态,具体说明如下。 ① 执行状态(executing)。进程已获得必要的资源,并已占 有处理机,在其上执行该进程的程序。 ② 就绪状态(ready)。进程本身已具备了执行条件,即已获 得除CPU之外其它所必需的资源,而正在等待分配处理机 。有时也称此状态为可执行状态。 ③ 阻塞状态(blocked)。进程因等待资源或等待某一事件(如 某一I/O操作完成)而处于不可执行的状态,也可以说,进 程本身的执行条件不满足,即使为它分配CPU也不能在其 上执行。
作业管理
I/O完成
三个基本状态之间可能转换和转换原因如下:
就绪态――>执行态:当处理机空闲时,进程调 度程序必将处理机分配给一个处于就绪态的进程 ,该进程便由就绪态转换为执行态。
北京工业大学操作系统课OS3
存储 管理
保护位 R
• 段表加入相应位
1
2 3 4
6300
4300 3200 4700
400
400 1100 1000
RW
W RWX X
48
第三章
段的共享
• 以段为单位进行
存储 管理
49
第三章
段式存储管理的优缺点
优点
存储 管理
• 共享和保护容易实现 • 程序员可以按照自己的方式组织程序
• 可变分区
• 可变分区机制在维护上比较复杂,并且在紧凑时浪费处理器时间
• Buddy系统是两者的结合
27
第三章
实例:Buddy系统
存储 管理
28
第三章
分区存储管理的问题
占用连续的存储空间。
存储 管理
• 前面的存储器管理方式都要求一个进程在主存中
• 会产生小碎片,只能用紧凑的方式拼接成大的空间 • 开销大
存储 管理
19
第三章
固定分区的特点
优点 • 简单 缺点 • 程序可能太大而不能放入一个分区
• 程序员要设计一种覆盖的方法。
存储 管理
• 主存的应用效率低
• 小程序也要占用整个分区
• 限制了系统中可以激活的进程数目
• 因调入的数据小于分区而产生分区空间的浪费, 称为内部碎片。
• 用不等长的分区来缓解,但不能根本解决。
8
第三章
逻辑地址 物理地址
• CPU生成的地址是逻辑地址
存储 管理
• 内存单元的地址是物理地址
• 程序生成的逻辑地址的集合是逻辑地址空间 • 所有物理地址的集合是物理地址空间
虚拟存储OS3续
(3)页面调入策略
为能使进程运行,必须事先将一部分要执行的程序和数据调入 内存。 1. 调入页面的时机 为了将进程运行时所缺的页面调入内存,可采取策略有: 预调页策略是一种主动的缺页调入策略,即将那些预计在不 久的将来会被访问的程序或数据所在的页面,预先调入内存。 由于预测的准确率不高(50%),所以这种策略主要用于进程 的首次调入。有的系统将预调页策略用于请求调页,例如在 VAX/VMS操作系统中,采用了一种称为群页式的调页策略,当 系统将进程所请求的页面调入内存时,也同时将其相邻的几 个页面调入内存。 请求调页策略是指当进程在运行中发生缺页时,就立即提出 请求,由系统将缺页调入内存。目前的虚拟存储器中,大多 采用此策略。但这种策略在调页时须花费较大的系统开销, 如需频繁启动磁盘I/O。
虚拟存储器的引入-3
虚拟存储器是具有请求调入功能和置换功能,能仅把作业的 一部分装入内存便可运行作业的存储器系统,它能从逻辑上 对内存容量进行扩充的一种虚拟的存储器系统。其逻辑容量 由内存和外存容量之和所决定,其运行速度接近于内存速度, 而每位的成本却又接近于外存。可见,虚拟存储技术是一种 性能非常优越的存储器管理技术,故被广泛地应用于大、中、
请求分页中的硬件支持-2
2.缺页中断机构 在请求分页系统中,每当所要访问的页面不在内存时, 便要产生一缺页中断,请求OS将所缺页调入内存。与一般中 断的主要区别在于: 缺页中断在指令执行期间产生和处理中断信号,而一般中断 在一条指令执行完后检查和处理中断信号。 缺页中断返回到该指令的开始重新执行该指令,而一般中断 返回到该指令的下一条指令执行。 一条指令在执行期间,可能产生多次缺页中断。 3.地址变换机构 请求分页系统中的地址变换机构,是在分页系统的地址 变换机构的基础上,再为实现虚拟存储器而增加了某些功能 所形成的,如产生和处理缺页中断,以及从内存中换出一页 的功能等等,下图给出了请求分页系统的地址变换过程。
os存储管理总结
第四章、第五章
存储管理主要内容
• 基本概念 • 分区管理 • 分页管理 • 分段管理 • 请求分页管理 • 主要技术
Part 1 基本概念
• 逻辑地址、物理地址、地址转换(重定位) • 重定位方式、链接方式 • 虚拟存储器
分区管理
• 单一连续区、固定分区、动态分区基本思 想、特点
• 动态分区:分配算法(4种)、回收算法、 数据结构、地址转换
相关计算
• 动态分区分配算法 • 分页、请求分页地址转换 • 请求分页页面置换算法 • EAT计算
习题
1. 在虚拟页式存储模式下,页长4KB,页表和位示 图都从0号计数。一进程的页表为(219,9,88, 666,99,2,128,8,55,-1,1,256)(注:
-1 表 该 页 未 在 内 存 ) , 内 存 的 位 示 图 为 (111111011111……)(注,1表示该内存页已分 配,0表示是该内存页未分配),计算逻辑地址 ACD2和9C49对应的物理地址。
分页管理
• 基本思想、特点 • 数据结构:进程页表、位示图 • 地址转换 • 主要技术:快表、多级页表
分段管理
• 基本思想、特点 • 数据结构:进程段表、分区表 • 地址转换 • 与分页区别
请求分页管理
• 基本思想 • 数据结构:页表修改 • 地址转换 • 页面置换算法
主要技术
• 内存紧凑(动态分区) • 交换、覆盖(动态分区) • 快表技术(分页) • 多级页表(分页) • 缺页中断处理(请求分页)
10:00
10:25
1
10
10:10
10:15
3
7
10:15
10:26
4
8
三种存储管理方法的地址转换.doc
三种存储管理方法的地址转换。
三种存储管理方法的地址转换摘要:操作系统(OS)是一种系统软件(或程序集),它方便用户、管理和控制计算机软件和硬件资源。
从用户的角度来看,操作系统可以看作是计算机硬件的扩展。
从人机交互的角度来看,操作系统是用户和机器之间的接口。
从计算机的系统结构来看,操作系统是一组具有层次和模块结构的程序,属于有序层次方法,是无序模块的有序层次调用。
操作系统的设计体现了计算机技术和管理技术的结合。
操作系统是系统软件的核心,它控制程序的执行,并提供资源分配、调度、输入/输出控制和数据管理等任务。
如操作系统、UNIX、OS/2和Windows NT都是广泛使用的操作系统。
在这三种管理方法中,分页系统能有效提高内存利用率,分段系统能很好的满足用户需求,而分段分页系统是前两者结合而成的系统。
这种新系统不仅具有易于实现分段系统、分段共享、易于保护和动态链接等一系列优点,而且可以解决分页系统等内存外部碎片问题,并为每个分段离散分配内存。
关键词:分页模式,分段模式,分段页面模式,操作系统。
1.介绍:分页存储管理是将一个进程的逻辑地址空间分成几个大小相等的部分,称为页或页。
在分段存储管理模式中,作业的地址空间被分成几个段,每个段定义一组逻辑信息。
段的长度由相应逻辑信息组的长度决定,因此段的长度不相等。
分段-页面存储管理是分段和分页原则的结合,即用户程序首先被分成几个段,然后每个段被分成几个页面,每个段被赋予一个段名。
这三种类型的存储管理都有相应的段表、页表和地址转换机制。
2.三种存储管理方法的地址转换描述:(1)分页存储管理为了实现进程从逻辑地址到物理地址的转换功能,在系统中设置了一个页表寄存器,用于存储内存中页表的起始地址和页表的长度。
当一个进程想要访问逻辑地址中的数据时,分页地址转换机制会自动将有效地址(相对地址)分为页号和页内地址,然后使用该页号作为索引来检索页表。
查找操作由硬件执行。
在执行检索之前,将页码与页表长度进行比较。
三种存储管理方式的地址换算
三种存储管理方式的地址换算摘要:操作系统(Operating System,OS)是方便用户、管理和控制计算机软硬件资源的系统软件(或程序集合)。
从用户角度看,操作系统可以看成是对计算机硬件的扩充;从人机交互方式来看,操作系统是用户与机器的接口;从计算机的系统结构看,操作系统是一种层次、模块结构的程序集合,属于有序分层法,是无序模块的有序层次调用。
操作系统在设计方面体现了计算机技术和管理技术的结合。
操作系统是系统软件的核心,、它控制程序的执行和提供资源分配、调度、输入/输出控制和数据管理等任务。
如DOS、UNIX、OS/2和Windows NT都是得到广泛使用的操作的系统。
三种管理方式中,分页系统能有效地提高内存利用率,分段系统则能很好地满足用户需要,而段页式系统则是把前两种结合起来形成的系统。
这种新系统既具有分段系统的便于实现、分段可共享、易于保护、可动态链接等一系列优点,有能像分页系统那样很好地解决内存的外部碎片问题,以及可为各个分段离散地分配内存等问题。
关键字:分页方式,分段方式,段页式方式,操作系统。
1.引言:分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页。
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。
段的长度由相应的逻辑信息组的长度决定,因而个段长度不等。
段页式存储管理方式是分段和分页原理的结合,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。
三种存储管理都有其相应的段表、页表和地址变换机构。
2.三种存储管理方式地址换算描述:(1)分页存储管理方式为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了页表寄存器,用于存放页表在内存中的始址和页表的长度。
当进程要访问某个逻辑地址中的数据时,分页地址变换机构会自动地将有效地址(相对地址)分为页号和页内地址两部分,再以页号为索引去检索页表。
查找操作由硬件执行。
OS--第三章 徐宗元
动态重定位的示意图
中央处理器CPU 指令寄存器LOAD 1,2500 2500(逻辑地址) 10000
重定位寄存器 重定位寄存
0:
LOAD 1,2500
10100
100
LOAD 1,2500
10000
2500 +
MMU(存储管理部件)
365
365 12500 物理地 址 内存的地址 空间
2600
程序的地址空间
存储层次结构图
存储器存取时间减少 高速缓存器 <10MB 1~2时钟
存储器存取速度增加 主存 每位存储器成本增加 <1GB 1~4时钟
存储器容量减少
辅存
<100GB 5~50ms
存储层次结构-1
存储器的功能是保存数据,存储器的发展方向是高速、大容 量和小体积。 内存在访问速度方面的发展:DRAM、SDRAM、SRAM等; 硬盘技术在大容量方面的发展:接口标准、存储密度等; 存储组织是指在存储技术和CPU寻址技术许可的范围内组织 合理的存储结构。 其依据是访问速度匹配关系、容量要求和价格。 “寄存器-内存-外存”结构 “寄存器-缓存-内存-外存”结构; 微机中的存储层次组织: 访问速度越慢,容量越大,价格越便宜; 最佳状态应是各层次的存储器都处于均衡的繁忙状态 (如:缓存命中率正好使主存读写保持繁忙);
CPU芯片
动态重定位-1
当CPU执行该指令时,地址变换硬件逻辑自动将指令 中的逻辑地址2500与重定位寄存器中的值相加,再 根据和值作为内存的绝对地址去访问该单元的数据, 读入的数据送到寄存器1。完成地址变换硬件是属于 存储管理部件 MMU,目前它已集成到中央处理器CPU 中。 由此可见,动态重定位是在指令执行过程中动态 进行,它由硬件完成,这样可以带来两个好处:⑴ 目标程序装入内存时无需任何修改,所以装入之后 再移动也不会影响其正确运行,这便于存储器用紧 缩来解决存储器的碎片问题。⑵一个程序由若干个 相对独立的目标模块组成时,每个目标模块各装入 一个存储区域,这些存储区域可以不相领接,只要 各个模块有自己对应的重定位寄存器就可以了。
macOS终端中的磁盘和存储管理命令
macOS终端中的磁盘和存储管理命令在macOS系统中,终端是一个强大的工具,可以用于执行各种管理任务,包括磁盘和存储管理。
本文将介绍一些常用的磁盘和存储管理命令,帮助你更好地管理你的系统。
1. 查看磁盘信息要查看系统中已安装的磁盘信息,可以使用以下命令:```shelldiskutil list```这个命令会列出系统中的所有磁盘,包括硬盘、固态硬盘和外部存储设备等。
你可以查看每个磁盘的名称、大小、文件系统和分区情况等。
2. 格式化磁盘如果你有一个新的磁盘,或者想要重新格式化一个已有的磁盘,可以使用以下命令:```shelldiskutil eraseDisk 文件系统磁盘名称磁盘格式分区格式```其中,文件系统可以是HFS+、APFS等,磁盘名称为你想要给磁盘命名的名称,磁盘格式可以是Journaled或Case-sensitive等,分区格式可以是GUID Partition Map或Master Boot Record等。
例如,要将一个磁盘格式化为APFS文件系统,可以使用以下命令:```shelldiskutil eraseDisk APFS Disk1```这条命令将会将磁盘1格式化为APFS文件系统。
3. 挂载和卸载磁盘在macOS系统中,磁盘可以被挂载和卸载。
挂载磁盘可以使得系统可以访问该磁盘上的文件,而卸载磁盘则是安全地断开与磁盘的连接。
以下是一些相关的命令:```shelldiskutil mount 磁盘名称diskutil unmount 磁盘名称```其中,磁盘名称是指你要挂载或卸载的磁盘的名称。
4. 磁盘修复有时候,磁盘可能会出现一些问题,需要进行修复。
macOS系统提供了一个磁盘修复工具,可以使用以下命令来修复磁盘:```shelldiskutil repairDisk 磁盘名称```这个命令会自动检测并修复磁盘上的任何问题。
如果有多个分区,也可以使用`diskutil repairVolume 分区名称`来只修复指定的分区。
使用MacOS终端进行磁盘和存储管理
使用MacOS终端进行磁盘和存储管理在MacOS系统中,终端是一种非常强大的工具,可以帮助我们进行各种操作和管理。
其中,磁盘和存储管理是我们经常需要处理的问题之一。
本文将介绍如何使用MacOS终端进行磁盘和存储管理,以帮助您更好地管理您的电脑存储空间。
1. 查看磁盘信息首先,我们需要了解当前系统中磁盘的情况。
通过在终端中输入以下命令,可以查看磁盘的整体信息:```diskutil list```这个命令会列出所有连接到电脑上的磁盘,包括内部硬盘、外接硬盘和USB设备等。
通过查看磁盘列表,您可以了解每个磁盘的名称、大小、文件系统等信息。
2. 格式化磁盘在使用磁盘之前,有时需要对其进行格式化。
格式化磁盘将清除其中的所有数据,并为其创建一个文件系统。
在终端中,我们可以使用以下命令来格式化指定的磁盘:```diskutil eraseDisk 文件系统磁盘名称磁盘标识符其中,文件系统可以是常见的文件系统,如APFS、HFS+、FAT32等。
例如,如果要将一个名为“我的磁盘”的磁盘格式化为APFS文件系统,可以使用以下命令:```diskutil eraseDisk APFS "我的磁盘" disk1```请注意,格式化磁盘会清除其中的所有数据,请务必备份重要文件。
3. 挂载和卸载磁盘有时,我们可能需要手动挂载或卸载磁盘。
挂载磁盘可以使其在系统中可用,而卸载磁盘可以安全地将其从系统中移除。
使用以下命令可以挂载和卸载磁盘:```diskutil mount 磁盘标识符diskutil unmount 磁盘标识符```例如,如果要挂载一个名为“我的磁盘”的磁盘,可以使用以下命令:```diskutil mount disk1如果要卸载该磁盘,可以使用以下命令:```diskutil unmount disk1```4. 创建硬盘镜像在MacOS中,我们可以使用终端创建一个虚拟的硬盘镜像文件。
操作系统os04存储管理课件
4.7.1 请求分页中的硬件支持 1.页表机制 ➢ 状态位P:用于指示该页是否已调入内存。
• 供程序访问时参考。 ➢ 访问字段A:供选择换出页面时参考。 • 用于记录本页在一段时间内被访问的次数,或记录本
页最近已有多长时间未被访问。
页号
物理块号
状态位 P 访问字段 A
操作系统os04存储管理
2) 按比例分配算法
➢ 根据进程的大小按比例分配物理块的算法。
3) 考虑优先权的分配算法
➢ 把内存中可供分配的所有物理块分成两部分:
• 一部分按比例地分配给各进程;
• 另一部分则根据各进程的优先权,适当地增加其相应
份额后,分配给各进程。
操作系统os04存储管理
10
4.7.3 调页策略
➢ 预调页策略 ➢ 可采用一种以预测为基础的预调页策略
• 若将n位寄存器的数看做是一整数,那么,具有最小数值 的寄存器所对应的页面,就是最近最久未使用的页面。
R7 R6 R5 R4 R3 R2 R1 R0 0 10 0 0 0 0 0 0 0
1
0 操0作系统os004存储管0理 0
0
0
0 17
LRU算法实现:栈
47071012126
2126 最
新
1011212 被
23 21 524 5 32 52
22
22
4
2
3
33
3
3
最
15
5
5
新 LRU 发生了4次页面置换,缺页次数=7;缺页率=7/12
被
访 23 21 5 2 4 532 5 2
问 的
2 3 2 1 5 2 45 3 2 5
操作系统课件os04存储管理(2)
精选课件
29
最坏适应分配算法 • 要求空闲区按大小递减的顺序组织空闲区表 • 扫描整个未分配区链表,挑选一个最大的空闲区分割
按地址排列的内存空闲区为: 10KB、4KB、20KB、18KB、7KB、9KB、12KB、15KB 按空闲区大小: 20KB 18KB 15KB12KB 10KB 9KB 8KB 8KB 7KB 6KB 4KB 请求序列:12KB; 10KB ; 9KB :
操作系统
Operating Systems
Mac OS
VxWorks
OS2
笫四章 存储器管理 LINUX
UNIX
WINDOWS
精选课件
1
笫四章 存储器管理
4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式 4.5 基本分段存储管理方式 4.6 虚拟存储器的基本概念 4.7 请求分页存储管方式 4.8 页面置换算法 4.9 请求分段存储管理方式
精选课件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟存储器
一、虚拟存储器的引入
常规(实)存储器管理方式的特征 (1)一次性 :作业运行前须一次性地全部装 入内存方可运行。 (2) 驻留性 :作业运行期间一直驻留在内存, 直到结束。
第三章 存 储 管理
常规存储器管理方式带来的问题: (1)作业大,内存放不下。 (2)当有大量作业时,内存不能都满足。 解决的办法:
引用率
7 7 0 7 0 1 7 0 1 2 2 0 1 0 3 2 0 3 0 4 4 0 3 2 4 0 2 3 4 3 2 0 0 3 2 3 2 1 1 3 2 2 0 1 0 2 1 7 1 0 7 0 1
页框
LRU页面淘汰算法
第三章 存 储 管理
例:某进程分配的物理块数m=3,执行时的页 面顺序为1, 2, 4, 5, 2, 3, 1, 4,写出利用FIFO 和LRU算法时的置换情况。
第三章 存 储 管理
3.2.4 页式系统的保护措施
1. 实现程序隔离 2. 实现对页面的存取控制
第三章 存 储 管理
3.2.5 工作集模型
*请求分页系统的性能的分析
请求分页存储管理保留了分页存储管理的全部优 点,同时较好地解决了碎片问题。其优点有:
(1) 提供了大容量的虚存,作业地址空间不再受内存 容量的限制。 (2) 更有效地利用了内存,一个作业的地址空间不必 全部装入内存。 (3) 更有利于多道程序的运行, 提高了系统效率。
第三章 存 储 管理
虚拟存储技术总结
虚存:把内存与外存有机的结合起来使用, 从而得到一个容量很大的“内存”,这 就是虚存 实现思想:当进程运行时,先将一部分程 序装入内存,另一部分暂时留在外存, 当要执行的指令不在内存时,由系统自 动完成将它们从外存调入内存工作 目的:提高内存利用率
第三章 存 储 管理
(4) 虚存的使用对用户是透明的(?), 方便了用户。
第三章 存 储 管理
请求分页存在以下缺点:
(1) 为处理缺页中断,增加了处理机时间的
开销,即请求分页系统是用时间的代价换取空间
的扩大。 (2) 可能因作业地址空间过大或多道程序道 数过多以及其它原因而造成系统抖动。 (3) 为防止系统抖动所采取的各种措施会增 加系统的复杂性。
第三章 存 储 管理
3. 页面淘汰算法
重点掌握的算法: (1)先进先出淘汰算法(FIFO) (2)最近最少使用淘汰算法 (LRU) (3)最近不经常使用淘汰算法 (LFU) (4)最优淘汰算法(OPT)
第三章 存 储 管理
(1) 先进先出(FIFO)页面淘汰算法
算法思想:最先进入的页最早淘汰。 分析:实现简单,淘汰页的算法不太符合实际, 算法的性能较差。 题目:( 采用FIFO页面淘汰算法)
练习:在一个请求分页系统中,假如一个作业的页 面走向为4、3、2、1、4、3、5、4、3、2、1、5, 目前它还没有任何页装入内存,当分配给该作业 的物理块数目M分别为3和4时,请分别计算采用 LRU和FIFO页面淘汰算法时访问过程中所发生的 缺页次数和缺页率,并比较所得的结果。
第三章 存 储 管理
* 工作集(Working Set)
缺页率、缺页的时间间隔与进程所分得的
物理块数目有密切关系。下图给出了缺页率与
进程分得的物理块数n之间的关系曲线。
为进程所分配的物 理块数,应取在该 曲线的拐点左右, 上限 若内存空间较充足, 下限 所取数目还可以略 大些。
缺页率
缺页率与物理块数的关系
引用率
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 1 7 0 1
7
7
0
7
0
2
0
2
3
2
3
4
3
4
2
4
2
0
2
0
1
0
1
7
1
7
0
7
0
1
1
1
0
0
0
3
3
3
2
2
2
1
页框
第三章 存 储 管理
(2) 最近最少使用(LRU)淘汰算法
算法思想:淘汰没有使用时间最长的页
分析:实现技术较复杂,实现代价很高 题目:
第三章 存 储 管理
分析:
根据程序的局部性 原理,进程在一段时间 内总是集中访问一些页 面,这些页面称为活跃 页面,若分给一个进程 的物理页面数太少了, 该进程所需的活跃页面 不能全部装入内存,则 进程在运行过程中将频 繁发生中断.
第三章 存 储 管理
工作集问题:
(1)所谓工作集是指,在某段时间间隔△里 (注意与时间局部性和空间局部性原理的关 系),进程实际要访问的页面集合。 (2)为使程序能有效地运行,较少地产生缺 页, 就必须使程序的工作集全部在内存中。 (3)缺页率的大小与进程运行时的所谓工作 集有关, 如果能为进程提供与活跃页面数相等 的物理页面数,则可减少缺页中断次数。
第三章 存 储 管理
答:系统的逻辑地址有15位(用户空间共32个页 面,每页1KB ),其中高5位为页号,低10位为 页内地址;物理地址有14位(主存为16KB,每块 1KB ),其中高4位为块号,低10位为块内地 址;又因为 (0A5C)16 =(101001011100)2 ,可 分离出页号和页内地址: 000 1010 0101 1100 页号为(00010)2 =2,页号合法,找到对应的 内存块号为4,即(0100)2 ,与页内地址合并成 物理地址125C,即 01 0010 0101 1100
3.2.2 页表和快表
1.页表
相对页号 绝对页号 特征位 (物理块号) (存在位) 外存地址 (页表)
2.快表
相对页号
绝对页号 (物理块号) 访问位 (快表) 特征位 (存在位)
第三章 存 储 管理
快表的地址映像
第三章 存 储 管理
练习: 某虚拟存储器的用户空间共32个页面,每 页1KB,主存为16KB,假定某时刻系统为用 户的第0、1、2、3页分配的物理块号为5、10、 4、7,该用户作业的长度为6页,试将虚拟地 址0A5C转换成物理地址。 其中: (0A5C)16 =(101001011100)2 (0A5C)16 =(2652)10
(1)物理上增加内存
(2)逻辑上扩充内存
第三章 存 储 管理
二、虚拟存储器定义 所谓虚拟存储器,是指具有请求调入功 能和置换功能,能从逻辑上对内存容量加以
扩充的一种存储器系统。
第三章 存 储 管理
虚拟存储器的逻辑容量由内存容量和外 存容量之和所决定,其运行速度接近于内存 速度,而每位的成本却又接近于外存。可见,
虚拟存储技术是一种性能非常优越的存储器
管理技术,故被广泛地应用于大、 中、 小 型机器和微型机中。
第三章 存 储 管理
三、请求分页存储管理方式
1. 页表机制
问:与常规分页存储管理方式相比,你认页号 绝对页号 特征位 访问位(快表) (物理块号) (存在位) 外存地址(页表)
引用率
7 7 0 7 0 1 7 0 1 2 2 0 1 0 3 2 3 1 0 2 3 0 4 4 3 0 2 4 2 0 3 4 2 3 0 0 2 3 3 2 1 0 1 3 2 0 1 2 0 1 1 7 7 1 2 0 7 0 2 1 7 0 1
页框
利用FIFO淘汰算法时的置换图
第三章 存 储 管理
第三章 存 储 管理
3.2.3 页面交换
页面交换涉及的几个问题:
1、何时从磁盘往内存调进页面? 2、调进哪些页面? 3、何时淘汰主存的页面? 4、淘汰哪些页面?
第三章 存 储 管理
1. 调页方式 当被访问的页不在内存时,则需要调页。 主要有预调和请调 2. 淘汰时机 (1)内存中没有空闲页时 (2)设定一临界量,当达到临界量时
记录该页的访问频度, 表示该页是否在内存, 用于指出该页在外存 作为置换的参考依据。 供程序访问时参考。 上的地址,供调入页 面时参考。
第三章 存 储 管理
2. 动态地址变换
3. 缺页中断机构 当要访问 的页不在内存 时,产生一个 缺页中断,请 求操作系统将 所缺的页调入。
第三章 存 储 管理