计算机操作系统-ch04存储器管理

第四章 存储器管理

3.1.1、内存的基础知识
1、进程运行的原理–指令

image-20221031170402918

2、相对地址和绝对地址

image-20221031171909311

3、编译、链接、装入概念

image-20221031184733308

4、链接的三种方式

1、静态链接:在程序运行之前,的库函数连接成一个完整的可执行文件(装入模块),之后不再拆开。

image-20221031184526537

2、装入时动态链接:将各目标模块装入内存时,边装入边链接的链接方式。

image-20221031184543322

3、运行时动态链接:在程序执行中需要该目标模块时,才对它进行链接。其优点是便于修改和更新,便于实现对目标模块的共享。

image-20221031184425069

5、装入的三种方式

1、绝对装入

绝对装入:在编译时,如果知道程序将放到内存中的哪个位置,编译程序将产生绝对地址的目标代码。装入程序按照装入模块中的地址,将程序和数据装入内存。

image-20221031172638863

2、静态重定位

静态重定位:又称可重定位装入。编译、链接后的装入模块的地址都是从0开始的,指令中使用的地址、数据存放的地址都是相对于起始地址而言的逻辑地址。可根据内存的当前情况,将装入模块装入到内存的适当位置。装入时对地址进行“重定位”,将逻辑地址变换为物理地址(地址变换是在装入时一次完成的)。

image-20221031172939277

3、动态重定位

动态重定位:又称动态运行时装入。编译、链接后的装入模块的地址都是从o开始的。装入程序把装入模块装入内存后,并不会立即把逻辑地址转换为物理地址,而是把地址转换推迟到程序真正要执行时才进行。因此装入内存后所有的地址依然是逻辑地址。这种方式需要一个重定位寄存器的支持。

image-20221031173347200

6、总结

image-20221031185206132

3.1.2、内存管理的概念

操作系统作为系统资源的管理者,当然也需要对内存进行管理,要管些什么呢?

1、操作系统负责内存空间的分配与回收

image-20221031185405777

2、操作系统需要提供某种技术从逻辑上对内存空间进行扩充

image-20221031185516784

3、操作系统需要提供地址转换功能,负责程序的逻辑地址与物理地址的转换

image-20221031190107855

4、内存保护

image-20221031190711639

image-20221031190634159

5、总结

image-20221031190859262

3.1.3、覆盖与交换
1、覆盖技术

image-20221031191404551

image-20221031191909745

2、交换技术

image-20221031192446154

image-20221031192704007

image-20221031194010609

3、总结

image-20221031194554749

3.1.4、连续分配管理方式

image-20221031211311440

1、单一连续分配

image-20221031214737623

2、固定分区分配方式

image-20221031215051803

分区说明表

image-20221031215813442

3、动态分区分配

image-20221031221147372

问题1:系统要用什么样的数据结构记录内存的使用情况?

image-20221031221631198

问题2:当很多个空闲分区都能满足需求时,应该选择哪个分区进行分配?

image-20221031221835320

问题3:如何进行分区的分配与回收操作?

分配

分配情况1:进程所需空间小于空闲区空间

空闲分区数量不变,更改对应分区的分区大小起始地址

image-20221031222214260

分配情况2:进程所需空间刚好等于空闲区空间

空闲分区数量减一

image-20221031222508977

回收

回收情况1:回收区的后面有一个相邻的空闲分区

把两个空闲分区进行合并,更改对应分区的分区大小起始地址

image-20221101083021821

回收情况2:回收区的前面有一个相邻的空闲分区

与回收情况1类似

image-20221101083252942

回收情况3:回收区的前、后各有一个相邻的空闲分区

三合一

image-20221101083511722

回收情况4:回收区的前、后都没有相邻的空闲分区

image-20221101083639084

4、内部碎片、外部碎片

image-20221101084227577

5、总结

image-20221101084342498

3.1.5、动态分区分配算法

