2. 操作系统知识
操作系统概述
操作系统定义:能有效地组织和管理系统中的各种软硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并向用户提供一个良好的工作环境和友好的接口
三个重要作用:1.管理计算机中运行的程序和分配各种软硬件资源、2.为用户提供友善的人机界面、3.为应用程序的开发和运行提供一个高效率的平台
四个特征:并发性、共享性、虚拟性和不确定性
操作系统的功能
- 进程管理:对CPU的处理时间进行管理,合理分配给每个任务,进程控制、进程同步、进程通信和进程调度
- 文件管理:包括文件存储空间管理、目录管理、文件的读写管理和存取管理
- 存储管理:对主存储器空间进行管理,包括存储分配与回收、存储保护、地址映射和主存扩充
- 设备管理:输入输出设备的分配、启动、完成和回收
- 作业管理:包括任务、界面管理、人机交互、图形界面语音控制和虚拟现实
操作系统的分类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、微型计算机操作系统
嵌入式操作系统主要特点:微型化、可定制、实时性、可靠性、易移植性
嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:片级初始化 - 板级初始化 - 系统初始化
进程组成和状态
进程的组成:进程控制块PCB (唯一标志)、程序 (描述进程做什么)、数据 (进程执行时所需数据)
进程三态图,进程三态之间的转换
前趋图:用来表示任务间并行和先后顺序关系
进程资源图:用来表示进程和资源和请求和分配关系;P代表进程,R代表资源,P指向R代表进程P向R请求资源,R指向P代表已有一个资源分配给进程P
所请求的资源已被全部分配,无法获取所需资源,则该进程成为阻塞节点;所有进程都是阻塞节点时,即死锁
进程同步与进程互斥
- 临界资源:各进程需要以互斥方式进行访问的资源
- 临界区:进程中对临界资源实施操作的那段程序
- 互斥:同一时间内只能由一个任务单独使用
- 同步:多个任务可以并发执行,在速度上有差异
进程调度
进程调度方式:当有更高优先级的进程到来时如何分配CPU,分为可剥夺和不可剥夺两种
在操作系统中,一个作业从提交到完成需要经历高、中、低三级调度
- 高级调度:决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备
- 中级调度:决定处于交换区的哪个就绪进程可以调入内存
- 低级调度:决定内存中的哪个就绪进程可以占用CPU
调度算法:先来先服务 (FCFS)、时间片轮转、优先级调度、多级反馈调度
死锁
死锁产生的四个条件:资源互斥、每个进程占用并等待其他资源、系统不能剥夺资源、进程资源图是一个环路
解决死锁的方法:
- 死锁预防:限制并发进程对资源的请求
- 死锁避免:银行家算法
- 死锁检测
- 死锁解除:强制剥夺资源
- 死锁资源计算
线程
进程有两个属性:可拥有资源的独立单位;可独立调度和分配基本的单位
引入线程:进程在创建、撤销和切换中,系统有较大时空开销,故在系统中设置的进程数目不宜过多,切换频率不宜太高,但这限制了提高并发程度。引入线程后,线程作为调度和分配的基本单位,进程作为独立分配资源的单位
线程是进程中的一个实体,是被系统独立分配和调度的基本单位。线程基本上不拥有资源,可与同属一个进程的其他线程共享进程中的资源
分区存储管理
固定分区:静态分区,将主存分为若干个固定的区,有内部碎片
可变分区:分区在作业转入时划分,大小为作业所需大小,有外部碎片
可重定位分区:移动分配好的区域,外部细小的分区可以合并为大分区
- 首次适应法:顺序查找第一个满足大小的空闲块
- 最佳适应法:内存块排序,找到第一个满足大小的空闲块
- 最差适应法:找最大的空闲块
- 循环首次适应法:从上次查找结束的地方开始查找
分页存储管理
逻辑页分为页号和页内地址,需要查询页表才能得知页号对应的物理块号。优点:利用率高,碎片小,分配及管理简单;缺点:增加了系统开销,可能产生抖动
页面置换算法
- 最优算法:理论算法
- 先进先出FIFO:先调入的先淘汰,有抖动现象
- 最近最少使用:
- 淘汰原则:优先淘汰最近未访问、最近未修改的
快表:一块小容量的相联存储器,按内容访问,速度快,一般存放当前访问最频繁的少数活动页面的页号;快表将页表存于Cache中,慢表将页表存于内存上,慢表需访问两次内存才能取出页,快表是访问一次Cache和一次内存
分段存储管理
将进程空间分为一个个段,每段有段号和段内地址,每段物理大小不同,分段是根据逻辑整体分段的,段表有段长和基址两个属性
段页式存储管理
对进程先分段后分页
设备管理概述
设备是计算机系统与外界交互的工具,负责计算机与外部的输入输出工作,常称为外部设备。
分类
- 按数据组织分类:块设备、字符设备
- 按设备功能分类:输入、输出、存储、网络联网、供电设备
- 资源分配角度分类:独占、共享、虚拟设备
- 数据传输速率分类:低速、中速、高速设备
任务:当多个进程竞争使用设备时,按一定的策略分配和管理各种设备,完成I/O和主存间的数据交换
主要功能:动态掌握并记录设备状态、设备分配和释放、缓冲区管理、实现I/O设备的操作、提供设备使用的用户接口及设备的访问和控制
I/O的一次流程:当用户程序试图读取一个文件时,通过操作系统完成这一操作。与设备无关软件检查高速缓存中有无要读的数据块,若没有,则调用设备驱动程序,向I/O硬件发出一个请求;然后用户进程阻塞并等待磁盘操作的完成;当磁盘操作完成时,硬件产生一个中断,转入中断处理程序;中断处理程序检查中断原因,认识到**,从而结束此次I/O请求
SPOOLING (外围设备联机操作)技术:建立输入井和输出井两个数据缓冲区,使得每个进程都感觉在使用一个打印机,这就是物理设备的虚拟化
文件管理概述
文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合
文件管理系统:操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件结构,简称文件系统
文件的逻辑结构可分为:有结构的记录式文件;无结构的流式文件
文件的物理结构指文件在物理存储设备上的存放方法,包括:
- 连续结构:逻辑上连续的文件虚拟性依次存放在连续编号的物理块上
- 链接结构:逻辑上连续的文件虚拟性依次存放在不连续的物理块上,物理块设有一个指针
- 索引结构:索引表记录了文件信息所在的逻辑块号对应的物理块号
- 多个物理块的索引表:索引表是在文件创建时由系统建立的
文件控制块的有序集合称为文件目录
文件存取方法:顺序存取和随机存取
文件存储空间的管理:空闲区表、==位示图==、空闲块链 & 成组链接法