概念
操作系统
组织和管理计算机系统中的软件和硬件,组织计算机系统工作流程、控制程序执行,提供给用户工作环境和友好的接口。
3个作用:
- 管理计算机中运行的程序和分配各种软硬件资源
- 为用户提供友善的人机洁界面
- 为应用程序的开发和运行提供一个高效的平台
4个特征:
- 并发行、共享性、虚拟性、不确定性
操作系统功能:
- 进程管理: 对CPU执行时间进行管理 ,包括进程控制、进程同步、进程通讯、进程调度。
- 文件管理:对硬盘上的存储空间管理,目录管理,文件的读写和存取控制。
- 存储管理:对主存内存进行管理,包括存储分配和回收、存储保护、存储映射、存储扩充
- 设备管理:对硬件设备的管理,包括对输入输出的分配、启动、完成、回收。
- 作业管理:包括任务、界面管理、人机交互、图形界面、语音控制、虚拟现实等。
操作系统的分类:
- 批处理操作系统:单道批处理和多道批处理,单个任务执行发展到同时多个任务执行。
- 分时操作系统:将CPU的工作时间进行切分,轮流为各个终端用户服务,要求交互高。
- 实时操作系统:要求较快的进行处理相应,并在被控对象允许的时间内快速反应,要求可靠性,交互不高。
- 网络操作系统:使计算机联网共享资源,有集中模式、客户端/服务器模式(CS)、对等模式(P2P)。
- 分布式操作系统:多个分散的计算机连接而成的计算机系统,无主次之分,都能互现通讯交换信息。
- 微型计算机操作系统:windows、linux、mac
嵌入式操作系统:(物联网设备,智能家居)
-
微型化:性能和成本考虑,占用资源和系统代码量少
-
可定制:成本和研发考虑,兼容不同的处理器,对硬件变化进行结构与功能上的配置,满足不同的需求。
-
实时性:实时响应高,过程控制、数据采集、传输通讯、媒体信息。 可靠性:提供容错和防故障措施。
-
易移植性:采用硬件抽象层和板级支撑包的底层设计技术。
嵌入式系统初始化过程按照自底向上,片级初始化(芯片)-板级初始化(外设)-系统初始化(bios引导)
进程组成和状态
进程的组成:进程控制块PCB、程序、数据
进程的状态:
- 运行态:CPU正在执行进程
- 就绪态:等待被调度分配CPU
- 阻塞态:磁盘读写数据、打印机等,CPU不会等着浪费资源,阻塞态事件结束必须进入就绪态
前趋图:
用来表示那些任务可以并行执行,哪些之间有顺序关系
进程资源图:
进程和资源之间的分配和请求关系,下图箭头向下为分配,向上为请求
资源分配和请求都满足后执行结束,资源会回收,释放资源
进程的同步和互斥
- 临界资源:各进程互斥的方式访问资源,同一时间只能有一个进程使用资源
- 临界区:本质是一段代码,进程对临界资源实施操作那段代码
- 互斥:临界资源需要加锁,使用完后解锁给其他进程使用
- 同步:多个任务可以并发执行,速度上有差异
- 互斥信号量:临界资源使用互斥,初始值为1
- 同步信号量:对共享资源访问控制(数量上限),初始值一般为共享资源的数量
信号量操作:
- P(S):申请资源,资源减一,S>=0才能继续执行,S<0表示没有资源,进入阻塞状态
- V(S):释放资源,资源加一,S>0才能继续执行,S<=0表示从阻塞态唤醒一个进程
计算
前趋图计算:
先P申请资源,执行后V释放资源,S为信号量,一条箭头就代表一个信号量
题目一:
- 题目有5个信号量,计算假设一般编号从上到下,从左到右,后续根据条件进行验证
- P1执行后释放2个信号量,假设上面是s1,下面是s2,P2执行条件是P(s1)就验证了上方为s1
- P2执行需要P(s1),执行后释放1个信号量,假设为s3,P4执行条件是P(s3)就验证了为s3
- P3执行需要P(s2),执行后释放1个信号量,上方已经验证,这边为s4 5、P4执行需要P(s3),执行后释放1个信号量,为s5
题目二:
1、先假设8个S信号量序号
2、P1执行后,释放2个信号量,V(s1)V(s2),P3执行需要P(s2),验证下方为s2,上方为s1。
3、P2执行后,需要p(s1),释放2个信号量,V(s3)V(s4),P3执行需要s2,s3,s3为P操作,选择题都为P(s3)。
4、P3执行后,释放2个信号量,V(s5)V(s6),P4执行需要2个P,上面是为s4固定,下方就是s5了,另一个就s6
5、P4执行后,释放1个信号量,V(s7)
6、P5执行,想要p(s6),执行后释放V(s8),验证上方为7