山东大学软件学院操作系统2024考前老师画题

今年看完看会这个题卷, 考试稳90+

感觉每年差不多,建议看看

不妨点个关注 给个赞呗~

答案不一定对,自行甄别。

习题课1
1. 操作双模式指的是什么?试说明其在现代操作系统保护中的作用。
操作双模式指的是操作系统中使用的两种运行模式:用户模式(User Mode)和内核模式(Kernel
Mode)。
用户模式:在用户模式下,CPU只能执行一部分机器指令,访问受限,主要用于运行用户程序。
内核模式:在内核模式下,CPU可以执行所有机器指令,访问所有内存地址,主要用于操作系统的
核心部分。
作用:
保护系统资源:通过区分用户模式和内核模式,防止用户程序直接访问硬件资源,保护操作系统的
核心数据和硬件。
增强系统安全性:防止恶意程序或错误代码破坏系统,通过系统调用接口实现对资源的受控访问。
2. 批处理和多道程序的主要作用和目的是?
批处理:
主要作用:提高CPU利用率和吞吐量。
目的:在没有交互需求的情况下,一次性处理大量作业,减少CPU空闲时间。
多道程序:
主要作用:提高资源利用率和系统吞吐量。
目的:通过同时在内存中保持多个作业,使CPU能够在等待I/O操作时执行其他作业,提高系统整体
性能。
3. 系统调用的作用是什么?系统调用参数传递方法一般有哪些?试述
一个用户进程调用系统调用的执行过程。
作用:
系统调用是用户程序与操作系统之间的接口,允许用户程序请求操作系统执行特权操作,如文件操
作、进程管理、内存分配等。
参数传递方法:
1. 寄存器传递:参数通过CPU寄存器传递。
2. 堆栈传递:参数通过堆栈传递。
3. 内存块传递:参数通过指定内存块传递,内存地址通过寄存器传递。
执行过程:
1. 用户进程调用系统调用库函数。
2. 系统调用陷入内核,切换到内核模式。
3. 操作系统处理系统调用,执行相应的内核函数。
4. 内核函数执行完毕,返回结果。
5. 切换回用户模式,返回结果给用户进程。
4. 系统调用与函数的区别是什么?
系统调用

由操作系统提供,用户进程通过陷入内核请求服务。
运行在内核模式下,具有特权级别。
涉及硬件资源的访问和管理。
函数调用

