操作系统例题详解:调度算法与存储管理

需积分: 9 0 下载量 167 浏览量 更新于2024-09-10 收藏 287KB DOC 举报
"操作系统例题讲解,包括调度算法和存储管理两个部分" 在操作系统中,调度算法是决定进程执行顺序的关键机制。在这个例子中,我们讨论的是可剥夺的静态最高优先级算法。在这种算法中,一旦有更高优先级的进程到达,当前运行的进程会被立即暂停,让位于高优先级的进程。对于给定的进程集合: - P1: 到达时间2ms, 优先级3, CPU执行时间3ms - P2: 到达时间0ms, 优先级1, CPU执行时间2ms - P3: 到达时间4ms, 优先级4, CPU执行时间3ms - P4: 到达时间0ms, 优先级2, CPU执行时间4ms - P5: 到达时间5ms, 优先级5, CPU执行时间2ms 按照算法,P2首先执行,然后在2ms时被P1取代,接着在6ms时被P3取代,因为P3有更高的优先级。在9ms时,P5到达并取代P3,然后在11ms时P3再次执行。最后的Gantt图如下: ``` ||P4|P1|P3|P5|P3| |10|||||11| |:2|||||:2| |0|||||0| |10|||||11| |:2|||||:2| |0|||||0| |10|||||11| |:2|||||:2| |0|||||0| |10:20| ``` 平均周转时间和平均带权周转时间计算如下: 周转时间 = 完成时间 - 到达时间 带权周转时间 = 周转时间 / 执行时间 需要计算每个进程的这些值,然后取平均。 在存储管理部分,我们关注的是虚拟页式存储管理和页面替换策略。在这个例子中,系统采用2KB的页面大小,每个进程分配4个页框,并使用改进的时钟算法。当新页面进入内存时,时钟指针会指向新页面的下一个在内存的表项。 进程P的页表初始状态如下: - 逻辑页0在内存,页框号101H,访问位r为0,修改位m为0,内外标识为1 - 逻辑页1不在内存 - 逻辑页2在内存,页框号110H,访问位r为1,修改位m为0,内外标识为1 - 逻辑页3在内存,页框号138H,访问位r为0,修改位m为0,内外标识为1 - 逻辑页4不在内存 - 逻辑页5在内存,页框号100H,访问位r为1,修改位m为1,内外标识为1 时钟指针指向逻辑页3。 根据给定的操作序列: 1. 引用4C7H,访问逻辑页0,访问位r变为1 2. 修改19B4H,访问逻辑页3并修改,访问位和修改位均变为1 3. 修改0C9AH,访问逻辑页1,因不在内存,发生缺页中断,根据时钟算法,由于100H页面被修改过,因此选择替换逻辑页5 4. 在此基础上,访问27A8H 逻辑地址27A8H的前11位是页内偏移,因此它访问逻辑页2。逻辑页2已经在内存中,所以可以直接访问,物理地址为页框号110H加上页内偏移27A8H的低11位。因此,物理地址是110H + 27A8H &= 110H + 278H = 388H。 通过这两个例题,我们可以深入理解操作系统的调度算法以及虚拟存储器的工作原理,这对于学习和理解操作系统至关重要。