image-20221101085900432

1、首次适应算法

算法思想:每次都从低地址开始查找,找到第一个能满足大小的空闲分区。

如何实现:空闲分区以地址递增的次序排列。每次分配内存时顺序查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区。

image-20221101090557920

2、最佳适应算法

算法思想:由于动态分区分配是一种连续分配方式,为各进程分配的空间必须是连续的一整片区域。因此为了保证当“大进程”到来时能有连续的大片空间,可以尽可能多地留下大片的空闲区,即,优先使用更小的空闲区。

如何实现:空闲分区按容量递增次序链接。每次分配内存时顺序查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区。

image-20221101091103160

3、最坏适应算法

又称最大适应算法(Largest Fit)

算法思想:为了解决最佳适应算法的问题――即留下太多难以利用的小碎片,可以在每次分配时优先使用最大的连续空闲区,这样分配后剩余的空闲区就不会太小,更方便使用。

如何实现:空闲分区按容量递减次序链接。每次分配内存时顺序查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区。

image-20221101091725449

4、邻近适应算法

算法思想:首次适应算法每次都从链头开始查找的。这可能会导致低地址部分出现很多小的空闲分区,而每次分配查找时,都要经过这些分区,因此也增加了查找的开销。如果每次都从上次查找结束的位置开始检索,就能解决上述问题。

如何实现:空闲分区以地址递增的顺序排列(可排成一个循环链表)。每次分配内存时从上次查找结束的位置开始查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区。

image-20221101092347657

5、总结

首次适应算法和邻近适应算法不需要对分区表或分区链进行重新排序

最佳适应算法和最坏适应算法需要对分区表或分区链进行重新排序

image-20221101092529733

3.1.6、基本分页存储管理
1、知识总览

image-20221101151357403

2、分页存储管理的基本概念

基本分页存储管理的思想:把内存分为一个个相等的小分区,再按照分区大小把进程拆分成一个个小部分

image-20221101152211803

思考:如何实现地址的转换

image-20221101153003462

手动计算页号、页内偏移量的方法:

image-20221101153612391

计算机内计算页号、页内偏移量的方法:

image-20221101154220559

结论:如果每个页面大小为2kB,用二进制数表示逻辑地址,则末尾K位即为页内偏移量,其余部分就是页号

因此,如果让每个页面的大小为2的整数幂,计算机就可以很方便地得出一个逻辑地址对应的页号和页内偏移量。

3、逻辑地址结构

image-20221101155303509

4、页表

image-20221101155857852

image-20221101161142865

5、总结

image-20221101161345364

3.1.7、基本地址变换机构

image-20221101162738347

image-20221101162305949

例题

image-20221101163145183

对页表项大小的进一步探讨

image-20221101165216983

总结

image-20221101170322097

3.1.8、具有快表的地址变换机构
1、局部性原理

image-20221101190755247

2、什么是快表(TLB)

快表,又称联想寄存器(TLB),是一种访问速度比内存快很多的高速缓冲存储器,用来存放当前访问的若干页表项,以加速地址变换的过程。与此对应,内存中的页表常称为慢表。

image-20221101191421529

image-20221101194335463

3、总结

image-20221101194643402

3.1.9、两级页表

image-20221101200154059

1、单级页表存在的问题

问题一:页表必须连续存放,因此当页表很大时,需要占用很多个连续的页框。

问题二:没有必要让整个页表常驻内存,因为进程在一段时间内可能只需要访问某几个特定的页面。

image-20221101200556928

2、两级页表的原理、地址结构

解决问题一

image-20221101201613145

image-20221101201830321

解决问题二

image-20221101203647198

3、如何实现地址变换

image-20221101202520196

4、需要注意的几个细节

image-20221101204227172

5、总结

