习题一(前三章)1、系统如何由目态转为管态
如何由管态转为目态
目态到管态的转换(中断,trap):修改处理机状态字指令属于特权指令,只能在管态执行,目态程序无法直接控制处理机状态的转换
处理机状态由目态转换为管态的唯一途径是中断,中断发生时,中断向量中的PSW标识处于管态,这个标识一般由操作系统初始化程序设置的
管态到目态的转换(置程序状态字):通过修改程序状态字(置PSW)来实现,操作系统运行于管态,该状态转换伴随着由操作系统程序到用户程序的转换
2、为什么有硬件时钟,有时还要设置软件时钟
解:硬件时钟由硬件提供,保存在硬件寄存器中,开机由电源供电,关机由机内电池供电,可由程序设定和修改,一般通过特权指令完成,应用程序可读取该值
间隔时钟:定时发生中断,一般间隔单位为“毫秒”
中断发生后,操作系统获得系统的控制权以便运行系统管理和实现程序并发
是实现多道程序的基础—保证操作系统获得控制权
软件时钟:利用间隔时钟实现,主要用于定时启动一些服务,如定时备份,软件时钟通过赋内存的一个单元一个初值,通过间隔时钟中断,对该单元值减一,减到0就启动相应的服务,这是间隔时钟做不到的
3、通过一个案例分析进程的状态转换过程
比如用播放器播放音乐,当启动播放器,产生播放器进程,进入挂起就绪状态,当用户点击播放按钮时,进入就绪状态,当被处理机调度时,处于运行态,当需要听歌曲,且歌曲还在外存时,该进程启动磁盘读进程,然后自己进入等待态,当磁盘读进程将相应歌曲读进内存时,向处理机发出中断,该中断进程将播放器进程送入就绪队列,当被处理机调度时,开始播放歌曲,处于运行态,如此反复直到关闭播放器,进程结束
单击暂停键,进入挂起就绪队列4、通过一个案例描述可以由用户处理的中断的处理过程
比如在一个C语言程序中发生除零错误(1)发生出除零中断(2)保存旧PSW和PC(入系统栈)(3)取中断向