由程序员定义,用户进程在用户模式下直接调用。
运行在用户模式下,没有特权级别。
仅限于程序内部逻辑处理,不涉及操作系统核心资源。
5. 操作系统设计方法中微内核和分层各自的优缺点是什么?
微内核:
优点:系统核心小,可靠性高,易于扩展和移植。
缺点:性能较低,系统调用开销大。
分层结构:
优点:结构清晰,模块化强,易于调试和维护。
缺点:层次之间的调用开销大,性能可能下降。
6. 一个程序的加载、执行、结束的过程描述。
加载:
1. 操作系统分配内存给程序。
2. 加载程序代码和数据到内存。
3. 初始化程序控制块(PCB)。
执行:
1. CPU调度程序,设置程序计数器(PC)。
2. 执行程序代码,进行指令译码和执行。
结束:
1. 程序执行完成或调用退出系统调用。
2. 释放分配的资源(内存、文件描述符等)。
3. 更新进程状态为终止。
7. 进程概念及特征,进程与程序的区别与联系。
进程概念:
进程是程序在执行过程中资源的分配和管理单位。
进程特征:
1. 动态性:进程是程序的动态执行过程。
2. 并发性:多个进程可以同时运行。
3. 独立性:进程具有独立的资源和地址空间。
4. 异步性:进程的执行顺序不可预测。
区别与联系:
程序是静态的代码和数据集合。
进程是程序的动态执行过程。
程序是进程的组成部分,进程是程序运行的实体。
8. 进程状态及转换的条件是什么。(状态转换图)
进程状态:
1. 新建(New):进程正在被创建。
2. 就绪(Ready):进程准备好运行,但等待CPU调度。
3. 运行(Running):进程正在使用CPU执行。
4. 等待(Waiting/Blocked):进程等待某个事件完成,如I/O操作。
5. 终止(Terminated):进程已完成或被终止。
状态转换条件:
1. 新建 → 就绪:进程创建完成。
2. 就绪 → 运行:进程被CPU调度。
3. 运行 → 等待:进程等待I/O操作或其他事件。
4. 等待 → 就绪:等待事件完成。
5. 运行 → 就绪:时间片到期,被调度器挂起。
6. 运行 → 终止:进程执行完成或被终止。
9. 试说明长期调度、短期调度、中期调度。
长期调度:
负责从作业队列中选择作业,加载到内存中的就绪队列。
控制系统的多道程序度。
短期调度:
负责从就绪队列中选择进程,分配CPU执行。
控制系统的CPU利用率和响应时间。
中期调度:
负责将内存中的某些进程换出到磁盘(交换),并将之前换出的进程调回内存。
控制系统的内存利用率。
10. 上下文切换过程。
上下文切换是指操作系统从一个进程切换到另一个进程,涉及以下步骤:
1. 保存当前进程的状态:保存CPU寄存器、程序计数器、堆栈指针等。
2. 更新进程控制块(PCB):记录当前进程的状态信息。
3. 选择下一个进程:从就绪队列中选择下一个进程。
4. 加载下一个进程的状态:恢复CPU寄存器、程序计数器、堆栈指针等。
5. 更新内存管理信息:切换页表或段表,更新内存映射。
6. 切换到下一个进程:CPU开始执行下一个进程。
11. 理解子进程创建系统调用fork(),写时拷贝提高fork()的效率的基
本原理是什么?
fork():系统调用,用于创建子进程。子进程是父进程的副本,继承父进程的地址空间、文件描述符等。
写时拷贝(Copy-on-Write,COW):
基本原理:在 fork() 创建子进程时,不立即复制父进程的整个地址空间,而是让父子进程共享相同
的物理内存。当其中一个进程试图写入共享内存时,才进行实际的内存复制。
优点:减少不必要的内存复制,节省内存和时间,提高 fork() 的效率。
12. int main() { pid_t pid1, pid2; pid1 = fork();
pid2 = fork(); } 该程序的执行会创建几个进程?说明该程序的
执行过程。
执行过程:
初始进程执行 fork() 创建一个子进程。
父进程和第一个子进程分别执行第二个 fork() ,每个再创建一个子进程。
总共创建了 4 个进程(包括初始进程)。
进程树:
13. 进程间通信的方式
进程间通信(IPC)的主要方式包括:
1. 管道(Pipe):
单向通信,适用于父子进程间。
优点:简单高效。
缺点:只能在有亲缘关系的进程间使用。
2. 命名管道(FIFO):
lua复制代码P0
|-- P1
| |-- P3
|
|-- P2
双向通信,支持无亲缘关系进程间通信。
优点:不限于有亲缘关系的进程。
缺点:需要显式创建和管理。
3. 消息队列(Message Queue):
基于消息传递的通信机制。
优点:灵活,支持优先级。
缺点:管理复杂,可能导致消息队列阻塞。
4. 共享内存(Shared Memory):
多个进程共享一段内存区域,适用于大数据量传输。
优点:速度快,适用于大数据量。
缺点:需要同步机制避免竞态条件。
5. 信号量(Semaphore):
用于进程间的同步和互斥。
优点:解决进程同步和资源互斥问题。
缺点:可能引起死锁和优先级反转。
6. 信号(Signal):
用于进程间发送简短消息或通知。
优点:适用于异步事件通知。
缺点:信号内容有限,只能传递信号编号。
7. 套接字(Socket):
网络通信机制,支持本地和远程进程通信。
优点:适用于分布式系统。
缺点:通信开销较大,复杂度高。
14. 进程与线程的区别,引入线程的目的是什么?
进程:
定义:进程是程序的执行实例,具有独立的资源和地址空间。
特点:进程间相互独立,切换开销大。
线程:
定义:线程是进程中的一个执行单元,共享进程的资源和地址空间。
特点:线程间切换开销小,共享资源但有独立的执行路径。
引入线程的目的:
提高程序的并发性和响应性。
降低上下文切换的开销。
提高资源利用率,通过多线程实现更高效的任务调度。
15. 用户级线程的优缺点?
优点:
1. 快速切换:无需内核介入,切换速度快。
2. 灵活调度:线程调度由用户程序控制,更加灵活。
3. 低开销:无需内核数据结构支持,开销小。
缺点:
1. 缺乏内核支持:用户级线程对系统资源不可见,无法利用多处理器。
2. 阻塞问题:一个线程阻塞可能导致整个进程阻塞。
3. 缺乏优先级调度:无法利用内核提供的优先级调度机制。
16. 用户线程与内核线程的对应:1对1、多对1、多对多的比较
1. 1对1模型(One-to-One):
每个用户级线程对应一个内核线程。
优点:充分利用多处理器,内核线程支持。
缺点:开销大,需要大量内核资源。
2. 多对1模型(Many-to-One):
多个用户级线程对应一个内核线程。
优点:开销小,线程切换快。
缺点:无法并行执行,阻塞问题严重。
3. 多对多模型(Many-to-Many):
多个用户级线程对应多个内核线程。
优点:灵活高效,支持并行和阻塞。
缺点:实现复杂,开销较大。
17. CPU调度准则,调度算法有哪些,基本思想
CPU调度准则:
1. CPU利用率:最大化CPU的使用时间。
2. 吞吐量:单位时间内完成的进程数。
3. 周转时间:从提交到完成的总时间。
4. 等待时间:进程在就绪队列中等待的时间。
5. 响应时间:从提交到第一次响应的时间。
调度算法:
1. 先来先服务(FCFS):
思想:按到达顺序调度进程。
优点:简单,公平。
缺点:可能导致较长的平均等待时间和周转时间。
2. 短作业优先(SJF):
进程 到达时间 运行时间
P1 0 7
P2 2 4
P3 4 1
P4 5 4
思想:优先调度预计执行时间短的进程。
优点:最小化平均等待时间和周转时间。
缺点:难以准确预测执行时间,可能导致长作业饥饿。
3. 优先级调度(Priority Scheduling):
思想:根据优先级调度进程,优先级高的进程先执行。
优点:灵活,支持重要任务优先。
缺点:可能导致低优先级进程饥饿。
4. 轮转法(RR):
思想:为每个进程分配固定时间片,时间片到后调度下一个进程。
优点:公平,提高响应时间。
缺点:时间片选择不当可能影响系统性能。
5. 多级反馈队列(Multilevel Feedback Queue):
思想:使用多个队列,不同队列有不同的优先级和调度策略,进程根据行为在队列间动态调
整。
优点:兼顾公平性和优先级,适应性强。
缺点:实现复杂,调度开销大。
18给出CPU调度算法评价中“平均等待时间”、“平均周转时间”的定
义,并分别给出下表条件下抢占式SJF、非抢占式SJF和FCFS算法的
“平均等待时间”、“平均周转时间”。
答:
CPU调度算法评价指标
平均等待时间和平均周转时间是评价CPU调度算法的重要指标。
平均等待时间:指所有进程的等待时间的平均值。等待时间是进程在就绪队列中等待调度的时间。
平均等待时间=∑等待时间进程数\text{平均等待时间} = \frac{\sum \text{等待时间}}{\text{进程数}}
平均等待时间=进程数∑等待时间
平均周转时间:指所有进程的周转时间的平均值。周转时间是从进程提交到完成的总时间,包括等
待时间、执行时间和I/O时间。
平均周转时间=∑周转时间进程数\text{平均周转时间} = \frac{\sum \text{周转时间}}{\text{进程数}}
平均周转时间=进程数∑周转时间
进程 到达时间 运行时间
P1 0 7
P2 2 4
P3 4 1
P4 5 4
进程信息
调度算法分析
抢占式SJF(Shortest Job First, Preemptive)
Gantt图:
等待时间:
P1:10 - 7 = 3
P2:2 - 2 = 0
P3:7 - 4 = 3
P4:8 - 5 = 3
平均等待时间=3+0+3+34=2.25\text{平均等待时间} = \frac{3 + 0 + 3 + 3}{4} = 2.25平均等待时间
=43+0+3+3=2.25
周转时间:
P1:10 - 0 = 10
P2:6 - 2 = 6
P3:7 - 4 = 3
P4:11 - 5 = 6
平均周转时间=10+6+3+64=6.25\text{平均周转时间} = \frac{10 + 6 + 3 + 6}{4} = 6.25平均周转时
间=410+6+3+6=6.25
非抢占式SJF
Gantt图:
等待时间:
P1:0 - 0 = 0
P2:8 - 2 = 6
P3:7 - 4 = 3
P4:12 - 5 = 7
复制代码时间: 0 1 2 3 4 5 6 7 8 9 10 11
进程: P1 P1 P2 P2 P2 P2 P3 P4 P4 P4 P4
复制代码时间: 0 1 2 3 4 5 6 7 8 9 10 11
进程: P1 P1 P1 P1 P1 P1 P1 P3 P2 P2 P2 P2 P4 P4 P4 P4
调度算法 平均等待时间 平均周转时间
抢占式SJF 2.25 6.25
非抢占式SJF 4 8
先来先服务(FCFS) 4.75 8.75
平均等待时间=0+6+3+74=4\text{平均等待时间} = \frac{0 + 6 + 3 + 7}{4} = 4平均等待时间
=40+6+3+7=4
周转时间:
P1:7 - 0 = 7
P2:12 - 2 = 10
P3:8 - 4 = 4
P4:16 - 5 = 11
平均周转时间=7+10+4+114=8\text{平均周转时间} = \frac{7 + 10 + 4 + 11}{4} = 8平均周转时间
=47+10+4+11=8
先来先服务(FCFS)
Gantt图:
等待时间:
P1:0 - 0 = 0
P2:7 - 2 = 5
P3:11 - 4 = 7
P4:12 - 5 = 7
平均等待时间=0+5+7+74=4.75\text{平均等待时间} = \frac{0 + 5 + 7 + 7}{4} = 4.75平均等待时间
=40+5+7+7=4.75
周转时间:
P1:7 - 0 = 7
P2:11 - 2 = 9
P3:12 - 4 = 8
P4:16 - 5 = 11
平均周转时间=7+9+8+114=8.75\text{平均周转时间} = \frac{7 + 9 + 8 + 11}{4} = 8.75平均周转时
间=47+9+8+11=8.75
结果总结
通过分析,可以看出抢占式SJF在平均等待时间和平均周转时间上表现最好,其次是非抢占式SJF,FCFS
表现最差。
复制代码时间: 0 1 2 3 4 5 6 7 8 9 10 11
进程: P1 P1 P1 P1 P1 P1 P1 P2 P2 P2 P2 P3 P4 P4 P4 P4
19. 同步解决什么问题?临界资源、临界区的含义?同步的解决方法
及要求。
同步解决的问题:
确保多个进程或线程在共享资源时不发生冲突,防止数据不一致和竞争条件。
临界资源:
多个进程或线程共享的资源,如变量、文件等。
临界区:
访问临界资源的代码段,一次只能有一个进程或线程进入临界区。
同步的解决方法及要求:
1. 互斥锁(Mutex):确保一次只有一个进程或线程进入临界区。
2. 信号量(Semaphore):用于计数和同步,控制对共享资源的访问。
3. 条件变量(Condition Variable):用于线程间的等待和通知。
4. 监视器(Monitor):高层次的同步机制,封装了共享资源和同步操作。
要求:
1. 互斥:确保一次只有一个进程或线程进入临界区。
2. 不死锁:避免两个或多个进程或线程相互等待导致系统死锁。
3. 不饥饿:确保每个请求进入临界区的进程或线程最终都能被允许进入。
4. 有限等待:保证进程或线程在有限时间内进入临界区。
21.死锁的四个必要条件是?死锁解决办法有哪些?
答:
死锁的四个必要条件
1. 互斥条件(Mutual Exclusion):
资源不能被多个进程同时占有。
2. 占有并等待条件(Hold and Wait):
已经持有资源的进程可以再请求新的资源,并且在新的资源未满足时保持对原有资源的占有状
态。
3. 不可剥夺条件(No Preemption):
资源不能被强制从占有它的进程中剥夺,只有占有资源的进程可以主动释放资源。
4. 循环等待条件(Circular Wait):
存在一个进程集合,其中每个进程都在等待下一个进程占有的资源,形成一个循环等待链。
死锁的解决办法
1. 预防死锁:
破坏其中一个必要条件。例如:
破坏互斥条件:允许资源共享(很难实现)。
破坏占有并等待条件:进程开始前一次性申请所有资源。
破坏不可剥夺条件:允许操作系统剥夺资源。
破坏循环等待条件:对资源进行全局排序,按顺序申请资源。
2. 避免死锁:
动态检查资源分配,确保系统处于安全状态。例如:
银行家算法:动态分配资源,确保系统安全。
3. 检测和恢复:
允许死锁发生,通过检测并恢复。例如:
死锁检测:定期检测是否存在死锁(如资源分配图算法)。
死锁恢复:终止进程或剥夺资源。
4. 忽略死锁:
忽略死锁问题,由系统管理员或重启系统解决(如Unix系统)。
习题课2
1.在各种内存分配方法中,各存在何种碎片,内部碎片与外部碎片的
区别是?

