一.操作系统基本概念
1.操作系统的概念:
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并且合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,他是计算机系统中最基本的系统软件。
总结三点:
- 操作系统是系统资源的管理者
- 向上层提供方便易用的服务
- 是最接近硬件的一层软件
2.操作系统的功能
2.1 操作系统作为系统资源的管理者提供的功能如下:
- 处理机调度
- 存储器管理
- 文件管理
- 设备管理
2.2 操作系统向上层提供方便易用的服务
2.2.1命令接口
- 联机命令接口 : 说一句做一句
- 脱机命令接口 : 说一堆做一堆
2.2.2 程序接口
即系统调用,用户通过程序间接使用
2.2.3 GUI 图形接口
用户可以直接使用 ,最终是通过调用程序接口实现的
3.操作系统的特征
并发 和 共享是操作系统两个最基本的特征,并发和共享互为存在条件
3.1 并发
并发:两个或者多个事件在同一个时间间隔内发生(宏观上同时发生,微观上交替发生)
对比一下并行:指两个或者多个事件在同一时刻同时发生
单核CPU同一时刻只能执行一个程序,各个程序只能并发执行
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行执行
3.2 共享
3.2.1 互斥共享方式
一个时间段内只允许一个进程访问该资源
3.2.2 同时共享方式
允许一个时间段内多个进程“同时”进行访问(宏观上同时访问,微观上交替访问)
3.3 虚拟
虚拟技术可以归纳为:
- 时分复用技术:如处理器的分时共享
- 空分复用技术:如虚拟存储器
3.4 异步
指的是在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进
只有系统拥有并发性,才可能导致异步性
4.操作系统的发展
4.1 手工操作阶段
缺点:用户独占全机,人机速度矛盾导致资源利用率低
4.2 单道批处理系统
特征:自动性、顺序性、单道性
优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升
缺点:内存中仅能够有一道程序运行,CPU有大量的时间是在空闲等待I/O完成
4.3 多道批处理系统
多道、宏观上并行、微观上串行
优点:资源利用率高 系统吞吐量大
缺点:用户响应的时间较长,不提供人机交互能力,
4.4 分时操作系统
计算机以时间片为单位轮流为各个用户/作业提供服务,各个用户可通过终端与计算机进行交互
特征:同时性 、交互性、独立性、及时性
解决了人际交互问题
缺点:不能优先处理一些紧急任务
4.5 实时操作系统
能够优先响应一些紧急任务
特点:及时性、可靠性
- 硬实时系统:必须在绝对严格的规定时间内完成处理
- 软实时系统:能够接受偶尔违反时间规定
二.操作系统运行环境
2.1 用户态 and 核心态
CPU有两种状态,“内核态” 和 “用户态”
- 处于内核态(核心态 / 管态)时,运行的是内核程序,可以执行特权指令,
- 处于用户态(目态)时,运行的是应用程序,只能执行非特权指令
注意:CPU有一个寄存器:程序状态寄存器(PSW),其中二进制位1表示内核态 0表示用户态
内核态 -> 用户态 :执行一条特权指令,修改PSW标志位为用户态,操作系统让出CPU使用权
用户态 -> 内核态 :由中断引发,硬件自动完成变态过程,操作系统夺回CPU使用权
2.2 中断 and 异常
2.3 系统调用
概念:操作系统对应用程序 / 程序员提供的接口,在用户程序中,凡是与资源有关的请求,都必须经过系统调用方式向操作系统提出服务请求,并由操作系统代为完成
2.3.1 系统调用与库函数的区别
有的库函数是对系统调用的进一步封装
有的库函数则没有使用系统调用
2.3.2 系统调用分类(按功能)
-
程序的运行由用户态转到内核态,则会用到访管指令(trap指令 / 陷入指令),访管指令是在用户态执行的,不是特权指令
-
发出系统调用请求是在用户态,而对系统调用的相应处理是在核心态下进行