常见问题解答12页word.docx
- 文档编号:27944673
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:19
- 大小:31.22KB
常见问题解答12页word.docx
《常见问题解答12页word.docx》由会员分享,可在线阅读,更多相关《常见问题解答12页word.docx(19页珍藏版)》请在冰豆网上搜索。
常见问题解答12页word
常见问题解答
宋以后,京师所设小学馆和武学堂中的教师称谓皆称之为“教谕”。
至元明清之县学一律循之不变。
明朝入选翰林院的进士之师称“教习”。
到清末,学堂兴起,各科教师仍沿用“教习”一称。
其实“教谕”在明清时还有学官一意,即主管县一级的教育生员。
而相应府和州掌管教育生员者则谓“教授”和“学正”。
“教授”“学正”和“教谕”的副手一律称“训导”。
于民间,特别是汉代以后,对于在“校”或“学”中传授经学者也称为“经师”。
在一些特定的讲学场合,比如书院、皇室,也称教师为“院长、西席、讲席”等。
1.2操作系统以什么方式组织用户使用计算机?
“师”之概念,大体是从先秦时期的“师长、师傅、先生”而来。
其中“师傅”更早则意指春秋时国君的老师。
《说文解字》中有注曰:
“师教人以道者之称也”。
“师”之含义,现在泛指从事教育工作或是传授知识技术也或是某方面有特长值得学习者。
“老师”的原意并非由“老”而形容“师”。
“老”在旧语义中也是一种尊称,隐喻年长且学识渊博者。
“老”“师”连用最初见于《史记》,有“荀卿最为老师”之说法。
慢慢“老师”之说也不再有年龄的限制,老少皆可适用。
只是司马迁笔下的“老师”当然不是今日意义上的“教师”,其只是“老”和“师”的复合构词,所表达的含义多指对知识渊博者的一种尊称,虽能从其身上学以“道”,但其不一定是知识的传播者。
今天看来,“教师”的必要条件不光是拥有知识,更重于传播知识。
答:
操作系统以进程的方式组织用户使用计算机。
用户所需完成的各种任务必须由相应的程序来表达出来。
为了实现用户的任务,必须让相应功能的程序执行。
而进程就是指程序的运行,操作系统的进程调度程序决定CPU在各进程间的切换。
操作系统为用户提供进程创建和结束等的系统调用功能,使用户能够创建新进程。
操作系统在初始化后,会为每个可能的系统用户创建第一个用户进程,用户的其他进程则可以由母进程通过“进程创建”系统调用进行创建。
宋以后,京师所设小学馆和武学堂中的教师称谓皆称之为“教谕”。
至元明清之县学一律循之不变。
明朝入选翰林院的进士之师称“教习”。
到清末,学堂兴起,各科教师仍沿用“教习”一称。
其实“教谕”在明清时还有学官一意,即主管县一级的教育生员。
而相应府和州掌管教育生员者则谓“教授”和“学正”。
“教授”“学正”和“教谕”的副手一律称“训导”。
于民间,特别是汉代以后,对于在“校”或“学”中传授经学者也称为“经师”。
在一些特定的讲学场合,比如书院、皇室,也称教师为“院长、西席、讲席”等。
1.4早期监督程序(Monitor)的功能是什么?
答:
早期监督程序的功能是代替系统操作员的部分工作,自动控制作业的运行。
监督程序首先把第一道作业调入主存,并启动该作业。
运行结束后,再把下一道作业调入主存启动运行。
它如同一个系统操作员,负责批作业的I/O,并自动根据作业控制说明书以单道串行的方式控制作业运行,同时在程序运行过程中通过提供各种系统调用,控制使用计算机资源。
1.7试述多道程序设计技术的基本思想。
为什么采用多道程序设计技术可以提高资源利用率?
答:
多道程序设计技术的基本思想是,在主存同时保持多道程序,主机以交替的方式同时处理多道程序。
从宏观上看,主机内同时保持和处理若干道已开始运行但尚未结束的程序。
从微观上看,某一时刻处理机只运行某道程序。
可以提高资源利用率的原因:
由于任何一道作业的运行总是交替地串行使用CPU、外设等资源,即使用一段时间的CPU,然后使用一段时间的I/O设备,由于采用多道程序设计技术,加之对多道程序实施合理的运行调度,则可以实现CPU和I/O设备的高度并行,可以大大提高CPU与外设的利用率。
1.8什么是分时系统?
其主要特征是什么?
适用于哪些应用?
答:
分时系统是以多道程序设计技术为基础的交互式系统,在此系统中,一台计算机与多台终端相连接,用户通过各自的终端和终端命令以交互的方式使用计算机系统。
每个用户都感觉到好像是自己在独占计算机系统,而在系统内部则由操作系统以时间片轮转的方式负责协调多个用户分享CPU。
主要特征是:
并行性:
系统能协调多个终端用户同时使用计算机系统,能控制多道程序同时运行。
共享性:
对资源而言,系统在宏观上使各终端用户共享计算机系统中的各种资源,而在微观上它们则分时使用这些资源。
交互性:
人与计算机以交互的方式进行工作。
独占性:
使用户感觉到他在独占使用计算机。
现在的系统大部分都是分时系统,主要应用于人机交互的方面。
2.1什么是中断?
什么是异常?
它们有何区别?
答:
中断是指来自CPU执行指令以外的事件发生后,处理机暂停正在运行的程序,转去执行处理该事件的程序的过程。
异常是指源自CPU执行指令内部的事件发生后,处理机暂停正在执行的程序,转去处理该事件的过程。
区别:
广义的中断包括中断和异常,统一称为中断。
狭义的中断和异常的区别在于是否与正在执行的指令有关,中断可以屏蔽,而异常不可屏蔽。
2.3为什么要把中断分级?
如何设定中断的优先级?
试述多级中断的处理原则。
答:
为什么要把中断分级:
在计算机系统中,不同的中断源可能在同一时刻向CPU发出不同的中断信号,也可能前一中断尚未处理完,紧接着又发生了新的中断。
此时,存在谁先被响应和谁先被处理的优先次序问题。
为了使系统能及时地响应和处理所发生的紧急中断,根据中断的轻重缓急,对各类中断规定了高低不同的响应级别。
如何设定中断的优先级:
中断分级的原则是根据中断的轻重缓急来排序,把紧迫程度大致相当的中断源归并在同一级,而把紧迫程度差别较大的中断源放在不同的级别。
一般来说,高速设备的中断优先级高,慢速设备的中断优先级低。
多级中断的处理原则:
当多级中断同时发生时,CPU按照由高到低的顺序响应。
高级中断可以打断低级中断处理程序的运行,转而执行高级中断处理程序。
当同级中断同时到时,则按位响应。
2.6什么是中断向量?
其内容是什么?
试述中断的处理过程。
答:
中断向量:
为处理方便,一般为系统中每个中断信号编制一个相应的中断处理程序,并把这些程序的入口地址放在特定的主存单元中。
通常将这一片存放中断处理程序入口地址的主存单元称为中断向量。
3.1什么是进程?
为什么要引入此概念?
试述进程的特点及它与程序的区别。
答:
进程是支持程序执行的机制,是程序针对某一数据集合的执行过程。
引入此概念的原因:
随着操作系统的发展而产生。
在监督程序时代以作业形式表示程序运行,那时,作业以同步方式串行地运行每个作业步,当操作系统发展到分时系统时,为了开发同一作业中不同作业步之间的并发,作业机制已经不能满足需要,因而引入了进程机制。
进程的特点:
动态性:
可动态创建,结束,也可是精灵进程
并发性:
可以被独立调度,占用处理机运行
独立性:
尽量把并发事务安排到不同的进程
制约性:
因访问共享数据或进程间同步而产生制约.
与程序的区别:
进程是程序的执行过程,程序是静态的,进程是动态的。
一个进程至少是一个可执行程序,同一个程序可以由多个进程分别执行。
3.2进程控制块的作用是什么?
PCB中应包括哪些信息?
答:
进程控制块的作用是:
进程控制块用于保存每个进程和资源的相关信息,包括进程标识、空间、运行状态、资源等信息。
以便于操作系统管理和控制进程和资源。
PCB中应包括:
1、进程标识信息:
本进程的标识、父进程的标识、进程所属用户的标识。
2、处理机状态信息。
保存进程的运行现场信息,包括用户可用寄存器的信息;控制和状态寄存器的信息;栈指针。
3.4为什么进程状态会发生变化?
何时变化?
答:
进程在它的生存周期中,由于系统中各进程并发运行及相互制约的结果,使得它的状态不断发生变化。
状态变化的时机:
空→创建:
当一个新进程被产生来执行一个程序时。
创建→就绪:
当进程被创建完成,初始化后,一切就绪准备运行时。
就绪→运行:
当处于就绪状态的进程被进程调度程序选中后。
运行→结束:
当进程指示它已经完成或者因错流产时。
运行→就绪:
处于运行状态的进程在其运行过程中,分给它的处理机时间片用完而让出处理机;或者在可剥夺的操作系统中,当有更高优先级的进程就绪时。
运行→阻塞:
当进程请求某样东西且必须等待时。
阻塞→就绪:
当进程要等待事件到来时。
3.5进程创建的主要工作是什么?
答:
进程创建时的主要工作如下:
1、接收进程运行现场初始值,初始优先级,初始执行程序描述,其它资源等参数。
2、请求分配进程描述块PCB空间,得到一个内部数字进程标识。
3、用从父进程传来的参数初始化PCB表。
4、产生描述进程空间的数据结构,用初始执行文件初始化进程空间,建立程序段,数据段、栈段等。
5、用进程运行现场初始值设置处理机现场保护区。
造一个进程运行栈帧。
6、置好父进程等关系域。
7、将进程置成就绪状态。
8、将PCB表挂入就绪队列,等待时机被调度运行。
3.7详细说明几个引起进程调度的原因。
答:
1、进程主动放弃处理机时:
一、正在执行的进程执行完毕。
操作系统在处理进程结束系统调用后应请求重新调度。
二、正在执行的进程发出I/O请求,当操作系统代其启动外设I/O后,在I/O请求没有完成前要将进程变成阻塞状态,应该请求重新调度。
三、正在执行的进程要等待其它进程或系统发出的事件时。
如等待另一个进程通讯数据,这时操作系统应将现运行进程挂到等待队列,并且请求重新调度。
四、正在执行的进程得不到所要的系统资源,如要求进入临界区,但没有得到锁时,这时等锁的进程应自动放弃处理机或者阻塞到等锁队列上,并且请求重新调度
2、为了支持可剥夺的进程调度方式,在以下情况发生时,因为新就绪的进程可能会按某种调度原则剥夺正运行的进程,因此也应该申请进行进程调度:
一、当中断处理程序处理完中断,如I/O中断、通讯中断,引起某个阻塞进程变成就绪状态时,应该请求重新调度。
二、当进程释放资源,走出临界区,引起其他等待该资源进程从阻塞状态进入就绪状态时,应该请求重新调度。
三、当进程发系统调用,引起某个事件发生,导致等待事件的进程就绪时。
四、其它任何原因引起有进程从其它状态变成就绪状态,如进程被中调选中时。
3、为了支持可剥夺调度,即使没有新就绪进程,为了让所有就绪进程轮流占用处理机,可在下述情况下申请进行进程调度:
一、当时钟中断发生,时钟中断处理程序调用有关时间片的处理程序,发现正运行进程时间片到,应请求重新调度。
以便让其他进程占用处理机。
二、在按进程优先级进行进程调度的操作系统中,任何原因引起进程的优先级发生变化时,应请求重新调度。
如进程通过系统调用自愿改变优先级时或者系统处理时钟中断时,根据各进程等待处理机的时间长短而调整进程的优先级。
3.8什么时候进行进程调度最为合适?
请说明理由。
答:
进程调度的时机:
当发生引起调度条件,且当前进程无法继续运行下去时(如发生各种进程放弃处理机的条件)可以马上进行调度与切换。
当中断处理结束或自陷处理结束返回被中断进程的用户态程序执行前,若请求调度标志置上,即可马上进行进程调度与切换。
如果操作系统支持这种情况下运行调度程序,即实现了剥夺方式的调度。
3.10对于三类进程(I/O为主、CPU为主和I/O与CPU均衡),应如何赋予它们的运行优先级并说明理由。
答:
对于这三类进程,赋予的优先级由高到低分别为:
I/O为主、I/O与CPU均衡、CPU为主。
理由:
为了充分利用外部设备,以及对终端交互用户及时地予以响应,通常将I/O型进程列为最高优先级队列。
3.19什么是批处理作业和交互式作业?
它们的特点是什么?
系统如何管理?
答:
批处理作业是指用户将若干用户任务合成一批,一起提交给系统进行处理的任务集合。
交互式作业是指用户的一次上机交互过程,用户通过命令语言逐条地与系统进行应答式的交互,提交作业步。
特点:
批处理作业的处理过程由计算机自动运行,不需人为干预,用户也看不到中间结果。
交互式作业需要系统提供终端供用户与系统交互,作业的运行由人控制,便于作业的调试以及将作业按人预想的方向进行。
4.1并行任务如何在程序中表示
答:
并行任务在程序中主要通过并发语句来表示。
如Parbegin/Parend语句。
4.2并行任务并行(并发)运行的操作系统支持基础是什么?
答:
支持基础是进程和线程的引入。
在多道程序设计系统中,进程之间可以并发执行,这就使多任务并行执行成为可能。
同时,线程的引入,同一进程内的多个线程也可以并行运行,这也提供了任务内部的并行。
提高了效率
4.3Hyman于1966年提出了下所示解决临界段问题的算法,判断它是否正确。
如果不正确。
举例说明它违背了Dijkstra提出的关于解决临界段问题的那一条原则。
两个进程P0和P1共享下列变量:
Varflagarray[0..1]ofboolean;
Turn:
0..1;
其中,flag数组元素初值均为false。
进程Pi(i=0或1)所对应的程序表示为:
Repeat
Flag[i]=true’
Whileturn≠ido
begin
whileflag[j]doship
turn=I;
end;
……
Flag[i]=false;
……
noncriticalsection
untilfalse;
答:
进程P0在flag[0]=false后,进程P1跳出循环,此时刚好来了一个中断。
中断使得进程P0又再次执行,此时由于P1并没有给turn赋值,从而P0可以顺利进入临界段,在P0进入临界段时产生中断,P1恢复执行,将turn赋值为1,从而P1也可以进入临界段。
从而产生错误。
4.4何谓原语?
它与系统调用有何区别?
如何实现原语执行的不可分割性?
答:
原语是指完成某种功能且不被分割、不被中断执行的操作序列。
有时也称为原子操作。
它与系统调用的区别:
原语和系统调用是两个不同的概念,原语主要强调操作的不可分割性,可以认为是一个不可中断的子程序调用,但是系统调用是由用户态进入核心态,虽然系统调用一般也不被中断,但是如果有更高更紧迫的系统调用的话,还是能够打断原来的系统调用的。
实现原语执行的不可分割性:
通常由硬件来实现,也可以由软件通过中断屏蔽的方法来实现。
4.6如果P,V操作不作为原语(可分割执行),那么是否还可用于解决互斥问题?
如果不能,则举例说明。
答:
如果P,V操作不作为原语,那么不可用于解决互斥问题。
因为如果那样的话,则:
程序语言s=s-1;
翻译成机器语言为:
loadR1,s;loadR2,1;subR1,R2;
此时,他们之间的操作可以分割执行,假设有两个进程P1、P2,s初值为1,当P1进入P操作时,s大于0,可以进入,因此会执行上面的机器语言,将s的值取出来,放入R1寄存器中,而此时,有可能P2进程要进入临界段,因此,它也比较s的值是否小于0,因为此时s的值仍为1,所以P2也进入临界段,出现错误。
4.11多元信号量机构允许P、V操作同时对信号量进行操作。
这种机构对于同时申请或释放若干个资源是非常有用的。
假设二元信号量机构中的P原语定义为:
P(S,R):
while(S≤1orR≤1)doskip;
S=S-1;
R=R-1;
试用一元信号量机构加以实现。
答:
①
begin
empty1=1;empty2=1;full1=0;full2=0;
parbegin
P:
begin
repeat
P(empty1);
puttobuffer1;
V(full1);
untilfalse;
end;
Q:
begin
repeat
P(full1);
getfrombuffer1;
V(empty1);
P(empty2);
puttobuffer2;
V(full2);
untilfalse;
end;
R:
begin
repeat
P(full2);
getfrombuffer2;
V(empty2);
untilfalse;
end;
parend;
end;
②
begin
empty1=m;empty2=n;full1=0;full2=0;mutex1=1;mutex2=1;
parbegin
P:
begin
repeat
P(empty1);
P(mutex1);
puttobuffer1;
V(full1);V(mutex1);untilfalse;end;
Q:
begin
repeat
P(full1);
P(mutex1);
getfrombuffer1;
V(empty1);
V(mutex1);
P(empty2);
P(mutex2);
puttobuffer2;
V(full2);
V(mutex2);
untilfalse;
end;
4.23假设系统由类型相同的m个资源组成,由n个进程,每个进程至少请求一个资源。
证明:
当n个进程最多需要的资源数之和小于m+n时,该系统无死锁。
答:
解题方法,找出可能死锁的资源最多的情况。
假设n个进程需要的资源数分别为:
a1,a2,….an,则占有资源数最多却刚好形成死锁的情况是:
每个进程都占有比所需资源数少一个的资源数量,而此时刚好资源用光。
所以是:
(a1-1)+(a2-1)+……+(an-1)=m,整理得a1+a2+…+an=m+n,而要想使得系统无死锁,则必须有a1+a2+…+an 命题得证 4.24多元信号量机构允许P,V操作同时对多个信号量进行操作。 这种机构对同时申请或释放若干个资源是非常有用的。 假设二元信号量机构中的P原语定义为: P(S,R): While(S≤0orR≤0); S=S-1; R=R-1; 试用一元信号量机构加以实现 答: mutex: semaphore P(mutex); P(S); P(R); V(mutex); 4.15“理发师睡觉”问题 答: 可以将此题看作N个生产者和一个消费者问题。 顾客作为生产者,每到来一个,就将自己放入计数器RC,以便让理发师消费至最后一个产品(顾客),因此顾客进程执行的第一个语句便是RC=RC+1。 而第一个到来的顾客应该负责唤醒理发师,理发师此时正在信号量WAKEUP上等待((P(WAKEUP);该信号量的初值为0),由第一个顾客执行V(WAKEUP)。 若顾客不是第一个到达,则在信号量WAIT上等待(P(WAIT)该信号量的初值为0),等理发师理完一个顾客后,执行V(WAIT)操作便可叫出该顾客理发。 以上过程循环反复,理发师没每理完一个顾客,就令计数器减1,RC=0时便知此时无顾客,理发师可以继续睡觉,等待下一批顾客到达。 在设信号量MUTEX(初值为1),保证对计数器RC的互斥作用。 parbegin 顾客进程: begin P(mutex); rc=rc+1; ifrc=1thenV(wakeup); elseP(wait); V(mutex); 理发; end; 理发师进程: begin P(wakeup); repeat 理发; P(mutex); rc=rc-1; if(rc! =0)thenV(wait); V(mutex); untilrc=0; end; parend; 4.16“吸烟者”问题 信号 semaphore(初始1)供应材料; //供应材料只有3种情况 semaphore(初始0)A吸;(相当于供应者提供A吸烟者所需的2种材料) semaphore(初始0)B吸; semaphore(初始0)C吸; 进程 1)供应者进程: { p(供应材料); v(random(A吸,B吸,C吸)); } 2)A吸烟者进程: {p(A吸);Asmoke;v(供应材料);} 3)B吸烟者进程: {p(B吸);Bsmoke;v(供应材料);} 4)C吸烟者进程: {p(C吸);Csmoke;v(供应材料);} 5.5实现多道连续存储管理时,需要那些硬件支持? 如何实现存储保护? 答: 需要的硬件支持可以选择两种: 1、上、下界寄存器和地址检查机制;2、基地址寄存器、长度寄存器和动态地址转换机制。 地址转换的过程也即是地址重定位的过程,也有两种方法实现地址重定位: 1、静态重定位,用户代码中使用相对地址,在将目标代码加载到主存时,装配链接程序通过如下的方法将其装配成绝对地址: 原地址+目标代码所在主存起始地址; 2、动态重定位,它首先将程序在主存的起始地址及其总长度存放于基地址寄存器和长度寄存器,当在执行访存指令时,首先进行越界检查,若不越界,则将地址改成“原地址+目标代码所在主存起始地址”,然后进行访问。 实现存储保护: 当使用第一种硬件机制时,每访问一次主存,地址检查机制将CPU提供的访存地址与上、下界寄存器的值进行比较。 若介乎上下界之间,则可用该地址访问存储器,否则终止程序的运行。 当使用第二种硬件机制时,,每访问一次主存,它将CPU提供的访存地址与长度寄存器的值进行比较。 若越界,则终止程序,否则与基地址寄存器中的值相加成为访问贮存的绝对物理地址。 5.6为什么要引进页式存储管理方法? 在这种管理方法中硬件应提供哪些支持? ? 答: 原因在于连续分配存储空间存在许多存储碎片和空间管理复杂的问题,而连续分配要求把作业放在主存的一片连续区域中,这往往容易出现连续空间因不能容纳作业或进程而不可用。 而页式存储管理方法可以避免这种情况的发生。 ? 硬件应提供的支持: 动态地址转换机构,页表长度寄存器,联想存储器(页表以及访问权限域均在主存中)。 5.11在页式存储管理系统中怎样使多个作业共享一个程序或数据? 答: 在每个作业的页表中,将需要共享的程序映射到存放该共享程序或数据的相同的物理页帧上 5.17在页式虚存系统中,系统为用户提供224个字的虚存空间。 系统有220个字的主存空间。 每页的大小为512个字。 设用户给出了11123456(八进制)的虚存地址。 试系统怎样得到相应的物理地址。 列出各种可能,并指出那些工作由硬件完成,那些工作由软件完成。 答: 系统得到物理地址的过程: 由题设可得,虚存地址的逻辑页号为: 11123,页内偏移为456; 从联想存储器中查找逻辑页号为11123对应的物理页帧号,如果有,则将物理页帧号和页内偏移合成成物理地址进行访问,否则从页表中查找。 在页表中找到相应项,查看该页的合法位是否置上,若为1,则将该项指出的页帧号和页内偏移合成成物理地址进行访问,若合法位为0,则产生页故障,系统将页表项所指的辅存块号调入主存,然后合成物理地址进行访问。 硬件完成的工作: 获得页帧号,合成物理地址,以及合法位是否置上等。 软件完成的工作: 接收缺页异常,对缺页故障进行处理,返回现场。 5.18某程序大小为460个字。 考虑如下访问序列: 10,11,104,170,73,309,189,245,246,434,458,364,页帧大小为100个字,驻留集大小为2个页面。 给出访问串; 分别求出采用FIFO、LRU、和OPT替换算法控制上述访问串的故障数和页故障率。 答: 访问的相应逻辑页号为: 0,0,1,1,0,3,1,2,2,4,4,3。 采用FIFO: 故障数: 6;页故障率: 6/12=50% 采用LRU,淘汰上次使用距当前最远的页: 故障数: 7;页故障率为: 7/12=58.3% 采用OPT,淘汰下次访问距当前最远的那些页中序号最小的一页: 故障数: 5;页故障率: 5/12=41
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常见问题 解答 12 word