目录
1 操作系统概念
1.1 定义
1.2 功能
1.系统资源的管理者
2.用户和计算机硬件间接口
3.最接近硬件的层次
2 操作系统的特征
2.1 并发
2.2 共享
2.3 虚拟
2.4 异步
3 发展和分类
3.1 手工操作阶段
3.2 批处理阶段
1.单道批处理阶段
2.多道批处理系统
3.3 分时操作系统
3.4 实时操作系统
3.5 其他操作系统
4 操作系统的运行机制与体系结构
4.1 运行机制
4.2 操作系统内核
4.3 体系结构
5 中断和异常
5.1 中断的概念和作用
5.2 中断的分类
1.内中断
2.外中断
5.3 外中断的处理过程
6 系统调用
6.1 系统调用概念与作用
1.概念
2.作用
6.2 系统调用与库函数区别
6.3 系统调用含义
1 操作系统概念
1.1 定义
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
1.2 功能
1.系统资源的管理者
文件管理、存储器管理、处理机管理、设备管理
2.用户和计算机硬件间接口
命令接口:允许用户直接使用,包括联机命令接口(交互式)与脱机命令接口(批处理)
程序接口:通过用户程序间接使用
GUI(图形用户界面)
3.最接近硬件的层次
实现对硬件机器的拓展
2 操作系统的特征
2.1 并发
两个或多个事件在同一时间间隔内发生,在宏观上同时发生,在微观上交替发生(并行:两个或多个事件在同一时刻同时发生,如多核处理器可以同时运行多个程序),操作系统存在并发性。
2.2 共享
资源共享,指系统资源可供内存中多个并发执行的进程共同使用,包括互斥共享(同一时间段只允许一个进程访问该资源)和同时共享方式(同一时间段允许多个进程“同时”访问该资源)。
并发和共享互为存在条件
2.3 虚拟
把一个物理实体变为若干个逻辑对应物,虚拟技术包括空分复用技术和时分复用技术。没有并发性就谈不上虚拟性。
2.4 异步
多到程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行是间断点,以未知的速度运行。只有系统拥有并发性才有可能导致异步性。
3 发展和分类
3.1 手工操作阶段
由于人机速度矛盾,会导致资源利用率较低。
3.2 批处理阶段
1.单道批处理阶段
引入脱机输入/输出技术,并监督程序负责控制作业的输入、输出。但内存中仅有单一程序运行,资源利用率低。
2.多道批处理系统
每次往内存输入多道程序,引入中断技术,由操作系统负责管理程序运行。但并未提供人机交互功能。
3.3 分时操作系统
计算机以时间片为单位轮流为各用户服务,解决了人机交互问题。但不能优先处理紧急任务。
3.4 实时操作系统
优先响应紧急任务,具有及时性和可靠性的特点,包括硬实时系统和软实时系统。
3.5 其他操作系统
网络操作系统、分布式操作系统、个人计算机操作系统(Windows XP、MacOs)
4 操作系统的运行机制与体系结构
4.1 运行机制
1.指令:CPU能识别、执行的最基本命令。指令包括不允许用户程序使用的特权指令和非特权指令
2.状态:CPU包括用户态(目态)和核心态(管态),CPU处于核心态时,可以执行上述两种质量,否则只能执行非特权指令。
3.程序:包括运行在核心态的内核程序和运行在用户态的应用程序
4.2 操作系统内核
内核:计算机配置的底层软件,是操作系统最基本、最核心的部分。
包括始终管理、中断处理、原语;以及对系统资源进行管理的功能:进程管理、存储器管理和设备管理
4.3 体系结构
5 中断和异常
引入中断使操作系统介入,展开管理工作
5.1 中断的概念和作用
1.中断发生时,CPU立即进入核心态。中断是用户态到核心态切换到唯一途径,核心态到用户态的切换是执行特权指令,将PSW的标志位设为用户态即可。
2.中断发生时,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3.不同的中断会进行不同的处理
5.2 中断的分类
1.内中断
内中断也称异常、例外,其信号源自CPU内部,与当前执行的指令有关。内中断包括自愿中断和强迫中断。
2.外中断
外中断信号源自CPU外部,与当前执行的指令无关。
5.3 外中断的处理过程
6 系统调用
6.1 系统调用概念与作用
1.概念
系统调用时操作系统提供给应用程序使用的接口。
2.作用
应用程序通过系统调用请求操作系统的服务,可以保证系统的稳定性和安全性。
6.2 系统调用与库函数区别
1.系统调用的相关处理在核心态进行,是操作系统向上层提供的接口
2.库函数可以对部分系统调用进行封装
6.3 系统调用含义
传入系统调用参数
-->执行陷入指令(用户态)
-->执行系统调用相应服务程序(核心态)
-->返回用户程序
注:1.陷入指令执行结束后立即引发一个内中断以进入核心态
2.发出系统调用请求在用户态,系统调用相应处理在核心态
3.陷入指令是唯一只能在用户态执行,而不可在核心态执行的指令