2022年操作系统复习,适用于结课考试。

第一章

问答题

1.开发使用OS的目的

操作系统统一的控制和管理计算机所拥有的硬件和软件资源,使之可以得到更加合理的共享和尽量好的性能;

操作系统可以更加合理地组织计算机系统程序的运行,提高系统的处理性能;

操作系统能够为应用程序和用户提供方便的计算机使用接口。

功能:进程管理、存储管理、设备管理、文件管理、网络通信与服务、安全与保护

2.OS的特征

并发性

注意:
并发行是指两个或多个事件在同一时间间隔内发生的、同时处于活动状态的特性,在宏观上是并行,但是在微观上依旧是串行
并行性是指两个或多个事件在同一时刻发生,在宏观和微观上都是并行,他实现的基础是要有多个处理器。

共享性

主要是资源共享,内存中并发运行的多个程序可以共享计算机的硬件资源和软件资源。
互斥共享方式:在一个时间段允许多个用户程序使用某个资源,但是在任意具体时刻只有一个用户或者进程可以真正的使用资源,其他的都必须等待。例如对于打印机资源就是一种互斥共享的方式。
交替共享方式:宏观上允许一段时间内多个用户和程序对资源进行同时访问,但是在微观上这些程序和用户对资源的访问可能是交替进行的。例如:对磁盘的访问就是按照某种顺序以交替共享方式进行的。

虚拟性

一个物理实体映射成一个或多个逻辑对象
例如:只有一个CPU的计算机每个时刻只能运行一道程序,但是通过多道程序设计技术和分时使用。在一段时间内,宏观上这个CPU能同时运行多道程序。
内存,CPU,以及外部设备都采用了虚拟技术,从逻辑层面扩充了物理设备的数量。操作系统在资源的使用上更加灵活,不受物理设备数量的限制。

随机性

随机性也叫异步性,是指每道程序何时运行,各个程序运行的顺序以及每道程序所需的时间都是不确定的,也是不可预知的。
由于资源等因素的限制,程序的运行通常不是一气呵成,而是走走停停。
随机性并不是说操作系统不能很好的控制资源的使用和程序的运行,而是强调操作系统的实际要考虑各种可能性,以便稳定、可靠、安全,高效的达到程序的并发和资源共享的目的。

OS四个特征之间的关系

并发性共享性是操作系统最基本的特征,两者相互依存
虚拟性扩充了物理资源的数量和功能,可以帮助实现更大程度的共享和并发
虚拟性并发性共享性为前提。
异步性并发性共享性的必然结果。

3. 操作系统的发展阶段

手工操作阶段:

资源独占:计算机全部的硬件资源由一个程序使用;

串行工作:各组件之间是串行工作的;

人工干预:计算机在程序员的直接干预下进行工作。

单道批处理阶段:脱机输入输出,同一时刻只能系统中只有一道程序。

多道批处理阶段:每次往内存中输入多道程序,并且引入中断机制,各个程序之间并发执行。但是只能脱机操作,用户在作业进入系统以后不能干预作业的运行。操作系统正式诞生。

分时操作系统:计算机以时间片为单位为各个用户服务,解决了人机交互的问题。公平的。

实时操作系统:可以优先响应一些紧急的任务。要在严格的时间以内完成任务。

其他操作系统:网络操作系统、个人计算机操作系统、分布式操作系统

多道程序设计

基于通道中断机制
通道实质上是一种速度较慢,价格较便宜,专门用于控制外部设备,且能独立于CPU又与CPU并行工作的处理器。
在多道程序系统中,多道程序微观上交替的顺序执行,即在某一时刻只有一道程序在运行。在宏观上,各道程序都向前推进了。
并行,共享,分时是现在所有操作系统的特征。

多道批处理系统

特点
优点:可以实现多道程序的并发执行,共享计算机的硬件和软件资源

每次可以往内存中输入多道程序,引入中断技术,各个程序可以并发执行。
缺点:脱机操作
用户与他的作业没有交互作用,作业一旦进入系统,用户就不能干预其作业的运行,因此,批处理系统一般用于进行常规调试好的程序,如:每天计算机系统统计、分析程序等。

4.OS的分类

批处理操作系统