1. 内存分配方法中的碎片及区别
内部碎片
:分配的内存块大于进程需要的内存,未使用的部分。
发生在:固定分区分配、分页分配、分段分配。
外部碎片
:内存块之间的未使用部分,无法分配给新的进程。
发生在:动态分区分配、分段分配。
区别:
内部碎片:内存块内部的未使用空间。
外部碎片:内存块之间的未使用空间。
2.在分页内存管理,且启用了虚拟内存的系统中,说明操作系统是如
何实现系统调用fork()的写时复制机制的。
答:
分页内存管理中的写时复制机制
创建子进程: fork() 创建子进程,复制父进程的页表。
共享物理内存:父子进程共享相同的物理内存页,页面设为只读。
写时复制:当进程尝试写入共享页面时,触发异常,分配新页进行复制,更新页表。
3.解释虚拟内存帧分配算法中的平均分配与比例分配;解释虚拟内存
帧分配中的全局置换与局部置换,二者各有什么特点?
答:
虚拟内存帧分配算法
平均分配:
所有进程平均分配可用帧。
优点:简单公平。
缺点:未考虑进程需求。
比例分配:
根据进程大小按比例分配帧。
优点:合理分配资源。
缺点:计算复杂。
全局置换:
所有进程的页面均可置换。
优点:提高内存利用率。
缺点:影响单个进程性能。
局部置换:
仅置换当前进程的页面。
优点:减少干扰,保证进程性能。
缺点:内存利用率较低。
4.系统颠簸的原因是什么?消除及减轻系统颠簸的方法有哪些

