操作系统
第一章 绪论
1、操作系统定义
管理和控制计算机中的硬件和软件资源,合理组织计算机工作流程 并为用户提供交互界面的程序模块集合
2、操作系统类型
-
批处理操作系统
(用户脱机使用计算机、多道程序运行、成批处理)
-
实时操作系统
(实时时钟管理、连续人机对话、过载保护)
-
分时操作系统
(时间片轮转、具有交互性、多用户同时性、独立性)
-
个人操作系统
-
网络操作系统
3、操作系统功能
-
处理机管理
解决处理机分配调度策略、分配实施和资源回收的问题
-
存储器管理
对存储器的分配、保护和扩充的管理
-
设备管理
通道、控制器和输入输出设备的分配和管理
设备独立性
-
文件管理
管理系统的软件资源
-
用户界面
提供一个友好的用户接口
4、操作系统特征
- 并发性
- 共享性
- 不确定性
- 虚拟性
第二章 操作系统用户界面
1、作业定义
在应用业务中 用户要求计算机所做的有关该次业务的全部工作称为一次作业。
2、一般用户输入输出方式
-
联机输入输出
大多运用在交互式系统中。速度太慢
-
脱机输入输出
快速输入的优点,没有人工干预
-
直接耦合方式
-
spoling系统(目的:独占设备虚拟成共享设备)
外围设备同时联机操作。spooling系统中,多态外围设备通过通道或DMA器件和主机与外存连接起来。
作业的输入输出过程由主机中的操作系统控制,输入程序包含两个独立过程:
1.负责从外部设备把信息读入缓冲区;
2.负责把缓冲区的信息送到外存输入井中。
通道:一个独立于CPU的专管输入输出的处理机,它控制外设或外存与内存之间的信息交换。
-
网络联机输入输出
第三章 进程管理
1、进程定义、特征
定义:进程实体运行中 系统分配和调度资源的基本单位。
特征:动态性、并发性、独立性、异步性
2、进程状态转换图
3、进程同步与互斥–前驱图、生产者与消费者
4、进程通信类型
高级通信:交换信息数量
低级通信:注重执行的速度。
高级通信:主从式 、会话式、消息缓冲机制(公用)、邮箱通信(私用)。
5、死锁问题–银行家算法
6、线程与进程之间区别、线程状态转换图
进程和线程的区别:
-
调度
进程是系统分配和调度资源的基本单位。
处理机调度的基本单位是线程 ,是进程的一个组成部分
-
并发性
在引入了线程的操作系统中,不仅进程之间可以并发,同进程中的线程之间也可以并发,可以说有了线程,操作系统的并发性得以提高。
-
拥有资源
进程拥有系统资源,而线程不拥有系统资源,但可以访问隶属进程的资源
-
系统开销
在创建或撤消进程时,系统都要为之创建和回收进程控制块,分配或回收资源,开销比线程大;
-
进程的多线程都在进程的地址空间活动
-
线程在执行过程中,需要同步
-
线程只由相关堆栈(系统栈或用户栈)寄存器和线程控制表TCB组成。
-
进程切换时,涉及到有关资源指针的保存以及地址空间的变化等问题;线程切换时,由于同一进程 内的线程共享资源和地址空间,不涉及资源信息的保存和地址变化问题,减少操作系统的开销时 间。 进程的调度与切换是由操作系统内核完成,线程既可由操作系统内核完成,也可由用户程序进行
线程状态转换图
第四章 处理机调度
1、作业状态,进程和作业之间的关系
-
作业状态:
提交状态、收容状态(后备状态)、就绪状态、完成状态。
提交状态:一个作业在其处于输入设备进入外部存储设备的过程。
收容状态:若一个作业的全部信息被输入进输入井 在未被调度执行前。
就绪状态:大部分处于等待资源的状态。
完成状态:作业运行完毕 但占用资源尚未全部被系统回收。
-
作业与进程关系:
作业:用户向计算机提交任务的任务实体。
进程:计算机为完成用户任务实体而设置的执行实体,是系统分配资源的基本单位。
计算机要完成一个任务实体,必须要有一个以上的执行实体。一个作业是由一个以上的多个进程组成。
2、三种不同调度等级区别
处理机调度等级:
① 作业调度(宏观调度或高级调度)
② 交换调度(中级调度)
③ 进程调度(微观调度或低级调度):抢占式和非抢占式
④ 线程调度
区别:
(1)高级调度—作业调度: 批处理
A.外存输入井处于作业后备队列作业调入内存,创建进程、分配必要资源;
B.再将新创建的进程排在就绪队列,准备执行。
(2)中级调度—对换调度: 只用于提高系统运行效率
按一定算法将外存中已具备运行条件的进程换入内存,而将内存中处于阻塞状态的某些进程换出至外存。 引入中级调度的目的–提高主存利用率和系统吞吐量。
(3)低级调度—进程调度:
进程调度决定就绪队列中哪个进程将获得处理机,由分派程序执行,把处理机分配给进程的操作。 进程调度是最基本调度,任何操作系统都有进程调度。
3、调度算法–先来先服务、最短作业优先、最高响应比
第五章 存储管理
1、存储管理基本任务
- 让每道程序“各得其所”,并在不受干扰的环境下运行
- 向用户提供更大的存储空间
- 实现内存的分配和回收
- 为用户对信息的访问、保护、共享及动态链接等方面提供方便
- 使存储器有较高利用率
2、虚拟存储器概念、特征
概念:进程中的目标代码、数据等虚拟地址组成的虚拟空间称为虚拟存储器
虚拟存储器的物质基础:
-
相当容量辅存(存放大量应用程序的地址空间)
-
一定容量主存
-
地址变换机构
特征:
离散性、虚拟性(最重要的)、对换性、多次性
离散性:在分配内存时采用离散分配的方式
多次性:一个作业被分成多次调入内存
对换性:允许在作业的运行过程中进行换进、换出
虚拟性:能够从逻辑上扩充内存容量,使用者看到的容量远大于实际内存容量
3、静态重定位和动态重定位的区别
静态重定位:在程序装入指定内存区时,由重定位装入程序(软机构)一次性完成的地址映射方式。地址映射简单,容易实现,无需硬件支持。一旦重定位完成,程序就不能在存储器中搬移。
动态重定位:地址映射是在程序执行过程中执行的,由硬件地址映射机构完成。其是在程序执行期间伴随着指令的执行逐步完成的
4、分区、分页、分段三者之间的区别
分区:是给每个内存中的进程划分一定大小的存储区,以连续存储各进程的程序和数据,使得各进程并发执行,具有连续性
分段:将程序按内容或过程关系划分成若干段,每个段都有自己的名字,是离散性的,访问次数访问两次。
分页:讲各进程的虚拟空间划分成若干长度相等的页,是离散性的存储管理,减少了内碎片
5、页式地址变换
6、覆盖技术与交换技术概念
覆盖技术:要求程序员提供一个清楚覆盖结构,即程序员必须完成把程序划分成不同的程序段,并规定好执行和覆盖顺序工作。
交换技术:将内存某部分的程序或数据写入外存交换区;外存交换区中调入指定程序或数据到内存,并让其执行的一种内存扩充技术。
覆盖交换的区别:
与覆盖技术相比,交换不要求程序员给出程序段之间的覆盖结构,而且,交换主要是在进程或作业之间进行,而覆盖则主要在同一个作业或同一个进程内进行。另外,覆盖只能覆盖那些与覆盖程序段无关的程序段。
7、请求页面置换算法–先来先服务、最近最久未使用、理想型
第八章 文件系统
1、文件系统功能
- 文件存储空间管理(最基本):提高存储空间利用率。
- 目录管理:提高对文件检索速度。
- 文件读/写管理:提高对文件的读写速度。
- 文件安全性管理:防止文件被盗或者被破坏。
- 向用户提供接口:方便用户使用文件系统
2、文件、文件系统的概念
文件:计算机系统中具有标识符(文件名)的一组相关信息集合。
文件系统:操作系统中与管理文件有关的软件和数据。
3、文件逻辑结构的存取方法
有结构文件(记录式文件)、无结构文件(流式文件)
文件逻辑结构存储方法:
顺序存取法、随机存取法(直接存取法)、按关键字存取法。
4、文件物理结构的三种类型,每种类型含有的优缺点
文件物理结构分类:连续文件、串联文件、索引文件。
连续文件:(最简单)
优点:
① 存取速度较快
② 支持顺序存取和随机存取
缺点:
① 连续的存储空间
② 产生碎片问题
③ 不利于文件的动态扩充
串联文件:
优点:
① 解决外存碎片,提高外存空间的利用率
② 便于文件长度的动态增长
③ 有利于文件的插入和删除
缺点:
① 可靠性问题–如指针出错
② 更多的寻道次数和寻道时间
③ 链接指针占用一定的空间
索引文件:
优点:
① 可进行随机访问
② 可进行文件的增删
缺点:
① 不利于索引表动态增加
② 增加存储时间开销
5、磁盘调度算法–先来先服务、最短寻到优先、扫描策略
6、文件目录类型
单级目录、二级目录和多级目录
- 单级目录:一种最简单、最原始的目录结构。
- 二级目录:为改变单级目录中文件命名冲突问题和提高对目录表的搜索速度,单级目录被扩充成二级目录。
- 多级目录:二级目录的层次关系加以推广,形成多级目录。多级目录结构中,最低一级的物理 块中装有文件信息,其他每一级目录中存放的是下一级目录或文件说明信息,形成层次关系, 最高层为根目录,最低层为文件。 分绝对路径和相对路径。
- 目录管理:
- 目录:FCB有序集合,每个FCB为一个目录项
- 目录文件:目录以文件形式存放在外存。
- 目标:实现安明存取文件,提高对文件的检索速度,并能为文件共享和重名提供方案。
第九章 设备管理
1、设备管理的目标和任务
设备管理目标:提高设备的利用率、设备独立性、字符编码的独立性、设备处理的一致性。
设备管理主要任务:
- 选择和分配输入输出设备以便进行数据传输操作
- 控制输入输出设备和CPU之间交换数据
- 为用户提供友好的透明接口
- 提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作度
- 保证多道程序环境下,按一定策略分配和管理各种设备
2、4种数据传输控制方式之间的区别
4种常用的数据传送方式:程序直接控制方式、中断控制方式、DMA方式、通道方式。
外围设备和内存之间的常用数据传送控制方式有4种:程序直接控制方式;中断控制方式;DMA方式;通道方式。
程序直接控制方式与程序中断方式的区别是:程序查询方式是主机与外设间进行信息交换的最简单方式。输入输出完全通过CPU执行程序来完成。而程序中断方式无需等待查询,外设在做好输入输出准备时,向主机发中断请求,主机接到请求后就暂时中止原来执行的程序,转去执行中断服务程序对外部请求进行处理
DMA方式与中断方式的主要区别:中断方式时是在数据缓冲寄存器满之后发中断要求CPU进行中断处理,而DMA方式则是在所要求转送的数据块全部传送结束时要求CPU进行中断处理。这就大大减少了CPU进行中断处理的次数;中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式是在DMA控制器的控制下不经过CPU控制完成的。这就排除了因并行操作设备过多时CPU来不及处理或因速度不匹配而造成数据丢失等现象。
通道与DMA方式不同的是,在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由专管输入输出的硬件——通道来进行控制。另外,与DMA方式时每台设备至少一个DMA控制器相比,通道控制方式可以做到一个通道控制多台设备与内存进行数据交换,从而,通道方式进一步减轻了CPU的工作负担和增加了计算机系统的并行工作程度。
或者是:
程序直接控制方式和中断控制方式都只适用于简单的、外设很少的计算机系统,因为程序控制方式耗费大量的CPU时间,并无法检测与发现设备或其他硬件产生的错误,而且设备和CPU、设备和设备之间只能串行工作。中断控制方式虽然在某种程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花较多的时间处理中断,而且能够并行操作的设备台数也受到了中断处理时间的限制,中断次数增多会导致数据丢失。DMA方式和通道方式较好地解决了上述问题,采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发生中断信号,要求CPU做善后处理,从而减轻了CPU的工作负担。他们的区别是:DMA方式要求CPU执行设备驱动程序来启动设备,给出存放数据的内存起始地址以及操作方式和传送字节长度等;而通道方式则是在CPU发出I/O启动之后,由通道指令来完成这些工作。
3、中断概念、中断处理过程
中断概念:计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使CPU暂时中断当前正在执行的程序,转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
中断处理过程:
① CPU检查响应中断条件是否满足
② 响应中断,关中断,使其进入不可再次响应中断状态
③ 保存被中断进程现场
④ 分析中断原因,调用中断处理子程序
⑤ 执行中断处理子程序
⑥ 退出中断,恢复现场或调度新进程占据处理机
⑦ 开中断,CPU继续执行
4、缓冲的目的、缓冲类型
缓冲的目的:
① 缓和CPU与I/O设备间速度不匹配的矛盾
② 减少对CPU中断频率,放宽对CPU中断响应时间限制
③ 提高CPU和I/O设备之间的并行性
缓冲的种类:单缓冲、双缓冲、多缓冲、缓冲池。区分和主要工作
四个表格:
设备控制表(DCT)、系统设备表(SDT)、控制器表(COCT)、通道控制表(CHCT)
作用:
(最重要)设备控制表(DCT):反映设备特性、设备和I/O控制器的连接情况。系统中每个设备必须有一张DCT,动态地修改。
系统设备表(SDT):反映系统中设备资源的状态
控制器表(COCT):每个控制器一张,反映I/O控制器的使用状态以及和通道的连接情况等。
通道控制表(CHCT):只在通道控制方式的系统中存在,每个通道一张,包括通道标识符、通道忙/闲标识、等待获得该通道的进程等待队列的队首指针与队尾指针等
5、设备分配的数据结构
设备分配方式:静态分配和动态分配
设备独立性:用户程序不直接使用物理设备名或设备的物理地址,只能使用逻辑设备名;系统实际执行时,将逻辑设备名转换为某个具体的物理设备名,实施I/O操作。
设备独立性优势:
- 设备分配具有灵活性
- 易于实现I/O重定向
设备独立性优点
-
方便用户
-
提高设备利用率