用户将作业交给系统操作员,系统操作员将很多作业组成一批作业,之后输入计算机中,在系统中实现一个自动转接的连续作业流,然后启动操作系统,系统自动依次运行每个作业。最后由操作员将运行的结果交给用户。

分时操作系统(P11)

  • 适应用户人机交互需要产生;
  • 在一台计算机上连接若干终端(显示屏,键盘,打印机),用户通过终端与计算机对话控制程序运行;
  • 使用多道程序处理方法;
  • 轮转时间片分配给用户;

主要特征

  • 同时性
    各终端用户同时工作,系统分时响应各用户的请求。
  • 交互性
    支持联机操作方式,用户在终端通过OS进行人—机对话,随时控制和调试程序,以交互的方式工作。
  • 独立性
    各用户之间彼此独立工作,好像独占一台计算机系统,互不干扰。
  • 及时性
    用户的请求在短时间内可以得到响应。

实时操作系统(P12)

  • 计算机及时响应外部事物的请求,并以足够快的速度完成对外部事物的处理;
  • 初期主要用于过程控制以及实时信息的处理。
    过程控制
    也称实时控制;
    物理量——>数字信号(模—数转换器),数字信号加工——>控制信号;(数—模转换器)
    实时信息处理
  • 信息处理系统,银行系统、铁路系统、飞机票订票系统……
  • 用户通过终端提出服务请求,系统在短时间内通过终端与用户一系列询问会话,完成要解决的任务。
  • 也会配有多个终端设备,实时操作系统也采用分时的方式来处理同时询问,这类实时系统与分时操作系统区别:
    1、实时操作系统中的程序是预先编辑好的,不允许修改,仅允许操作员使用终端进行询问,交互性较差;分时操作系统用户可以通过终端与与操作系统进行交互,交互性较好。
    2、实时操作系统响应速度比分时操作系统快得多,分时操作系统的响应速度较慢,只要用户满意即可。

OS接口(P14)

程序接口

  • 程序接口是操作系统提供给程序使用操作系统服务和功能的接口,通常通过系统调用应用程序编程接口(API)。
  • 系统调用
  • 用户程序和其他系统程序获得操作系统服务的一种途径。
  • API
  • 操作系统的系统调用经过规范整理出来的,为开发者开发程序提供了便利。

操作接口

  • 操作接口是向用户提供的可以操纵计算机的接口,随着计算机运行速度的加快,出现了多种接口。
  • 命令界面
  • 用户通过输入命令使用计算机接口
  • 图形界面
  • 窗口、图标、鼠标、滚动条……
  • 作业控制命令
  • 专门为批处理作业的用户提供,因此也叫批处理用户接口。

分布式操作系统和计算机网络的区别:

分布式操作系统不再是简单的资源共享,它还负责任务的整体分配和共同分担。分布式操作系统具有整体性,网络操作系统是分散的不具备整体性。

第二章

问答题

1.程序的顺序执行(P31)

(顺序性,封闭性,可再现性)

2.程序的并发和并行运行(P31)

(间断性,开放/交互性,不可再现性)

3.程序,进程,作业

程序:静态的代码文件。可以是二进制机器指令,也可以是高级语言。

进程:可并发运行的程序在某个数据集上一次运行的过程,是操作系统资源分配、保护和调度的基本单位。包括程序段数据段和PCB。

作业:一般指批处理系统要装入系统运行处理的一系列程序和数据。

4.进程的状态与转换

  1. 三种基本状态:运行态、就绪态、阻塞态。(三态)

    另外两种状态:创建状态、终止状态(五态)

    • 运行态:占用CPU,并在CPU下运行。单核处理机每个时刻最多一个进程处于运行态。
    • 就绪态:已经具备运行条件,拥有除了处理机以外的所有资源。没有空闲的CPU。
    • 等待态:因等待某一件事情而不能运行。请求I/O操作之类,进程从运行态到阻塞态等待IO操作完成。
    • 创建态:新建进程,分配存放的空间,新建PCB。
    • 终止态:出现错误或者进程完成。要回收资源。内存区域也要回收,要删除PCB。
  2. 进程状态的转换:

    • 创建态—>就绪态:系统完成了创建进程的一系列工作。

    • 就绪态—>运行态:进程被调度;

    • 运行态—>就绪态:时间片到或者处理机被抢夺;

    • 运行态—>阻塞态:进程用系统调用的方式申请某种资源,或者请求等待某个事件发生。运行态到阻塞态是进程自身做出的主动行为

    • 阻塞态—>就绪态:申请的资源被分配,或者等待的事情得到了发生。被动行为

    • 不能从阻塞态到进行态,也不能从就绪态到阻塞态(因为进入阻塞态是被分配到处理机的进程的主动行为)

    • 运行态—>终止态:进程运行结束,或者运行过程中遇到了不可修复的错误。