原因:
内存不足:物理内存不足,频繁页面置换。
工作集过大:进程的工作集超出物理内存。
消除及减轻方法:
1. 增加物理内存:提升系统性能,成本高。
2. 调整工作集:提高内存利用率,复杂度高。
3. 优化页面置换算法:提高命中率,增加计算开销。
4. 负载控制:简单易实施,影响并发能力。
5.
位机器的分页系统,每页1k字节。某进程的页表为
页号 帧号 valid/invalid 
0 * invalid
1 * invalid
2 * invalid
3 * invalid
4 * invalid
5 * invalid
6 * invalid
操作系统分配给进程三个帧(f0,f1,f2)。
已知该进程的前20次访存依次是地址1025,1026,1027,1025,1025,1026,1027, 2049,
2050,2051,2052,2053,2054,2049,3100,3101,4097,4050,4098, 1025。页面置换策略是FIFO。给出页面
置换的甘特图和该进程20次访存后的页表。
答:
页面置换
操作系统分配了三个帧:f0, f1, f2。我们用FIFO策略进行页面置换。
初始状态: 页表(所有页为invalid):
访问顺序:
1. 1025(页1):缺页,将页1装入f0。
2. 1026(页1):已在f0,不变。
3. 1027(页1):已在f0,不变。
4. 1025(页1):已在f0,不变。
5. 1025(页1):已在f0,不变。
6. 1026(页1):已在f0,不变。
7. 1027(页1):已在f0,不变。
8. 2049(页2):缺页,将页2装入f1。
9. 2050(页2):已在f1,不变。
10. 2051(页2):已在f1,不变。
11. 2052(页2):已在f1,不变。
12. 2053(页2):已在f1,不变。
13. 2054(页2):已在f1,不变。
14. 2049(页2):已在f1,不变。
15. 3100(页3):缺页,将页3装入f2。
16. 3101(页3):已在f2,不变。
17. 4097(页4):缺页,页表已满,替换f0,将页4装入f0。
18. 4050(页3):缺页,页表已满,替换f1,将页3装入f1。
19. 4098(页4):已在f0,不变。
20. 1025(页1):缺页,页表已满,替换f2,将页1装入f2。
页面置换的甘特图(FIFO):
bash复制代码页号 帧号 valid/invalid
0 - invalid
1 - invalid
2 - invalid
3 - invalid
4 - invalid
5 - invalid
6 - invalid
diff复制代码时间 | 页表状态 (帧0, 帧1, 帧2)
-----|-----------------------
1 | 页1 - -
2 | 页1 - -
3 | 页1 - -
4 | 页1 - -
5 | 页1 - -
6 | 页1 - -
7 | 页1 - -
8 | 页1 页2 -
9 | 页1 页2 -
10 | 页1 页2 -
页表状态:
访问后,页表如下:
6.链接分配的一个表中FAT中,使用FAT将文件块链接起来,它的优点
和缺点是什么?
答:
优点:
1. 简单易实现:结构简单,易于实现和维护。
2. 顺序访问性能好:顺序读取文件时性能较好。
3. 兼容性好:广泛支持,适用于多种存储设备。
4. 灵活性高:易于调整以适应不同的磁盘大小和文件大小。
缺点:
1. 随机访问性能差:随机访问文件时需要遍历链表,性能较差。
2. 碎片问题严重:容易产生碎片,影响性能,需要定期整理。
3. 可靠性低:FAT表是单点故障,损坏可能导致文件系统不可用。
4. 缺乏安全性和权限管理:不支持复杂的文件权限管理。
5. 容量限制:早期版本有容量限制,FAT32对单个文件限制为4GB。
11 | 页1 页2 -
12 | 页1 页2 -
13 | 页1 页2 -
14 | 页1 页2 -
15 | 页1 页2 页3
16 | 页1 页2 页3
17 | 页4 页2 页3
18 | 页4 页3 页3
19 | 页4 页3 页3
20 | 页4 页3 页1
bash复制代码页号 帧号 valid/invalid
0 - invalid
1 f2 valid
2 - invalid
3 f1 valid
4 f0 valid
5 - invalid
6 - invalid
7.操作系统采用分页式存储管理方式,其中每个页面大小为
64Byte,操作系统的物理地址和逻辑地址的寻址空间为64KB,由16
位二进制位组成。采用两级页表的分页管理方式,包括一级页表和二
级页表。
(1)请问上述分配方式下一级页表和二级页表的逻辑地址的bit?一级页表和二级页表的大小以及页表占用
的存储空间大小?
(2)请画出一级页表和二级页表逻辑地址结构图(简单解释一下一级页表和二级页表项里面有啥)
(3)为加快操作系统的对内存的访问速度,引入TLB机制,请问TLB是如何加快操作系统对内存的访问速度
的?
答:
(1) 逻辑地址的bit,页表大小及占用存储空间
逻辑地址结构
每个页面大小为64字节(即2^6字节),所以页内偏移需要6位。
逻辑地址总共16位,减去页内偏移的6位,剩下10位用于页表索引。
采用两级页表,每级页表使用5位来表示页号。
一级页表和二级页表的大小
一级页表:
使用5位索引,所以有2^5 = 32个表项。
每个表项的大小假设为4字节(32位地址),一级页表大小为32 * 4字节 = 128字节。
二级页表:
每个一级页表指向一个二级页表,二级页表同样有2^5 = 32个表项。
每个表项的大小假设为4字节,二级页表大小为32 * 4字节 = 128字节。
页表占用的存储空间
假设需要覆盖整个64KB逻辑地址空间。
需要的二级页表数量等于一级页表的表项数量,即32个。
每个二级页表大小为128字节,总共二级页表占用的空间为32 * 128字节 = 4096字节(4KB)。
一级页表占用的空间为128字节。
总页表占用空间:128字节(一级页表) + 4096字节(二级页表) = 4224字节。
(2) 逻辑地址结构图
逻辑地址结构
16位逻辑地址

高5位:一级页表索引
中5位:二级页表索引
低6位:页内偏移
一级页表和二级页表项解释
一级页表项:指向二级页表的物理地址。
二级页表项:指向实际物理页框的物理地址。
(3) TLB加快内存访问速度
TLB(Translation Lookaside Buffer)是一种高速缓存,用于存储最近使用的页表项。
工作原理

1. CPU发出虚拟地址,首先查询TLB。
2. 如果命中(TLB命中),直接从TLB获取物理地址,减少内存访问次数。
3. 如果未命中(TLB未命中),则从页表中查找,更新TLB后再访问物理内存。
优点

大大减少地址转换的时间开销,提高内存访问速度
plaintext复制代码| 一级页表索引 | 二级页表索引 | 页内偏移 |
| 5 bits | 5 bits | 6 bits |

  • 30
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值