单道批处理:
多道批处理:
分时:
实时:
进程管理:
存储器管理:
文件系统管理:
设备管理:
用户接口:
【参考答案】在计算机系统上配置OS,主要目标是实现:方便性、有效性、可扩充性和开放性。
OS的作用主要表现在以下3个方面:
【参考答案】推动OS发展的主要动力表现在:
答:OS具有并发、共享、虚拟和异步这4个基本特征。
它们之间的关系包含以下几个方面。
1.并发和共享是OS最基本的特征。为了提高计算机资源的利用率,OS必然要采用多道程序设计技术,使多个程序共享系统的资源、并发地执行。
2.并发性和共享性互为存在的条件。一方面,资源的共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,就不会存在资源共享问题;另一方面,若系统不能对资源共享实策有效管理,协调好各进程对共享资源的访问,则必将影响程序的并发执行,甚至会使程序无法并发执行。
3.虚拟性以并发性和共享性为前提。为了使并发进程能更方便、更有效地共享资源,OS常采用多种虚拟技术在逻辑上增加CPU和设备的数量以及存储器的容量,从而解决并发进程对有限系统资源的共享问题。
4.异步性是并发性和共享性的必然结果。OS允许多个并发进程共享资源、相互合作,使得每个进程的运行过程受到了其他进程的制约,不再“一气呵成”,这必然会导致异步这一特征的产生。
答:原语是由多条指令组成的用于完成特定功能的过程,而原子操作是不可分割的基本单位,要么全部执行,要么全部不执行。因此,原语在执行过程中是不允许被中断的。原子操作在内核态下执行,常驻内存。
答:一旦CPU响应中断,系统就会开始进行中断处理。中断处理过程主要包括以下3步。
(1) 保护被中断进程的现场。为了在中断处理结束后能使进程正确地返回中断点,系统必须保存当前处理机状态字和程序计数器的值。
(2) 分析中断原因,转去执行相应的中断处理程序。在多个中断请求同时发生时,处理优先级最高的中断源所发出的中断请求。
(3) 恢复被中断进程的现场,CPU继续执行被中断的原进程。
答:系统调用是OS提供给程序员的唯一接口。程序员利用系统调用,在源程序层面动态请求和释放系统资源,并调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个“黑箱子”,对用户屏蔽了OS的具体动作,只提供有关的功能。
系统调用与一般用户程序、库函数的区别在于:
①系统调用(程序)在内核态执行,调用它们时需要一个类似于硬件中断处理机制的中断处理机制来提供系统服务。
②普通的用户程序是直接为用户完成某特定功能而设计的,它们一般在用户态执行。
③库函数是把函数放到库里供别人使用的一种方式,是面向应用开发、方便人们编程的。
单道程序运行时,3道程序使用的时间为:( 30+40+10 )+(60+30+10)+(20+40+20)=260ms。
(2)多道程序运行时,3道程序的计算与IO操作可部分并行,分为非立即抢占式和立即抢占式两种,时间关系图如图1和图2所示。
多道程序运行时,3道程序非立即抢占式的总时间为180ms,立即抢占式的总时间为190ms。
P1:计算60ms, l/O操作 80ms,计算20ms.
P2:计算120ms,I/O操作40ms,计算40ms.
不考虑调度和切换时间,请计算完成两个作业需要的最少时间。
答:该问题分步解答如下。
( 1 ) OS是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以方便用户使用计算机的程序集合。OS是配置在计算机硬件上的第一层系统软件,是对硬件系统的首次扩充;是硬件系统和应用软件间的桥梁;是用户与计算机硬件进行交互的接口;是计算机系统资源的管理者。
( 2 )OS的4个特征:并发、共享、虚拟、异步。
①并发:一段时间间隔内多个进程(线程)并发执行,是宏观上的并行,微观上的串行。②共享:系统中的资源可供内存中多个并发执行的进程或线程共同使用。
③虚拟:通过某种技术将物理实体变为若干个逻辑上的对应物。
④异步:进程以人们不可预知的速度向前推进,每次运行只要环境相同,则结果必定一致。
( 3 )OS的5大功能:处理机管理、存储器管理、设备管理、文件管理、接口管理。
①处理机管理:进程(线程)是处理机调度的单位,因此对外理器的管理实际上是对进程(线程)的管理。
②存储器管理:内存的分配与回收、地址转换、虚拟内存的实现等。
③设备管理:设备的分配与回收、缓冲区管理、磁盘调度、设备虚拟等。
④文件管理:文件存储空间的管理、文件目录管理、文件共享与保护等。
⑤接口管理:用户接口、程序接口、命令接口和网络接口。
则请回答下列问题。
(1)叙述该计算问题中处理机、输入机和打印机是如何协同工作的。
(2)计算在图1-1-6所示执行情况下处理机的利用率。
(3)简述处理机利用率不高的原因。
(4)请画出能提高处理机利用率的执行方案。
答:(1)处理机、输人机和打印机是按照输人→处理→打印的顺序依次执行的,输人机为处理机提供数据,处理机得到数据后进行处理,处理结果通过打印机打印输入。输人机读取一批数据,花费时间为100;处理机对这批数据进行计算,花费时间为20;打印机打印计算结果,花费时间为40。
(2)处理机的利用率=[ 20 (100+20+40) ] x100%=12.5%。
(3)当一道程序在运行中发出IO请求后,处理机只能处于等待状态,即必须等LO完成后才能继续运行.因此处理机会长时间处于空闲状态,这会导致其利用率不高。
(4)采用多道程序设计技术使处理机、输入机和打印机并行工作,可以提高处理机的利用率,如图所示。
直接制约关系(同步):
间接制约关系(互斥):
临界资源:
临界区概念:
临界区的使用原则:
进入区:判断临界资源是否可用,如果可以进入,则设置临界区使用标志,阻止后面的进程进入,后面的进程通过查看临界区使用标志,进入阻塞队列等待
退出区:l临界区使用完毕,退出区修改临界区使用标志,唤醒等待该资源的进行,让其进入临界区。
由于同一临界资源在多个共享它的进程中对应多个临界区,怎样才能保证进程间互斥的执行临界区?
必须保证临界区标志是可被系统中所有进程修改的全局变量,而且诸进程对该标志的修改操作须互斥地进行。
整型信号量:
记录型信号量:
信号量的物理意义:
FCFS(先来先服务)算法:
SJ(P )F(短作业(进程)优先)算法:
互斥条件
就像家庭里只有一个洗碗槽一样,同一时间只能有一个人使用。这就是互斥条件,如果多个人试图同时使用洗碗槽,就会发生互斥。
请求和保持条件
每个家庭成员在洗碗前都会请求并保持对洗碗槽的使用权,以确保能够流畅地进行洗碗。这就是请求和保持条件。
不剥夺条件
当某人正在使用洗碗槽时,其他人不能剥夺他的使用权,类似于在洗碗过程中保持资源不可被剥夺的条件。
循环等待条件
想象家庭成员需要按照一定的顺序进行洗碗,如果形成了一个循环等待,比如A等待B,B等待C,而C又在等待A,整个洗碗可能就会陷入循环等待,就像死锁的循环等待条件。这种情况可能导致整个洗碗过程陷入僵局,无法完成。
预防死锁
就像在家庭洗碗时,家庭成员事先协商好谁先使用哪个洗碗槽,以破坏家庭洗碗可能导致死锁的条件之一,即请求和保持条件。
避免死锁
在资源分配过程中,就像在洗碗时动态地观察家庭成员使用洗碗槽的情况,以确保不会进入洗碗的死锁状态。这可能涉及更灵活的资源分配策略,以防止死锁的发生。
检测死锁
有时候允许死锁发生,就像在洗碗时不阻止家庭成员同时请求多个洗碗槽。但系统会定期检测是否发生了死锁,以便及时采取措施来解决问题。
解除死锁
当检测到死锁时,就像在洗碗时发现了僵局,可能需要采取措施,比如抢占某个洗碗槽,或者终止某个家庭成员的洗碗任务,以解除死锁。
S1:a=x+y;
S2:b=z+1;
S3:c=a-b;
S4: w=c+1:
【参考答案】本题分儿解答如下。
(1)趋图(procedence graph)是一个有向无环图,记为DAG( directed acyclic graph).用于描述进程间执行的前后关系。
(2)题中4条语句对应的前图如图所示。
【参考答案】
①进程是一段可并发执行的具有独立功能的程序,是关于某个数据集的一次执行过程,也是OS进行资源分配和保护的基本单位。
②在OS中引入进程,是为了实现多个程序的并发执行。传统的程序与其他程序并发执行时,执行结果不可再现,因此,传统的程序不能与其他程序并发执行,只有在为之创建进程后,其才能与其他程序(进程)并发执行。这是因为并发执行的程序“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其CPU现场信息保存在它的PCB ( processing control block,进程控制块)中,待下次被调度执行时再从PCB中恢复CPU现场而继续执行,但传统的程序却无法满足上述要求。
③建立进程所带来的好处是多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。但管理进程也须付出一定的代价,包括PCB及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步与通信等所付出的时间开销。
【参考答案】进程最基本的状态有3种。
①运行态:进程占有处理机,正在运行。
②就绪态:进程具备运行条件,等待系统分配处理机以便运行。
③等待态(又称为阻塞态或睡眠态):进程不具备运行条件,正在等待某个事件的完成。
进程不同状态间的转换及引发原因介绍如下。
①运行态→等待态:等待使用资源或某事件发生;
②等待态→就绪态:资源得到满足或某事件已经发生;
③运行态→就绪态:运行时间片到达或出现有更高优先级的进程;
④就绪态一运行态:CPU空闲时调度选中一个就绪进程需要其运行。
【参考答案】所谓挂起状态,实际上就是一种静止的状态。一个进程被挂起后,不管它是否处于就绪状态,系统都不会分配给它处理机。因此,引入挂起状态是基于系统和用户的如下需要。
①终端用户的需要:当终端用户在自己的程序运行期间发现问题时,希望暂停进程的运行。
②父进程请求:父进程挂起自己的某个子进程,检查并修改该子进程,或者协调各子进程之间的活动。
③负荷调节的需要:当实时系统中的工作负荷较重、实时任务受到影响时,挂起些不重要的进程。
④OS的需要:OS挂起某些进程,检查或统计运行中的资源使用情况。
(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?
(2)为支持进程状态的变迁,系统至少应提供哪些进程控制原语?
(3)在执行每一个进程控制原语时,进程状态会发生什么变化?相应的数据结构会发生什么变化?
【参考答案】
(1为支持多进程的并发执行,系统必须建立关于进程的相关数据结构,包括PCB和队列结构(如就绪队列、等待队列、运行指针等)。
(2)为支持进程状态的变迁,系统应提供的进程控制原语包括:创建原语、阻塞原语、唤醒原语、撤销原语。
(3)在执行每一个进程控制原语时,进程状态及相应的数据结构有4种变化情况。
①创建原语:系统为进程创建PCB,并对它进行初始化。进程状态由无变为就绪状态,新创建的进程加入就绪队列中。
②阻塞原语:进程状态从运行状态变为阻塞状态,并将阻塞进程的PCB插入相应的阻塞队列中。
③唤醒原语:进程状态从阻塞状态变为就绪状态,从阻塞队列中删除该进程,并将其插入就绪队列中。
④撤销原语:进程状态从运行状态变为消亡状态,系统撤销该进程的PCB.。
若每个作业只能建立一个进程,为了照顾短作业用户,应采用( );为了照顾紧急作业用户,应采用( );为了能实现人机交互,应采用( );而能使短作业、长作业和交互作业用户都满意,应采用( )。
A、先来先服务调度算法
B、短作业优先调度算法
C、时间片轮转调度算法
D、多级反馈队列调度算法
E、剥夺式优先级调度算法
正确答案:
(1) B
(2) E
(3) C
(4) D
当你想象计算机操作系统是一种类似于"任务管理大师"的存在时,这几种进程调度算法就好比是不同的工作安排方式:
A、先来先服务调度算法: 就像是一个等着打饭的队伍,谁先来的,谁就先吃饭。
B、短作业优先调度算法: 想象一下在自助餐厅里,你会优先选择吃那些看起来短时间就能吃完的食物,以便更快地满足你的饥饿感。
C、时间片轮转调度算法: 就好比你和一群朋友轮流玩电脑游戏,每个人都有一定的时间(时间片)来玩,然后轮到下一个人。
D、多级反馈队列调度算法: 想象一家图书馆有几个阅览室,每个阅览室的环境和规则不同,你根据你的学习需要和规定的时间在这些阅览室之间切换。
E、剥夺式优先级调度算法: 就像是你正在看电视,但如果有紧急的新闻播报,电视节目可能会被打断,以保证更重要的信息先被传达。
这些算法就是操作系统为了合理安排各种任务,让计算机运行更高效,更好地响应用户需求而设计的各种策略。
正确答案:
设有4道作业,它们的提交时间及执行时间如下:
作业号 提交时间 执行时间
1 10.0 2.0 2 10.2 1.0 3 10.4 0.5 4 10.5 0.3
试计算在单道程序环境下,系统10.0开始调度,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。(时间单位:小时,以十进制进行计算。)
正确答案:
先来先服务:2.8 5.25
短作业优先:2.45 3.85
答案解析:
① T0时刻是否为安全状态?若是,请给出安全序列。
② 在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?
③ 在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?
④ 在③的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么?
T0时刻系统状态
正确答案:
(1)T0时刻是安全的,存在安全序列<P4,P2,P3,P5,P1>
(2)P2请求(0,3,4),系统可用资源向量(2,3,3),不满足P2请求,P2阻塞等待。
(3)P4请求(2,0,1)<(2,3,3),尝试将(2,0,1)分配给P4,系统资源分配如下:
经分析存在安全序列<P4,P2,P3,P5,P1>
(4)在③的基础上,若进程P1请求资源(0,2,0),系统可用资源向量(0,3,2),尝试分配给P1,此时剩余资源向量(0,1,2),此时资源分配情况如下 :
可用资源向量(0,1,2)不能满足任何进程的请求,故不予以分配。
正确答案:
X*(3-1)+1=11
X=5
答案解析:X*(3-1)+1=11X=5
正确答案:
17ms。
假设有四个作业,它们的提交、运行时间如下表所示。若采用响应比高者优先调度算法,系统8.0开始调度,试问平均周转时间和平均带权周转时间为多少? (时间单位:小时,以十进制进行计算。)
作业号 到达时间 运行时间
1 8.0 2.0
2 8.3 0.5
3 8.5 0.1
4 9.0 0.4
正确答案:
在8:00时,因为只有作业1到达,系统将作业1投入运行。作业1运行2小时(即
10:00时)完成。由于该算法采用响应比高者优先调度算法,这样在作业1执行完后,要计算剩下三个作业的响应比,然后选响应比高者去运行。剩下三个作业的响应比为:
r2=l+(10.0-8.3)/0.5=4.4
r3=l+(10.0-8.5)/0.1=16
r4=l+(10.0-9.0)/0.4=3.5
从计算结果看,作业3的响应比高,所以让作业3先运行。
作业3运行0.1小时完成(即10:10时),此时,作业2和作业4的响应比为:
r2=l+(10.1-8.3)/0.5=4.6
r4=l+(10.1-9.0)/0.4=3.75
从上述计算结果看,作业2的响应比高,所以让作业2先运行。因此四个作业的执行次序为:作业1、作业3、作业2、作业4.
解:四个作业的调度次序为:作业1、作业3、作业2、作业4。
作业 到达 运行 开始 完成 周转 带权周转
1 8.0 2.0 8.0 10.0 2.0 1.0
2 8.3 0.5 10.1 10.6 2.3 4.6
3 8.5 0.1 10.0 10.1 1.6 16.0
4 9.0 0.4 10.6 11.0 2.0 5.0
平均周转时间 T=(2.0+2.3+1.6+2.0)/4=1.975
平均带权周转时间 W=(1+4.6+16+5)/4=6.65
答案解析:在8:00时,因为只有作业1到达,系统将作业1投入运行。作业1运行2小时(即10:00时)完成。由于该算法采用响应比高者优先调度算法,这样在作业1执行完后,要计算剩下三个作业的响应比,然后选响应比高者去运行。剩下三个作业的响应比为: r2=l+(10.0-8.3)/0.5=4.4 r3=l+(10.0-8.5)/0.1=16 r4=l+(10.0-9.0)/0.4=3.5 从计算结果看,作业3的响应比高,所以让作业3先运行。作业3运行0.1小时完成(即10:10时),此时,作业2和作业4的响应比为: r2=l+(10.1-8.3)/0.5=4.6 r4=l+(10.1-9.0)/0.4=3.75 从上述计算结果看,作业2的响应比高,所以让作业2先运行。因此四个作业的执行次序为:作业1、作业3、作业2、作业4.解:四个作业的调度次序为:作业1、作业3、作业2、作业4。作业 到达 运行 开始 完成 周转 带权周转 1 8.0 2.0 8.0 10.0 2.0 1.0 2 8.3 0.5 10.1 10.6 2.3 4.6 3 8.5 0.1 10.0 10.1 1.6 16.0 4 9.0 0.4 10.6 11.0 2.0 5.0 平均周转时间 T=(2.0+2.3+1.6+2.0)/4=1.975 平均带权周转时间 W=(1+4.6+16+5)/4=6.65
正确答案:
死锁产生的原因:竞争资源和推进顺序非法。
必要条件:互斥、请求和保持、不剥夺、环路等待。
预防死锁是通过破坏死锁必要条件的一个或几个。包括:破坏请求和保持、破坏不剥夺和破坏环路等待。
正确答案:
接纳多少个作业取决于多道程序的度,接纳哪些作业取决于调度算法。
假设系统中有下述3种解决死锁的方法:
(1)银行家算法;
(2)检测死锁,终止处于死锁状态的进程,释放进程所占有的资源;
(3)资源预分配。
在上述解决死锁的几个方法中,哪个方法允许最大的并发性? 请按“并发性”从大到小对3种方法进行排序。
正确答案:
第(2)种方法的并发性最大,第(1)种次之,第(3)种方法的并发性最弱。
正确答案:
FCFS:按照作业到达系统的先后顺序依次调度,适合于长作业,不利于短作业,未考虑作业的紧迫程度,很少单独使用。
SJF:选取运行时间最短的作业优先调度,可以缩短平均周转时间,不利于长作业,未考虑作业的紧迫程度。
HRN:既考虑作业运行时间,也考虑作业等待时间,但调度之前需要计算响应比,增加了系统开销。
【参考答案】
①在计算机中有许多资源一次仅允许一个进程使用,我们把一次仅允许一个进程使用的资源称为临界资源,如打印机和一些共享变量等。
②进程中访问临界资源的那段代码称为临界区。
【参考答案】同步机制应遵循的准则主要有4个。
(1)空闲让进。当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进人临界区的进程立即进人临界区,以有效地利用临界资源。
(2)忙则等待。当已有进程在临界区时,表明临界资源正在被访问,因面其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
(3)有限等待。对要求访问临界资源的进程,应保证其能在有限时间内进入临界区,以免陷人“死等”状态。
(4)让权等待。当进程不能进入临界区时,其应立即释放处理机,以免进程陷入“忙等”。
【参考答案】临界资源本身的特性决定了它们只能被各个进程互斥地访问,如果并发执行的多个进程同时访问临界资源,则会造成系统混乱或程序执行结果不确定。这样,进程运行结果就可能不正确或者不确定。比如,两个进程并发执行如下程序段:
mov ax, (counter);
ine ax;
mov (eounter), ax;
其中,共享变量counter初值为0,对counter执行加1操作。如果允许一个进程访问counter,另一个进程也可以对其进行操作,则counter的值最终可能是正确结果2,也可能是错误结果1,即计算结果出现了不确定性。因此,各进程对临界资源的访问必须互斥地进行。
【参考答案】为了互斥地访问临界资源,系统必须保证进程互斥地进入临界区。为此,必须在临界区前增加一段进人区代码,以检查是否有其他进程已进入临界区而在使用临界资源。若有,则进程必须等待;否则,允许进程进入临界区,同时设置标志以表示有进程正在临界区内。同样,在临界区后必须增加一-段退出区代码,用于将已有进程进人临界区访问临界资源的标志改为无进程进人临界区使用临界资源。进入区和退出区可用多种同步机制实现,如锁、信号量机制等。
【参考答案】信号量的初值表示系统中资源的数目,每次的P操作表示进程请求一个单位的资源,信号量进行减l操作,当信号量小于0时,表示资源已分配完毕、进程自我阻塞。如果信号量小于0.那么信号量的绝对值表示当前阻塞队列中进程的个数。因此,当前值为-1,表示有1个等待进程。
【参考答案】某个临界资源的信号量初值为1,其是信号量的最大值。m个进程分别对临界资源发出1次请求,信号量均要执行减1操作,因此,最多可允许m个进程同时申请、此时信号量的值是1-m,为最小值。因此,信号量值的范围是1-m至1。
【参考答案】程序段作为共享资源,最多允许3个进程进入其中,因此设置信号量初值为3。当4个进程共享该程序段时,在每个进程中请进入时,信号量都会执行减1操作。当第1个进程申请进入时,信号量值变为2:第2个进程申请进入时,信号量值变为l;第3个进程申请进入时,信号量值变为0、第4个进程申请进入时,信号量值变为-1。因此,信号量的变化范围是3,2,1,0,-1。
【参考答案】定义资源信号量empty,odd、even,用于控制生产者与消费者之间的同步,其中,empty表示空缓冲区的数目,odd表示缓冲区中奇数的个数,even表示缓冲区中偶数的个数;定义互斥信号量mutex,用于实现进程对缓冲区的互斥访问。伪代码描述如下:
cobegin {
process顾客{
从取号机上获得一个号码;
等待叫号;
获得服务;
process营业员{
while (TRUE){
叫号;
为顾客服务;
}
}
} coend
请添加必要的信号量和P、V操作或wait()、signal(操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。
semaphore numget=1, seats=10,eustom=0, //numget是关于取号机互斥的信号量;信号量seats是座位的个数:信号量cuslom是顾客的个数
process顾客{
P(seats);//看有没有空座位
P(numget);//取号
取号;
V(numget);//取完号后释放取号机
V(custom);
等待叫号;
V(seats);
接受服务;
}
process 营业员{
P(custom);
叫号:
为顾客服务;
}
【参考答案】分析:本题是生产者-消费者问题的变形,相当于一个能生产两种产品的生产者(爸爸)向两个消费者(儿子和女儿)提供产品的同步问题,因此,须设置两个不同的full信号量apple和orange,它们的初值均为0。为了描述上述同步问题,可定义如下信号量:
semaphore empty=5, orange=0, apple=0, mutex=1;
标准定义
具有块表的地址变换是一种更加灵活的映射方式,通过块表来实现逻辑地址到物理地址的转换。
通俗解释
这就像是有了一份更加详细的目录,不仅可以找到具体的页号,还可以通过块表找到更加具体的物理地址,从而更快速地找到内容。
虚拟存储器的特征包括能够让程序认为它拥有比实际物理内存更大的地址空间、允许程序在执行过程中动态加载和卸载数据、提高了系统的多道程序设计能力等。
通过缺页中断,系统可以在需要时动态地将数据从磁盘加载到内存,保证程序的正常执行。这种机制使得程序的地址空间可以大于实际物理内存,提高了系统的灵活性和效率。
这三种页面置换算法各有优劣,选择哪种算法取决于具体的应用场景和系统特点。OPT具有理论上的最优性,但实现较为困难;FIFO简单实用,但可能导致“老化”页面长时间停留在内存中;LRU在实际中表现较好,但需要维护访问时间的信息,增加了系统的开销。在不同情况下,选择适合的算法可以有效提高存储器管理的效率。
标准定义:
I/O设备可分为独占设备、共享设备和虚拟设备。
解释:
独占设备:
共享设备:
虚拟设备:
I/O通道的标准定义:
I/O通道(Input/Output Channel)是计算机中负责连接主存储器和外部设备的通信路径。它起到了数据传输的桥梁作用,允许外部设备和主存之间进行高速、独立的数据交换。
通俗解释:
想象I/O通道是计算机的交通管制中心,它负责管理和协调数据在主存储器和外部设备之间的流动。就像是一个交通警察,确保信息能够在系统内部畅通无阻地传递。
I/O通道就像是计算机的高速传送带,它连接着计算机的大脑(主存储器)和外部设备,负责快速而独立地将数据传递过去。你可以把它想象成一个快递员,负责把主存储器的数据快速、可靠地送达给外部设备,或者将外部设备的数据迅速送达给主存储器。这样,计算机内外的信息就可以高效地来回传送。
I/O通道类型的标准定义:
定义:
字节多路通道:
数组选择通道:
数组多路通道:
通俗解释:
字节多路通道:
数组选择通道:
数组多路通道:
通道与一般处理器的区别:
I/O通道是专门设计用于数据传输的,与主处理器(CPU)有所区别。主处理器负责执行计算任务,而I/O通道专注于有效地管理外部设备和内存之间的数据传递,以提高整体系统性能。
I/O控制方式的标准定义:
I/O控制方式指的是计算机系统中管理和协调输入/输出操作的方式。常见的方式包括程序I/O、中断I/O、DMA方式和通道方式。
通俗解释:
想象你在玩一场电子游戏,而这场游戏就是计算机系统。I/O控制方式就像是你选择游戏角色与游戏互动的方式。有四种方式可以选择:
程序I/O: 就像你亲自控制游戏角色的每一步,每次操作都由你来决定,但可能会花费更多时间和精力。
中断I/O: 类似于你在游戏中碰到了特殊任务,需要你停下手头的操作,去处理这个任务,然后再回到原来的操作。
DMA方式: 好比你请了一位助手,专门负责搬运游戏中的物品,你不必亲自去搬运,可以把更多精力放在其他操作上。
通道方式: 就像你雇佣了一个专业的团队,他们负责协调和管理游戏中所有复杂的操作,你只需告诉他们你的需求,剩下的交给他们处理。这种方式效率高,可以同时处理多个任务。不同的I/O控制方式就是在选择如何与游戏进行互动,以及如何协调和处理各种任务。
程序控制型: 像是手动操作,需要中央处理器(CPU)不断发出指令,告诉I/O通道何时开始或结束数据传输。
中断控制型: 当外部设备准备好或者出现特定事件时,中断通知I/O通道启动数据传输,减轻了CPU的负担。
DMA型: 直接存储器访问允许外部设备和内存之间直接交换数据,不需要CPU介入,效率更高。
想象你在操控一辆汽车,而这辆汽车就是计算机的I/O通道。有三种不同的方式来驾驶这辆车,分别对应三种I/O通道类型。第一种是“程序控制型”,就像你手动操作每个车速和方向的控制器一样,每一步都由你决定。第二种是“中断控制型”,有点像你遇到交通信号时暂时停车,等到有新指示时再继续前行。第三种是“直接存储器访问(DMA)型”,就像你设置了一个目的地,汽车可以自动沿着预定的路径行驶,而你则可以专注于其他任务,这提高了效率。不同的I/O通道类型就是决定这辆车如何驾驶,以及数据如何在计算机内部和外部之间流动的方式。
I/O缓冲技术的标准定义:
I/O缓冲技术是一种通过在计算机系统中引入缓冲区,将输入/输出数据暂时存储起来,以提高数据传输效率的方法。
通俗解释:
想象你在使用手机浏览网页,当你打开一个网页时,页面上的图片和文字可能不是一次性全部加载完毕的,而是逐步显示。这就好比浏览器采用了一种类似于I/O缓冲技术的方法,提前加载一部分内容,让用户感觉到更快的响应速度。
想象你在一家快餐店点餐,而I/O缓冲技术就好比是你的点餐篮。当你点好餐后,服务员不会立刻把食物逐一送到你手里,而是先把你的订单放进点餐篮,然后厨房根据这个篮子里的订单一次性准备好所有的食物,最后一起交给你。这样,就避免了每点一个菜都等待厨房准备的时间,提高了整体服务效率。在计算机中,I/O缓冲技术也是类似的,通过引入缓冲区,可以将输入/输出数据先存储起来,等到一定量的数据积累后再进行高效的批量传输,提高了数据传输的效率。
磁盘性能的标准定义:
磁盘性能的影响因素主要包括寻道时间、旋转延迟和传输时间,这些因素共同影响着磁盘读写操作的速度。
通俗解释:
想象一下你在书架上查找一本书,首先需要找到这本书所在的书架(寻道时间),然后等待这本书刚好处于你手边(旋转延迟),最后才能够翻阅书本内容(传输时间)。整个过程中,每个步骤都会影响你获取书本信息的速度。
FIFO算法的标准定义:
FIFO是一种磁盘调度算法,按照磁盘请求的先后顺序进行调度,先发出的请求先被满足。
通俗解释:
就像是你在餐厅排队,先到的人先被安排进餐,按照先来先服务的原则。
SSTF算法的标准定义:
SSTF是一种磁盘调度算法,选择当前磁头位置最接近请求的磁道进行调度,以减少寻道时间。
通俗解释:
像是你在书架上找书,每次都选择最接近手的那本书,以最短的距离找到需要的书本。
SCAN算法的标准定义:
SCAN是一种磁盘调度算法,磁头按照一个方向移动,直到碰到最边缘,然后改变方向继续移动,以此往复。
通俗解释:
想象一下你在图书馆找书,SCAN算法就像你从书架的一端开始,按照一个方向扫描书架,找到目标书籍后再改变方向,直到扫描完整个书架。这样可以比较高效地找到你需要的书籍,就像磁头在磁盘上按照一个方向移动,找到需要的数据。
CSCAN算法的标准定义:
CSCAN是SCAN算法的一种改进版本,磁头在到达磁盘末端时立即返回到磁盘起始位置,形成一个循环。
通俗解释:
类似于SCAN算法,但是当到达磁盘末端时,直接返回到磁盘起始位置,再次开始扫描。
如果把SCAN算法比喻为你在图书馆来回扫描书架,那么CSCAN就是你扫描完一遍后,立即回到书架的开始重新扫描。这样做的好处是可以更加连贯地管理书架,不会漏掉任何可能需要的书籍,就像磁头在磁盘上形成一个循环,提高了数据的读取效率。
见6.5
标准定义:
文件系统负责有效管理存储设备上的文件存储空间,确保文件能够被合理地存储、检索和组织。
通俗解释:
文件系统就像是你的个人图书馆管理员,负责管理书架上的图书。它要确保每本书都有合适的位置,可以轻松找到,还需要保证新添的书籍能够有序地放入。同样,文件系统管理文件的存储空间,让文件可以被方便地存储、找到和整理,确保计算机上的数据有序可控。
标准定义:
文件系统通过目录管理,组织和维护文件的层次结构,以方便用户查找、访问和组织文件。
通俗解释:
目录管理就像是你整理书架上的书籍一样。每本书有一个特定的位置,而目录就是一个书籍清单,告诉你每本书在哪里。文件系统的目录管理类似,它创建了一个文件清单,让你可以方便地查找和访问文件,就像在图书馆的目录中找到书籍一样。这样,你可以更轻松地组织和管理计算机上的文件。
标准定义:
文件系统负责管理文件的读写操作,同时确保文件只能被授权的用户或进程访问,以保护文件的完整性和安全性。
通俗解释:
文件的读写管理就像是图书馆的规定,只有借书证的人才能借书,而文件系统就是为文件颁发了一种“文件借书证”,只有持有这个证件的人或程序才能对文件进行读写操作。这样,就能够有效地保护文件,防止未经授权的人或程序进行随意操作,确保文件的安全性和完整性。
标准定义:
文件的逻辑结构是指文件中数据元素之间的关系和组织方式,包括文件的组织形式、数据的表示方法等。
通俗解释:
文件的逻辑结构就像一本书的目录和章节安排,它定义了文件中数据元素之间的关系和组织方式。想象一下一本小说,它有序的章节和段落就构成了逻辑结构,让读者可以按照一定的组织方式理解故事。文件的逻辑结构也是为了让计算机更好地理解和处理文件中的数据,就像读者通过目录找到感兴趣的章节一样。
标准定义:
文件的物理结构是指文件在存储设备上的实际存储方式,包括文件的存储布局、磁盘块的组织等。
通俗解释:
文件的物理结构就像一本书在书架上的具体存放方式,它定义了文件在存储设备上的实际存储布局。想象一下你的书架,每本书都占据一定的空间,文件的物理结构也是为了将数据有序地存储在计算机的存储设备上,就像书籍有特定的位置一样。这种存储方式能够帮助计算机更高效地读取和写入文件中的数据。
标准定义:
外存的顺序式结构是指文件在存储设备上按照逻辑顺序依次存储,形成一个连续的数据块。
通俗解释:
顺序式结构就像你在一张纸上按照顺序写下的文字,每行都连接着上一行,文件在外存中也是按照逻辑顺序一个接一个地存储,就像连续的文字一样。这种结构使得文件的读取和写入相对简单,就像你可以顺着纸上的文字一行一行读取一样。
标准定义:
外存的链接式结构是指文件在存储设备上通过链接方式相互连接,形成一个链表结构。
解释:
想象一本书的每一页都贴着指向下一页的标签,你可以根据标签跳转到其他页面。链接式结构就是通过这种方式连接文件的不同部分,你可以通过链接找到文件的特定位置。
通俗解释:
链接式结构就像你在纸上画的一组相互连接的箭头,每个箭头指向下一个位置。文件在外存中也可以通过链接方式相互连接,形成一个链表,每个部分都知道下一个部分在哪里。这种结构使得在文件中插入或删除数据变得更加灵活,就像你可以在图上添加或删除箭头一样。
标准定义:
外存的索引式结构是指使用索引表来记录文件的存储位置,通过索引查找实际数据块。
解释:
比如一本书有一张目录,列出了关键词和对应的页码。你可以通过查阅目录找到关键词对应的页码,然后直接翻到该页。索引式结构就是通过索引表来快速定位文件的存储位置,加速检索过程。
通俗解释:
索引式结构就像一本书的目录,记录着每个章节的页码,文件在外存中也有一个索引表,记录着每个数据块的位置。当需要查找特定数据时,系统可以先查找索引表,找到对应的位置,然后直接跳到这个位置获取数据,就像你通过书的目录找到特定章节一样,这种结构有助于快速定位和获取文件中的数据。
标准定义:
Unix的混合索引方式是一种文件索引结构,其中的索引结点(i-node)包含13个地址项(iaddr(0)~iaddr(12)),用于管理文件的存储位置。
解释:
想象一个文件像一本书,而索引结点就像书的目录。Unix的混合索引方式相当于在目录上设置了多个指针,以便更有效地定位书中的不同章节。
iaddr(0)~iaddr(9)
用来存放直接地址,就像目录中列出直接可以查找的章节一样,直接指向数据块。iaddr(10)
用来存放一次间接地址,类似于目录中有一个链接,通过这个链接你可以找到另一个目录,进而找到特定章节。iaddr(11)
用来存放二次间接地址,扩展了查找的范围,就像有了两级目录结构。iaddr(12)
用来存放三次间接地址,进一步增加了查找的深度,使得文件可以更加灵活地存储和组织。通俗解释:
Unix的混合索引方式就像你在一张地图上看到的一个标志,上面有13个箭头,每个箭头指向一个地点。这个标志就像Unix系统中的索引结点,它包含13个地址项,每个项指向文件在存储设备上的一个位置。当需要找到文件时,系统可以根据这些地址项直接跳转到相应的位置,就像你通过地图上的标志找到具体的地点一样。这种结构的设计有助于高效地管理文件的存储位置。
标准定义:
存储空间管理是文件系统用于有效组织和分配存储设备上的空间的一系列策略和方法,包括空闲表法、位示图法和成组链接法等。
解释:
存储空间管理就像图书馆管理员对书架上的书籍进行整理和分配一样,确保每本书都有自己的位置。空闲表法记录可用的空间,位示图法标记已使用的空间,而成组链接法则是将空间按组织单元进行管理,以提高效率。
空闲表法:
位示图法:
成组链接法:
这些管理方法都旨在高效地组织存储空间,确保系统可以有效地存储和检索数据。
通俗解释:
存储空间管理就像你在书架上安排图书的方式,确保每本书都有一个适当的位置。文件系统通过一系列策略和方法来有效地组织和分配计算机存储设备上的空间,就像你在书架上安排图书一样。有些文件系统使用空闲表法,记录可用的空间;有些使用位示图法,通过位图表示每个存储块的占用情况;还有一些使用成组链接法,将存储空间组织成一组一组的块。这些方法有助于系统高效地利用存储资源。
正确答案:
I/O控制方式包括:程序I/O方式、中断I/O控制方式、DMA控制方式、通道控制方式。程序I/O方式适用于早期的计算机系中,并且是无中断的计算机系统;中断I/O控制方式是普遍用于现代的计算机系统;DMA方式适用于I/O设备为块设备时在和主机进行数据交换的一种I/O控制方式,当I/O设备和主机进行数据交换是一组数据块时通常采用通道I/O控制方式,但此时要求系统必须配置相应的通道及通道控制器。
正确答案:
引入缓冲区的目的是:缓和CPU与I/O设备之间速度不匹配的矛盾:减少对CPU的中断频率:放宽CPU对中断响应时间的限制;解决数据力度不匹配的问题;提高CPU和I/O设备之间的并行性。
缓冲区的组织形式包括:单缓冲、双缓冲、循环缓冲和缓冲池。
答案解析:
正确答案:
日前常用的磁盘调度算法有:先来先服务、最短寻道时间优先及扫描等算法。
(1)先来先服务算法优先考虑进程请求访问磁盘的先后次序:
(2)最短寻道时问优先算法优先考虑要求访问的磁道与当而磁头所在磁道距离是否最近;
(3)扫描算法考虑欲访间的磁道与当前磁道间的距离,更优先考虑磁头当前移动方向。
正确答案:
顺序文件、索引文件和索引顺序文件
正确答案:
日前广泛采用的日录结构是树型目录结构。它具有以下优点:
(1)能有效提高对目的检索速度;
(2)允许文件重名:由于在树型结构的文件系统中,是利用文件路径名来检索文件的,故允许每个用户在自己的分目录中使用与其他用户文件相同的名字;
(3)使于实现文件共享:在树型目录中,用户可通过路径名来共享其他用户的文件,也可将一个共享文件链接到自己的目录下。
正确答案:
顺序文件、链接文件和索引文件。
(1)顺序文件:简单,容易实现;顺序访问速度快。但必须事先知道文件的长度,文件长度不能动态增长。要求连续存储空间,删除文件的某部分后产生外部碎片。严重降低外存空间的利用率。
(2)链接文件:不要求连续分配,消除了外部碎片;文件可动态增长、插入、删除。但只适宜顺序存取;磁头移动距离多;指针链接可靠性降低;指针占用空间。
(3)索引文件:便于动态增长,便于随机存取,无外部碎片。 但增加索引表的空间开销,存取文件需两次访问外存。
23,5,98, 14,66,25,78,34,66,74,56,87,12,39,71,49,58
当前磁头在50道,上次访问的磁道是18道。
试计算SSTF算法、SCAN和CSCAN三种调度算法下的平均寻道长度,并比较结果。
正确答案:
正确答案:
磁盘旋转一周需要的时间=1/3000rpm=1/50rps=20ms
每个盘面10个扇区,则读取一个扇区的时间=20/10=2ms
正确答案:
磁盘每个数据块的大小是256B,则一个数据块中能存储256/4=64个地址项,4个直接地址指向的数据块大小为:4*265B=1024B=1KB;2个一级间接地址所指向的数据块大小为:2 * 64 * 256B=32KB;1个二级间接地址所指向的数据块大小为:64 * 64 * 256B=1024KB,则7个地址所指向的数据块的总大小为:1KB+32KB+1024KB=1057KB。