进程三态(P34)

(就绪,运行,阻塞/等待)

进程五态(P35)概率不大

(新建,终止,就绪,运行,阻塞/等待)

进程七态(P36)

(新建,终止,就绪,运行,阻塞/等待,挂起就绪,挂起阻塞)

5.阻塞与唤醒进程:(P39)

进程阻塞是自主行为;进程唤醒是被动行为

6.挂起与激活进程:(P40)

挂起原语可以由该进程自己调用,也可以由其他进程或系统调用;激活原语只能由其他进程或系统调用

7.进程的同步与互斥

死锁:一组进程均只占有部分所需资源而无法继续执行,陷入阻塞,死等其他进程释放资源的状态,最终这一组进程都陷入永远等待的状态。

饥饿:进程被调度程序长期忽视而分配不到CPU运行。

互斥:若干进程因相互竞争独占性资源而产生的竞争制约关系称为互斥

同步:为完成共同任务的并发进程,需基于某个条件来协调其运行进度、执行次序而等待、传递信息或消息产生的协作制约关系称为同步

互斥是一种特殊的同步————以一定次序协调使用共享资源。

临界资源和临界区(P41)

临界资源:某段时间内只允许一个进程使用的资源称为临界资源;

临界区:访问临界资源的代码称为临界区。

8.PV操作与信号量机制(P45)

  • 信号量表示系统资源的实体,是一个与队列有关的整形变量,具体实现时,信号量是一种记录型数据类型,有两个分量,一个是信号量的值,另一个是信号量关联资源上阻塞队列的头指针。

  • 信号量在操作系统中的主要作用是:封锁临界区、进程同步和维护资源计数。

  • 除了赋初值之外,信号量只能通过PV操作进行修改。

9.PV操作(P45) 定义

PV操作代码题 goodnotes

10.调度算法(P57-P62)

  • 进程调度:在操作系统中,由于进程的总数一般多余CPU的总数,所以必然会出现竞争CPU的情况,进程调度的功能就是按照一定的策略动态的的CPU分配给处于就绪队列的某一进程执行。
  • 周转时间:作业提交给系统开始到作业完成为止的间隔时间;平均周转时间是各个作业周转时间的平均值。
  • 高级调度:有称为作业调度,分时和实时操作系统中没有高级调度;其功能是根据一定的算法,从后备作业中选出若干作业,分配必要的资源,将其程序或数据调入内存,等待进程调度程序对其执行进程调度,并在作业完成后做善后处理工作。
  • 中级调度:又称为平衡调度,采用虚拟技术,其功能是在内存使用紧张的情况下,将一些暂时不能运行的进程从内存转换到外存中等待。在之后内存中有足够的空间时,再将合适的进程重新转换到内存中,等待进程调度。
  • 低级调度:有称为进程调度,主要功能是根据一定的算法将CPU分配给就绪队列的一个进程。

11.死锁

死锁的概念

  • 如果一个进程集合中的每个进程都在等待只有由该集合中的其中一个进程才能引发的事件。则称一组进程或系统此时发生了死锁。

  • 死锁可以发生在两个,多个甚至全部进程之间。

死锁产生的原因

  • 并发进程对临界资源的竞争

  • 并发进程推进顺序不当

死锁产生的必要条件(P66)

  • 互斥条件
  • 请求与保持条件
  • 不剥夺条件
  • 环路等待条件

破坏死锁:

  • 破坏互斥条件:把资源改成可以同时使用的资源而不再是互斥资源。spooling技术改成共享设备!
  • 破坏不能剥夺条件:进程还没使用完资源,可以强行剥夺资源。看情况!实现起来很复杂而且只适用于易保存的。而且系统开销很大。
  • 破坏请求和保持条件:静态分配方法;在进程运行前一次申请完他要的全部资源,资源不满足就不运行。这样他就不会请求了。不过很浪费而且饥饿现象。
  • 破环循环等待:给系统资源编号,每个进程必须按照编号递增的顺序请求资源。(一个进程已经拥有了小资源才能申请大资源,而且大编号进程不可能逆向申请小编号资源,所以不能循环起来)不过增加设备很麻烦。。。而且有可能进程使用资源顺序和资源编号递增顺序不一致。