image-20221101204416105

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 联想lxb-ch0507键盘驱动是一种特定的软件程序,用于使该键盘能够与计算机正确连接和交互。它充当一个桥梁,将键盘的输入信号传送到计算机,并将计算机的指令传送回键盘,以实现按键操作的功能。 联想lxb-ch0507键盘驱动具有多种作用。首先,它确保键盘能够被识别并正确地安装到计算机系统中。这意味着键盘的每一个按键都能够在计算机上生成相应的信息,从而实现与计算机的交互。 其次,键盘驱动程序还负责与操作系统进行通信,以确保键盘与计算机系统的相互兼容性。这意味着键盘驱动程序会根据不同的操作系统版本,确保键盘能够在不同的操作系统环境下正常工作。 此外,联想lxb-ch0507键盘驱动还能够提供一些额外的功能和自定义选项。例如,它可以允许用户自定义按键映射,以按自己的喜好重新分配特定按键的功能。这对于那些需要频繁使用特定功能的用户来说非常方便。 总的来说,联想lxb-ch0507键盘驱动是一款重要的软件程序,它确保键盘能够正确地与计算机连接,并提供额外的功能和自定义选项。正确安装和更新键盘驱动程序对于键盘在计算机上正常工作至关重要。 ### 回答2: 联想lxb-ch0507键盘驱动是一款针对该型号的联想键盘而设计的驱动程序。该驱动程序是用于有效地控制和操作联想lxb-ch0507键盘的软件。它可以确保键盘的各个功能正常运作,并提供更好的用户体验。 联想lxb-ch0507键盘驱动具有多种优点和功能。首先,它能够与操作系统兼容,因此可以在多种不同的计算机上使用。无论是Windows还是Mac,只需正确安装该驱动程序,用户就可以轻松地使用该键盘。 其次,该驱动程序具有高度的稳定性和可靠性。它经过联想的严格测试和优化,可以确保键盘的每一个按键都可以正常响应,并且不会出现卡顿或其他故障。 此外,联想lxb-ch0507键盘驱动还提供了一些个性化的设置选项。用户可以根据自己的需要调整键盘的灯光亮度、按键声音等参数,以实现更好的使用体验。 最后,该驱动程序还可以进行更新和升级。联想会定期发布新的驱动程序版本,以提供更多的功能和修复已知的问题。用户只需在联想官方网站上下载最新的驱动程序,并按照提供的指导进行安装,即可享受到最新的功能和改进。 总而言之,联想lxb-ch0507键盘驱动是一款重要的软件,可以确保该键盘的正常运作和更好的用户体验。用户可以根据自己的需求下载并安装该驱动程序,以充分发挥联想lxb-ch0507键盘的功能。 ### 回答3: 联想lxb-ch0507键盘是联想公司生产的一款有线键盘,驱动程序是为了确保键盘与计算机之间的正常连接和交互使用而开发的软件。 lxb-ch0507键盘的驱动程序可以通过联想官方网站或者驱动下载平台进行下载和安装。安装驱动程序后,可以实现以下功能: 1. 键盘的基本功能:驱动程序能够支持键盘的基本按键功能,保证键盘与计算机之间的稳定连接,确保按键的灵敏度和准确性。 2. 定制功能设置:驱动程序提供了自定义键位的功能,用户可以根据自己的需求对特定按键进行自定义功能设置,提高工作效率。 3. 多媒体控制:通过驱动程序,可以实现对多媒体播放的控制,方便用户快速切换音乐、调节音量等操作。 4. 宏设置:驱动程序可以实现对键盘宏设置,用户可以通过录制一系列按键操作,然后通过一个按键触发宏实现多个按键同时执行,简化繁琐的操作流程。 5. 设置个性化灯效:驱动程序支持设置键盘的背光颜色和灯效,用户可以根据自己的喜好和环境需要进行个性化设置。 总之,联想lxb-ch0507键盘驱动程序可以提供更好的键盘使用体验,为用户带来更多便利和个性化选择。大家可以通过官方渠道下载和安装驱动程序,享受键盘的各种功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值