第一章绪论
- 什么是操作系统:
是管理和控制计算机硬件与软件资源的计算机程序 - 操作系统特征:
并发性、共享性、虚拟性、异步性 - 操作系统三大类型:
-
批处理系统:是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。‘
特点:- 多道:在内存中同时存放多个作业,一个时刻只有一个作业运行,这些作业共享CPU和外部设备等资源。
- 成批:用户和他的作业之间没有交互性。用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。
批处理系统的目的是提高系统吞吐量和资源的利用率。
-
分时系统:
在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。
特点如下- 并行性
- 独占性。
- 交互性。
采用时间片轮转的方法,并且分时操作系统的响应时间为秒级。用户感觉不到等待。
实时系统:是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。
特征:多路性、独立性、及时性、交互性和可靠性。
-
- 批处理作业四个状态:
提交、后背、执行和完成。(或进入、后备、运行和退出) - 多道程序系统:
- 定义:在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。
- 特征:多道、宏观上并发、微观上串行。
- 基本原理:多道程序设计的主要目的是充分利用系统中所有资源且尽可能地让它们并行操作。
第三章 进程
- 现代操作系统的重要特点:
在保证安全的前提下:①程序并发执行 ②系统所拥有的资源被共享 ③系统的用户随机使用 - 程序顺序执行的特点:
顺序性、封闭性、可再现性 - 多道程序系统中程序执行环境特点:
独立性、 随机性、 资源共享 - 什么是程序的并发执行:
所谓并发执行,是为增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。 - 并发和并行区别:
并发是指一个处理器同时处理多个任务,是逻辑上的同时发生。
并行是指多个处理器或者是多核的处理器同时处理多个不同的任务,是物理上的同时发生。 - 并发执行所带来的影响:
充分地利用了系统资源.从而提高了系统的处理能力。但是由于系统资源有限,程序的并发执行必然导致资源共享和资源竞争,从而改变程序的执行速度。 - 什么是进程:
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 - 子进程:的是由另一进程(对应称之为父进程)所创建的进程。特点子进程继承了对应的父进程的大部分属性。
- 进程的基本特征:
进程的特征有5个:动态性、并发性、独立性、异步性和结构特征。
动态性是最基本的特征,是其他四个的基础。 - 进程和程序的区别:
- 动态性:进程是一个动态概念, 而程序则是一个静态概念。程序是指令的有序集合. 没有任何执行的含义。而进程则强调执行过程,它动态地被创建, 并被调度执行后消亡。
- 并发性:进程具有并行特征, 而程序没有。进桯具有并行特征的两个方面, 即独立性和异步性。由于程序不反映执行过程,所以不具有并行特征。
- 独立性:进程是竞争计算机系统资源的基本单位,从而其并行性受到系统自己的制约(就是对进程独立性和异步性的限制)
- 进程的静态描述:
由三部分组成: 进程控制块PCB , 有关程序段和该程序段对其进行操作的数据结构集。 - PCB(进程控制块):
进程的PCB 是系统感知进程的唯一实体。无论进程处于什么状态,PCB总是驻留在内存。 - 什么是线程:
线程是进程的一个实体(是进程的一部分),是CPU调度和分派的基本单位。基本上上不拥有系统资源。只拥有一点在运行中必不可少的资源。 - 线程与进程的关系:
- 一个线程可以创建和撤销另一个线程
- 同一个进程中的多个线程之间可以并发执行.
- 原语:
系统态 下执行的某些具有 特定功能的程序段 称为原语。原语可分为两类:- 一类是机器指令级的, 其特点是执行期间不允许中断,在操作系统中,它是一个不可分割的基本单位。
- 另一类是功能级的,其特点是作为原语的程序段不允许并发执行。
- 用于进程控制的原语:
创建原语、撤消原语、阻塞原语、唤醒原语等。 - 什么是临界资源和临界区:
① 临界资源 是一种必须互斥进行访问的资源。(是资源)
② 临界区 是进程中用来 访问临界资源 的 程序。(是程序) - 互斥:
不允许两个以上的共亨该咨源的并发进程同时进入临界区称为互斥。 - 同步:
我们把异步环境下的一组并发进程因直接制约而互相发送消息而进行相互合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。 - 间接制约与直接制约:
- 间接制约:由于共享某一公有资源而引起的在临界区内不允许并发进程交叉执行的现象,称为由共享公有资源而造成的对并发进程执行速度的间接制约——互斥。
- 直接制约:并发进程之间的制约关系(即一个发生后另一个才能发生)——同步
- 死锁:
指各并发进程彼此互相等待对方所拥有的资源, 且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。- 起因:
- 并发进程的资源竞争
- 进程推进非法
- 系统资源不足
- 根本原因:系统提供的资源个数少于并发进程所要求的该类资源数。
- 必要条件:
互斥条件、 不剥夺条件、请求和保持、环路条件。 - 避免方法:
①预防。破坏死锁的必要条件,是最容易实现的:摒弃不剥夺条件、或摒弃请求和保持条件、或摒弃环路条件。不太可能摒弃互斥条件,因为是设备固有属性决定,不仅不能摒弃,还应加以保证。
②避免(动态预防)。(银行家算法)
③检测与恢复。(最难实现)
- 起因:
- 银行家算法不能预防死锁,它用来避免死锁。
- 系统处于不安全状态是不一定有死锁,但处于安全状态时一定不会有死锁。
第四章 处理机调度
- 衡性调度策略最常用的指标:
周转时间、吞吐率和响应时间以及设备利用率等。 - 处理机的四级调度:
- 作业调度:又称宏观调度、高级调度。(FCFS、最短作业优先、最高优先级算法、最高响应比算法)
其主要任务是:
①、(选择作业)按一定的原则对 外存输入井 上的大量后备作业进行选择,
②、(分配资源)给选出的作业分配必要的资源,并建立相应的进程
③、(回收资源)当该作业执行完毕时,负责回收系统资源。 - 交换调度;又称中级调度。
其主要任务是:
①、(进程调入内存)按一定的原则将处于 外存交换区 中的 就绪状态 或 等待状态 的进程调入内存
②、(进程换出内存)或把处于 内存就绪状态 或 内存等待状态的进程交换到 外存交换区 - 进程调度:又称 微观调度、CPU调度、低级调度。(FIFO、最高优先级、最短进程优先、最高响应比优先。时间片轮转法)所有类型系统都必须具有的调度方式
其主要任务是:
①、按一定的原则选取一个处于 就绪状态 的进程 占用处理机。
②、之后令系统进行 进程上下文切换 以建立与 占用处理机进程 相适应的 执行环境 。 -
线程调度。
- 作业调度:又称宏观调度、高级调度。(FCFS、最短作业优先、最高优先级算法、最高响应比算法)
- 作业调度是完成:
①、收容状态(后备状态)到 执行状态 的改变,
②、执行状态 到 完成状态 的改变。 - 周转时间:
T(周转时间) =T(作业完成时间) - T(作业提交时间) =T(作业等待时间) + T(作业执行时间)
- 带权周转时间:
T(带权周转时间) = T(周转时间) / T(作业执行时间)
- 进程调度性能是衡量操作系统设计的一个重要指标。
- 进程/作业调度算法:
- FCFS(先来先服务):是一种最普遍和最简单的方法,是非剥夺调度
- 时间片轮转法(Round Robin,RR):时间片的选取是实现调度算法的关键之处,只能用来分配可以抢占的资源,作业调度不使用该方法。响应时间上优于FCFS。
- 多级反馈轮转法:是时间片轮转算法和优先级算法的综合。
- 优先级法:分为动态优先级法和静态优先级法(主要用于实时操作系统,能够对紧急作业及时处理)。
- 最短作业优先法(Shortest Round Robin,SJF):总是优先调度所需运行时间最短的作业。有利于提高系统吞吐量
- 最高响应比优先算法(Highest Response Ratio Next,HRN):响应比:
R=(W+T)/T
,其中R是响应比,W是作业在后备状态等待时间,T是执行时间。介于FCFS(先来先服务算法)与SJF(短作业优先算法)之间的折中算法,对长短作业都能较好满足
- 进程的执行状态:
进程最基本的状态有3个:就绪、运行、阻塞。- 就绪→运行:进程具备运行条件,当进程调度程序选择了进程后,便将其转入运行状态。
- 运行→阻塞:进程运行了输入/输出指令,或者请求资源得不到满足时,进程转为阻塞状态。
- 阻塞→就绪:进程等待的I/O已完成,或者请求的资源得到满足,进程转为就绪状态。
第五章 存储管理
- 虚拟存储器:进程中的目标代码、数据等虚拟地址组成的虚拟空间称为虚拟存储器。
- 虚拟空间的划分与计算机系统结构有关
- 地址重定位:把虚拟地址映射为内存地址,称为地址重定位或地址映射:
- 静态地址重定位:在虚拟空间程序执行前就由装配程序完成地址映射操作。无法实现虚拟存储器技术。
- 动态地址重定位:在执行过程中,在CPU访问内存前,将要访问的程序或数据地址转换成内存地址。
- 可变分区分配算法:
① 首次适应算法(FF)。
② 循环首次适应算法。
③ 最佳适应算法。
④ 最坏适应算法 - Belady现象:在分页式虚拟存储器管理中,发生缺页时的置换算法采用FIFO(先进先出)算法时,如果对一个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。
- 局部性原理:CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。
第八章 文件系统
- 操作系统对计算机的管理包括:硬件资源管理和软件资源管理
- 什么是文件:一组赋名的相关联字符流的集合(无结构文件或流式文件)或是相关联记录的集合(主要用于数据库系统等信息管理)。
- 什么是文件系统:操作系统中与管理文件有关的软件和数据称为文件系统。
- 文件分类:
- 按性质用途分:系统文件、库文件、用户文件
- 按组织形式分:普通文件、目录文件、特殊文件
- 文件逻辑结构:
文件的逻辑结构是用户可见结构。
分成2种形式:- 字符流式无结构文件,是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。
- 记录式有结构文件, 是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。
有 连续结构、多重结构、转置结构、顺序结构。
- 文件的物理结构:文件在存储设备上按一定顺序存放,这种存放方式称为文件的物理结构。
常用物理结构:- 连续文件:逻辑连续的文件信息依次存放在连续物理块中(不宜动态增长或删除)
- 串联文件(链接文件):使用链表形式,每个物理块中单独设置一个指针域。(不宜随机存取(直接存取))
- 索引文件:使用索引表映射逻辑号和物理块号(满足直接存取和动态增长)(要和主文件配合使用)。
- 文件存取方法:
- 顺序存取(按逻辑地址顺序存取)
- 随机存取(直接存取)(移动读写指针到任意位置、或根据记录编号存取)
- 按关键字存取(线性搜索、散列法、二分搜索)
- 文件目录:
把文件名和对该文件实施控制管理的控制管理信息称为该文件的文件说明。文件说明信息称为文件目录。是文件系统最基本的数据结构 - 目录文件:文件说明组成目录文件。
- 文件目录分类:
- 单级目录
- 二级目录(主目录MFD+用户文件目录UFD)
- 多级目录:目前广泛采用的目录结构形式是树型目录结构(层次清晰、查找速度快、解决文件重名问题)
- 磁盘空间管理的方法:
- 空闲文件目录
- 空闲块链
- 位示图
-
文件的六种操作:
- 创建文件
- 撤销文件
- 读文件
- 写文件
- 打开文件
- 关闭文件
- 记录的4中操作(增删改查):
- 检索
- 插入
- 修改
- 删除
- 验证用户的存取操作的四种方式:
存取控制矩阵、存取控制表、口令、密码 - 文件的四级安全管理:
系统级、用户级、目录级、文件级 -
存储设备存取方式:
第九章 设备管理
-
外围设备和内存之间的常用数据传送控制方式(I/O控制方式):
- 程序直接控制方式
- 中断控制方式
- DMA方式
- 通道方式
-
SPOOLING(即外部设备联机并行操作,Simultaneous Peripheral Operation On-Line):是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”:
四部分组成:- 输入/输出井
- 输入缓冲区/输出缓冲区
- 输入进程和输出进程
- 请求打印队列
将独占设备改造为共享设备,实现了虚拟设备功能。
中断请求:中断源向CPU剔除进行处理的请求、
设备独立性:即应用程序独立于具体使用的物理设备。
-
通道方式:
- 选择通道:对于高速的设备要求较高的数据传输速度,只能一次对一个设备进行操作。缺点是设备申请使用通道的等待时间较长。
- 数组多路通道(又称成组多路通道):以数组(数据块)为单位,有传输速率高和能分时操作的特点,主要连接中速块设备。在实际系统中得到较多的的应用。可提高通道的数据传输的吞吐率。
- 字节多路通道:用于连接多个慢速的和中速的设备,这些设备的数据传送以字节为单位。
-
缓冲的作用:
- 匹配外设与CPU之间的处理速度
- 减少中断次数和CPU中断处理时间
- 解决DMA或通道方式的瓶颈问题
-
中断:
中断包括软件中断(软中断不可屏蔽)和硬件中断(硬中断)。- 软中断为内核触发机制引起,模拟硬件中断。
- 硬件中断又分为
- 外部中断(可屏蔽):为一般外设请求
- 内部中断(一般称为陷阱,不可屏蔽):包括硬件出错(掉电,校验,传输)和运算出错(非法数据,地址,越界,溢出)
-
设备分配数据结构:
- 设备控制表:反应设备特性、设备和I/O控制器的连接情况
- 系统设备表:整个系统一张,为每个连接到系统的物理设备设置一个表项,记录其情况
- 控制器表:每个控制器一张,反应I/O控制器的使用状态和通道连接情况(DMA时是没有的)
- 通道控制表:只在通道控制方式的系统存在,每个通道一张。
I/O操作的物理条件:通道、控制器、所需设备。
-
设备分类:
根据设备用途可以分为以下两类:- 存储设备
- 输入/输出设备