目录
3.1CPU运行模式
3.1.1特权指令与非特权指令
特权指令:指不允许用户直接使用的指令,例如:I/O指令、关中断指令、内存清零指令,存取用于内存保护的寄存器、送PSW到程序状态字寄存器等的指令。
非特权指令:是指允许用户直接使用的指令.
ps:trap指令是非特权指令,且只能在用户态使用。执行trap指令时是用户态,执行完trap指令后进入内核态。
3.1.2内核态与用户态、内核程序和应用程序
内核态(管态,核心态)
处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令。
用户态(目态)
处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令。
3.2中断和异常的处理
本小节结合计组的第五章和第七章学习,本文只作简单介绍
3.2.1中断和异常的定义和分类
中断(广义的):是指CPU对系统发生的某个事件做出的一种反应,即CPU暂停正在执行的程序,保存现场后自动去执行相应的处理程序,处理完该事件后再返回中断处继续执行原来的程序。广义的中断包括外中断(中断(狭义)),内中断(异常)
中断是让操作系统内核夺回CPU使用权的唯一途径
异常:包括程序的非法码操作、地址越界、算术溢出、虚拟存储器系统的缺页、陷入指令等。
外中断:包括I/O中断、时钟中断(表示一个固定的时间片已到,让CPU处理计时、启动定时运行的任务)
考试中的中断通常指狭义的中断
3.2.2中断的处理过程
详见计组第七章
3.3系统调用
3.3.1系统调用的定义
系统调用:应用程序通过系统调用请求操作系统的服务。
3.3.2系统调用的功能
- 设备管理:完成设备的 请求/释放/启动 等功能。
- 文件管理:完成文件的 读/写/创建/删除 等功能。
- 进程控制:完成进程的 创建/撤销/阻塞/唤醒 等功能。
- 进程通信:完成进程之间的 消息传递/信号传递 等功能。
- 内存管理:完成内存的 分配/回收 等功能。
3.3.3系统调用处理过程
- 传递系统调用参数
- 执行陷入(trap)指令,进入内核态
- 执行相应的服务程序
- 返回用户态
总结
本节的重点是3.1,考察类型主要是选择题,要求给出一个具体程序或指令能判断该指令是否能在内核态、用户态“发生”或“进行”,或者是否能引起从用户态到内核态的切换。