lec10_lec11练习题

1 以lab3为例,说明虚拟页与磁盘后备页面的对应关系是什么?

物理内存+磁盘空间 构成了虚拟存储通过虚拟页式存储机制提供给用户更大的逻辑空间,虚拟内存页有可能在物理内存中,也可能在磁盘后备页面中,这种调整是通过页面置换算法进行对应的换入换出的。

4 由于何种原因,可出现进程的何种状态转到退出状态?

  • 正常退出:进程的应用程序逻辑流程执行结束,进程会由运行态转为退出状态
  • 错误退出:程序运行过程中发现错误(异常输入等等)主动退出(运行状态到退出状态)
  • 致命错误:程序运行出现差错无法继续执行而退出(运行到退出)
  • 被其他进程所杀,其他进程向该进程发送信号使之退出(此前可能是就绪状态,运行状态,等待状态)

该调度算法模拟了先到先服务调度(FCFS)算法,根据注释填入代码即可

需要注意的是在进行FCFS算法时,需要注意在还有其他进程处于Ready状态时不要让当前进程继续运行,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
def next_proc(self, pid=-1):
#YOUR CODE
if pid==-1:
pid = self.curr_proc
# 使用FIFO/FCFS(先到先服务)调度算法选择下一个进程
for i in xrange(0, len(self.proc_info)):
if self.proc_info[i][PROC_STATE] == STATE_READY and i != pid:
# 避免选择本进程再次调度
self.curr_proc = i
break
if self.proc_info[self.curr_proc][PROC_STATE] == STATE_READY:
self.move_to_running(STATE_READY)
return
打赏