进程资源分配图

  • 进程结点:每个节点对应一个进程,圆形表示

  • 资源节点:每个节点对应一类资源,一类资源里面可能有多个,矩形表示资源节点,矩形中的小圆代表该类资源的数量

  • 两种边:进程节点->资源节点:表示进程想请求几个资源,每条边代表一个

    ​ 资源节点->进程节点:表示已经为进程分配了几个资源,每条边代表一个

在资源分配图中,找到既不阻塞也不孤立的进程,消去他的所有分配边和请求边,使之成为孤立的节点。该进程释放的资源,可以唤醒某些因为等待这些资源而阻塞的进程,原来的阻塞的进程变成了非阻塞的进程。若能消去所有的边,那么这个图就是可以简化的。

  • 资源剥夺法:挂起某些死锁进程,并且抢占他的资源,将这些资源分配给其他死锁进程。但是应该防止被挂起进程长期得不到资源而饥饿。
  • 撤销进程(终止进程):强制撤销部分、甚至全部死锁进程,并且剥夺这些进程资源。不过代价很大,功亏一篑啊。
  • 进程回退:让一个进程回退到足以避免死锁的状态。要记录历史信息,设置还原点。

银行家算法

第三章 内存(数据交换中心)

计算

1.逻辑地址<相对地址>到物理地址<绝对地址>转换

2.请求页式存储管理缺页中断次数

简答题

存储器分为系统区和用户区。

1.内存管理的功能(P96<没标页码>)

  • 内存的分配和回收
  • 实现地址的转换(地址重定位)
  • 内存的共享与保护:提高内存的利用率
  • 内存扩充:提高内存的利用率

2.地址转换(P99)

静态重定位:

  • 在用户作业装入内存时由装入程序(装配程序)实现从逻辑地址到物理地址的转换。地址转换在作业执行前一次完成。
  • 特点
    不需要专门硬件的支持;
    但是必须要为程序分配一段连续的存储空间;
    而且在程序执行过程中不能在内存中移动。

动态重定位:

在程序执行过程中,CPU在访问程序和数据之前才实现从逻辑地址到物理地址的转换。

物理地址=逻辑地址+定位寄存器中的值

  • 特点
    需要附加硬件
    可以实现程序在内存中的移动。(改变定位寄存器中的值)

3.覆盖技术与交换技术(P100)

覆盖技术

一个程序通常由若干功能上独立的程序段组成,在运行时,并不是所有的程序段都同时进入内存中运行。可以按照程序自身的逻辑结构,让不同时运行的程序段先后共享同一块内存区域,这就是覆盖技术。(多用于早期的操作系统中)

覆盖技术的缺点:

  • 对用户不透明,用户在编程时必须划分程序模块和确定程序模块之间的覆盖关系,增加了编程的复杂度。
  • 从外存装入覆盖文件是以时间的延长来换取空间的节省。

交换技术

为了释放部分内存空间,由操作系统根据需要将某些暂时不运行的进程或者程序段从内存移到外存的交换区中;当内存空间富余时再给被移出的进程或者程序段重新分配内存,让其进入内存,这就是交换技术。(又称对换滚进/滚出技术)

