计算机考研——操作系统之 “计算机系统概述”
命题重点
1.操作系统的概念、基本特征和功能,并行性与并发性。
2.操作系统提供的接口,命令接口和程序接口。
3.用户态和核心态,中断和异常,系统调用。
1.操作系统的概念:
操作系统是指控制和管理整个计算机软件与硬件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口和环境的程序集合。操作系统是计算机系统中最基本的系统软件,是裸机上的第一层软件,是对硬件功能的首次扩充。
2.操作系统的基本特征和功能:
3.并行性与并发性:
并发性:指两个或多个事件在同一时刻发生
并行性:指两个或多个事件在同一事件间隔内发生
在多道程序环境下,一段时间内,宏观上有多道程序在同时执行,而在每一时刻,单处理机环境下实际仅能有一道程序执行,故微观上这些程序还是在分实地交替执行。操作系统的并发性是通过分时得以实现的。
1.计算机提供的接口
1.用户态与核心态:
在计算机系统中,通常运行着两类程序:系统内核程序 和 应用程序,为了保证内核程序不被应用程序破坏,为计算机设置了两种状态:核心态(也称为管态)和用户态(也称为目态)。内核程序在核心态运行,而应用程序只能在用户态运行。
在CPU上会执行两种程序,内核程序和普通应用程序。
正在执行内核程序,说明此时是操作系统正在控制CPU。
正在执行应用程序,说明此时是应用程序正在控制CPU。
核心态与用户态的切换,本质上是操作系统与普通应用程序对CPU控制权的切换。
2.中断和异常:
中断的本质作用:将CPU的控制权交给操作系统,因此中断发生后CPU状态需要转为核心态。
3.中断处理和子程序调用的区别:
子程序调用是程序设计者事先在主程序中安排一条调用指令CALL,子程序的调用时间是固定的。主程序调用子程序的过程完全属于软件处理过程,不需要专门的硬件电路。
中断与子程序调用的区别:
调用类型 | 中断 | 子程序调用 |
---|---|---|
入口地址 | 由中断隐指令根据中断向量得到 | 由调用程序根据寻址方式得到 |
环境保存 | 保存PC、PSW、通用寄存器 | 保存PC、通用寄存器 |
程序状态 | 从用户态转为核心态 | 没有状态变化 |
PC : Program Counter 程序计数器
PSW : 程序状态寄存器
注: 有的系统支持“多重中断”,即在执行中断处理程序的过程中,如果有新的中断的到来,依然会暂停当前的中断处理程序,转而处理新到达的中断。多重中断系统在保护被中断进程现场时关中断,执行中断处理程序时开中断。
3.系统调用:
系统中的各共享资源都有操作系统统一掌管,因此在用户进程中,凡是与资源有关的操作(如存储分配、进行I/O传输以及管理文件等),都必须通过系统调用方式向操作系统提出服务请求,并有操作系统代为完成。系统调用按功能大致可分为如下几类:
- 设备管理。完成设备的请求和释放,以及设备启动等功能。
- 文件管理。完成文件的读、写、创建及删除等功能。
- 进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。
- 进程通信。完成进程之间的消息传递或信号传递等功能。
- 内存管理。完成内存的分配、回收以及获取作业占用内存区大小及始址等功能。
显然,系统调用运行在系统的核心态。通过系统调用的方式来使用系统功能,可以保证系统的稳定性和安全性,防止用户随意更改或访问系统的数据或命令。系统调用命令是由操作系统提供的一个或多个子程序模块实现的。
可能会影响到其他进程的操作,必然需要通过系统调用请求操作系统代为完成。
eg.执行系统调用的过程包括如下主要操作:【2017年联考真题】
(1)传递系统调用参数
(2)执行陷入(trap)指令
(3)执行相应的服务程序
(4)返回用户态