交换技术的分类:

  • 以整个进程为单位的交换(多用于早期的分时系统,以实现在小型机上的分时运行)(习惯上
  • 进程的一部分为单位进行交换

交换技术与覆盖技术的比较

  • 与覆盖技术相比,交换技术不需要用户给出程序段之间的逻辑覆盖结构;
  • 交换发生在进程或作业之间,而覆盖发生在同一进程或者作业内;
  • 覆盖只能覆盖掉那些与覆盖段无关的程序。
  • 覆盖技术主要在早期得计算机系统中使用,而交换技术在现代计算机中仍有应用。

4.分区内存管理

单一连续内存管理(P102)

作业按照次序进入贮主存运行,程序装入内存,从内存用户区基地址开始投放。运行钟,程序独占内存直到退出。

  • 静态或动态重定位
  • 静态重定位:界限寄存器中存放界限地址

固定分区内存管理(P103)

把内存空间分割成若干个大小固定的连续区域。每个区域只能装一个用户作业。可以装入多道程序。所以支持多道程序并发。

  • 静态或动态重定位

  • 上限寄存器

  • 固定分区的划分在操作系统初始化的时候完成。在系统启动时,系统管理员根据要运行的作业需求划分分区。

可变分区内存管理(P105)

分区大小数目可变。

  • 动态重定位

  • 基址寄存器;限长寄存器

  • 不确定分区的大小和数目

可变分区内存分配与回收
  • 空闲分区表格管(可变分区内存管理的内存分配表<已分配区情况表><未分配区情况表>)
  • 双向空闲分区列表

可变分区的内存分配算法(P106)

最先适应分配算法
  • 每次分配,总是从开始顺序查找未分配区情况表双向空闲分区链表,将找到的第一个可以能满足长度要求的空闲分区分配给用户使用。

  • 算法的缺点是系统每次都是从未分配区情况表双向空闲分区链表的开始查找空闲分区,低地址段的空闲区不断被分割,形成许多小的,难以利用的空闲分区,这样的小空闲分区称为“碎片”;同时每次都从开始查找,花费的时间较长

循环首次适应分配算法
  • 是对最先适应分配算法的改进;

  • 从上次作业分配区后的位置开始查找。

最先适应分配算法循环首次适应分配算法比较:

  • 循环首次分配算法克服了最先适应分配算法的缺点,使空闲分区的分布更加均匀查找空闲分区所需要的时间更短
  • 但是两者都没有解决小分区的“碎片”问题。
最优适应分配算法
  • 最优适应分配算法是从空闲区挑选出一个能满足作业要求的最小分区,这样可以避免分割一个更大的区域,使大作业更容易装入。
  • 空闲分区按照长度递增顺序排列,每次分区大小改变排序做出调整。

缺点:

  • 最优适应分配算法找出的分区一般都无法正好满足作业内存要求,分割后剩下的空闲区很小,无法再次使用,成为“碎片”;
  • 这些小的空闲分布区占据了空闲分区表格开始的部分,增加了查找空闲分区表格或双向空闲链表的时间开销。
最坏适应分配算法
  • 从空闲分区中挑选一个最大的分区供作业使用,这样可以减小“碎片”的数量;
  • 对中小型作业比较有利。

缺点:

  • 随着系统的运行,大空闲区会不断减少,这样,大的作业可能无法装入内存。
快速适应分配算法
  • 快速适应算法把不同长度的空闲分区归类,为每种长度的空闲分区设立单独的双向空闲分区链表,这样系统中就存在多个双向空闲分区链表。

  • 作业装入时,根据作业的大小,找出能够容纳该作业的最小双向分区空闲链表的起始指针,取出第一个空闲分区分配给该作业。

优点:

  • 查找空闲分区迅速;
  • 找到的空闲分区是能够容纳他的最小空闲分区,这样能够保留大的空闲分区。

缺点:

  • 回收分区困难,算法较复杂,系统开销大。

可变分区内存分配算法的比较:

  • 搜索空闲分区的速度以及内存利用率来看:最先适应分配算法循环首次适应分配算法最优适应分配算法最坏适应分配算法性能好。

  • 如果空闲分区按照从小到大的顺序排列,则最先适应分配算法等于最优适应分配算法

  • 如果空闲分区按照从大到小的顺序排列,则最先适应分配算法等于最坏适应分配算法

  • 空闲分区按照从小到大的顺序排列时,最先适应分配算法优先使用低地址区,这样在高地址区有较多较大的空闲分区来容纳大作业;

  • 循环首次适应分配算法会使存储空间得到均衡使用;

  • 最优适应分配算法的内存利用率最好,他把刚好或最接近申请要求的空闲分区分配给作业;但是,他可能导致空闲分割下来的部分很少。

5.紧凑技术(P108)

紧凑技术可以汇集内存中的空闲分区,但也增加了系统开销。

以下是非连续:

6.页式存储管理(P109)

  • 非连续存储方式(离散分配方式);
  • 打破了程序的连续性整体性
  • 把用户的逻辑地址空间划分为多个子部分,以子部分为单位装入物理内存;
  • 这些子部分可以分布在若干非连续的内存块(物理内存)上,实现离散存储,以充分利用内存;
  • 逻辑地址(页大小)<-------->物理地址(块大小);
  • 物理块的大小由计算机的硬件系统决定,页的大小由块的大小决定。
页式存储管理的地址转换:(P111)
  • 逻辑地址到物理地址的转换需要硬件来完成;
  • 页表:逻辑地址中的页号和内存中物理块号对应关系
  • 作业表:登记作业的页表起始地址和长度(只有一个)
  • 出计算题的。/和mod
快表
  • 为了提高存取速度,计算机系统中设置一个专用的高速缓存器,用来存放页表的一部分,这种高速缓冲存储器称为相联存储器,存放在相联存储器中的页表称为快表
  • 整个系统只有一个相联存储器,只有占用CPU的进程才能占用相联存储器。
页的共享与保护(P112)
多级页表

主要是二级页表,分为三部分:先访问页目录表,再访问页表页,最后访问物理地址。

7.段式存储管理(P115)

  • 程序中每一段逻辑地址都是从0开始;
  • 用户决定逻辑地址如何划分;
  • 对段式内存管理的内存分配方式类似于可变分区的内存分配方式,但是可变分区的内存分配方式一次装入一个程序,段式分配内存管理一次仅仅装入一个程序段,所以碎片化更小。
地址转换

段表寄存器
段的共享(P117)

  • 段式存储可以实现数据共享以及代码共享
  • 页式存储管路只能实现数据共享,不能实现代码共享。

8.分段和分页的比较(考的概率很大)

  • 段是信息的逻辑单位,由源程序的逻辑结构决定,用户可见;段长可根据用户的需要来决定;段起始地址可以从任何地方开始。在分段方式中,源程序(段号,段内偏移)经连接装配后仍是二维结构。

  • 页是信息的物理单位,与源程序的逻辑结构无关,用户不可见;页长由系统决定;页面只能以页大小的整倍数地址开始。在分页方式中,源程序(页号,页内偏移)经连接装配变成一维结构。

9.虚拟技术(P118)

  • 将作业不执行的部分暂时存放在外存,当进程需要时再将其从外存调入内存,将外存作为内存的补充,从逻辑上扩充内存。

10.程序的局限性原理(P119)

  • 一段时间内,整个程序的执行仅限于程序中的某一部分。相应的,执行所访问的存储空间也局限于某个内存区域。
  • 时间局限性
  • 空间局限性

11.虚拟存储技术(P119)

  • 虚拟技术的定义
  • 虚拟存储器
    虚拟存储器是指具有请求调入功能和置换功能,能够从逻辑上对内存空间进行扩展,允许用户的逻辑地址空间大与物理内存地址空间的存储器系统。
  • 虚拟存储器的容量由计算机的地址结构和辅助存储器的容量共同决定。

12.请求页式虚拟存储管理(P120)

  • 在页式存储管理的基础上增加了请求调页和页面置换的功能

  • 页面分配和页面调度(P124)

  • 页面置换(P126)

四五章重点总结:

一、设备与内存间的I/0传输控制方式有哪些?轮询中断方式、DMA方式和通道方式的区别?哪种方式占用CPU时间最多?

设备控制方式:

1 .程序循环查询方式(CPU不断发送I/O测试指令用于测试设备控制器的忙/闲标志位,操控简单,但是CPU效率最低,浪费严重,占用CPU时间最多。)

2.中断驱动方式(I/O 操作结束后,设备控制器“自动”地通知设备驱动程序;CPU 与I/O 设备⼀定程度上并⾏⼯作,提⾼系统资源利⽤率和吞吐量,占⽤CPU 时间变短)

3.DMA方式(直接内存访问方式,数据传输的基本单位是数据块、通过DMA控制器控制从内存向设备输入输出,CPU 参与更少,仅仅在传输一个或多个数据块的开始或结束时,才需要CPU干预。)

4.通道方式(DMA方式的发展,以一组数据块的读写以及有关控制和管理为单位,进一步减少CPU的干预,有专门用于I/O的处理单元,I/O通道可以接收CPU发送的I/O指令,通过执行通道程序完成CPU指定的I/O任务)

通道又可以分为:字节多路通道、选择通道,成组多路通道。

二、为什么引⼊缓冲技术?

主要⽤来缓解速度不匹配的问题

作用:

  • 改善CPU 与外围设备之间速度不匹配的⽭盾,提⾼CPU 与I/O 设备的并⾏性;

  • 减少I/O 对CPU 的中断次数和放宽对CPU 中断响应时间的要求;

  • 协调逻辑记录与物理记录⼤⼩不⼀致的问题;

分类:

单缓冲,双缓冲,多缓冲,循环缓冲,缓冲池;

三、设备分配的⼏种⽅式是什么?各有什么优缺点?

设备分配策略:

  • 独占式分配:把设备固定分配给一个用户或进程,直到它运行结束;对⽤户来说使⽤⽅便管理简单,但是造成资源浪费

  • 共享⽅式:被多个⽤户或进程交替使⽤;即一个进程需要便申请它,获得后便使用它,用完之后便释放它。

  • 虚拟⽅式:利⽤快速、共享设备(如磁盘)把慢速、独占设备模拟成为同类物理设备

设备分配算法:

  • 先来先服务

  • 优先级⾼者优先算法

四、spooling 技术(假脱机系统)的功能和基本思想

1、功能

缓和CPU ⾼速性与I/O 设备的低速性之间的⽭盾

2、基本思想

  • 模拟脱机输⼊输出时的外围控制机功能,把低速I/O 设备上的数据传送到⾼速磁盘上,或把数据从磁盘传到低速输出设备上;

  • 输⼊井⽤于收容输⼊数据,输出井⽤于收容输出数据;预输⼊程序把输⼊设备的输⼊信息送到输⼊井,缓输出程序把⽤户输出信息送到输出井;⽤井管理程序协调⼯作。

3、基本组成

(1)输入井和输出井;

(2)输入缓冲区和输出缓冲区;

(3)预输入程序和缓输出程序;

(4)井管理程序。

五、何谓文件的逻辑结构和文件的物理结构?文件在外存上有哪几种存放方式?它们与文件存取方法有什么关系?

文件的物理结构

  • 流式文件:文件内的数据不组成记录,只是依次的一串信息集合,如字节流或字符流,他也可以看成是无结构的或者是只有一个记录的记录式文件,所以也称无结构文件;字节或字符是访问流式文件的基本单位。

  • 记录式文件:记录文件是一种有结构的文件,它是指文件中的数据由若干定长或不定长的记录构成,每条记录又由若干数据项构成。

  • 记录式文件又可以分为顺序文件索引文件

  • 顺序文件是指记录之间按照某种顺序排列组织所形成的文件。

  • 索引文件:为文件建立一张索引表,对主文件中的每一个记录在索引表中都有相应的表项,用于记录该记录的长度以及指向该记录的指针。

  • 文件的逻辑结构是指从用户的观点出发观察到的文件组织形式,用户可以直接处理,独立于文件的物理特性。

  • 文件的物理结构是指逻辑文件在物理存储空间中存放方法和组织关系,又称文件的存储结构。

  • 文件在外存上的存放方式对应了该文件的物理结构,主要有连续文件链接文件索引文件直接文件

  • 连续文件:把一个逻辑上连续的文件信息存放在依次相邻的物理块中的组织形式。(逻辑记录顺序与物理记录顺序完全一致)

  • 链接文件:通过每个物理块上的链接指针将同属于一个文件的多个离散盘块连接成一个链表的组织形式,实现离散分配。

  • 索引文件:系统为文件建立一个索引表,集中记录该文件占用的盘块号。

  • 直接文件:利用哈希函数直接建立逻辑记录的关键字与其物理地址的对应关系。

  • 连续文件和链接文件适合顺序存取,索引文件和直接文件适合按键存取和直接存取。

六、文件目录的组织

  • FCB线性表:目录文件中直接存放该目录下所有文件和子目录的FCB信息,组成一个FCB线性表。
  • 索引节点:把文件目录项中的文件名和其他描述信息分开,后者单独组成定长的一个数据结构,称为索引节点;文件目录中存放的是所有文件和子目录的名称和索引节点号。
  • 哈希表组织:哈希函数以文件名作为自变量计算散列函数的值,以该值作为序号直接定位目录文件中的目录项,然后在目录项中找到块号,该块号所指的块内就存放了该文件的FCB。