形考作业1
第1章 简答题(每题4分,从以下6题中选择1个完成)
1.简述操作系统的定义。
操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
2.在计算机系统中操作系统处于什么地位?
操作系统是为裸机配置的一种系统软件,是用户和用户程序与计算机之间的接口,是用户程序和其它系统程序的运行平台和环境。它有效地控制和管理计算机系统中的各种硬件和软件资源,合理地组织计算机系统的工作流程,最大限度地方便用户使用机器,发挥资源的作用。操作系统是计算机系统的灵魂和代表。操作系统这个重要的系统软件跟其它软件不同,其它软件可能来去匆匆,它必须从机器打开电门直到关机一直在运行。操作系统软件运行后可以控制和帮助其它软件运行。
3.操作系统的主要功能有哪些?
操作系统(Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理
4.操作系统一般为用户提供了哪三种界面?各有什么特点?
5.图形界面,简单方便,但对机器要求高
菜单界面,较方便,对机器要求低,功能不全
文字界面,不方便,难操作,但对机器要求低,对于某些操作非常快捷。
6.操作系统主要有哪三种基本类型?各有什么特点?
多道批处理系统、分时系统、实时系统
多道批处理系统的特点:多道和成批
分时系统的特点:同时性、交换性、性呵呵及时性
实时系统的特点:具有特殊用途的专用系统。交互能力较弱、响应时间更严格、对可靠性要求更高
7.使用虚拟机,有什么优势和不足?
优点:运行在主机上,完全,虚拟机里面的所有操作不会影响主机,即使虚拟崩溃了,一般用来测试或与实验,当然它有这些优点想怎么就怎么。
缺点:它就是建立在主机上,毕竟是虚拟机,也是文件,很容易被破坏。
第2章 简答题(每题4分,从以下10题中选择2个完成)
1.在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?
因为无法看到程序运行时候具体的情况,所以引入进程
一个程序执行的时候,就会在内存和CPU中处理信息,那么进程则是运行中的程序的显示也就是程序运行的时候才会有进程 ,进程就是反应程序运行的东西
就如同杀毒软件,windows系统软件 刻在运行,那么进程中都有杀毒和系统软件
若是一些病毒感染了电脑,那么病毒按道理来说是有进程的,但是由于其具有隐藏性和破坏性,所以很难看到,即使看到都不能简单的结束
2.进程的基本状态有哪几种?
分别为运行态、就绪态、阻塞态
3.PCB的作用是什么?它是怎样描述进程的动态性质的?
进程控制块PCB是进程组成中最关键的部分。每个进程有唯一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发等特征是利用PCB表现出来的;PCB是进程存在的唯一标志。
PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。
4.PCB表的组织方式主要有哪几种?分别简要说明。
PCB表的组织方式主要有:线性方式、链接方式和索引方式。
线性方式是把所有进程的PCB都放在一个表中。
链接方式按照进程的不同状态把它们分别放在不同的队列中。
索引方式是利用索引表记载相应状态进程的PCB地址
5.进程进入临界区的调度原则是什么?
①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象
6.简述信号量的定义和作用。P、V操作原语是如何定义的?
信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它是与相应资源的使用情况有关的;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的头。
信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。
7.计算机系统中产生死锁的根本原因是什么?
计算机系统中产生死锁的根本原因是:资源有限且操作不当。此外,进程推进顺序不合适也可以引发的死锁。
8.发生死锁的四个必要条件是什么?
发生死锁的四个必要条件是:互斥条件,不可抢占条件,占有且申请条件,循环等待条件
9.一般解决死锁的方法有哪三种?
死锁的预防、死锁的避免、死锁的检测与恢复。
10.是否所有的共享资源都是临界资源?为什么?
不是所有的共享资源都是临界资源。因为临界资源是一次仅允许一个进程使用的资源,而系统中有很多资源可以让多个进程同时使用,例如硬盘、正文段等。
应用题窗体顶端
窗体顶端
第2章 应用题(每题10分,从以下6题中选择1个完成)
1.用如图3-23所示的进程状态转换图能够说明有关处理机管理的大量内容。
图3-23 进程状态转换图
试回答:
① 什么事件引起每次显著的状态变迁?
② 下述状态变迁因果关系能否发生?为什么?
(A)2→1 (B)3→2 (C)4→1
①.就绪→运行:CPU空闲,就绪态进程被调度程序选中。
运行→就绪:正在运行的进程用完了本次分配给它的CPU时间片。
运行→阻塞:运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。
阻塞→就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。
②下述状态变迁:
(A)2→1:可以。运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个
进程投入运行。
(B)3→2:不可以。任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。
(C)4→1:可以。某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
2.系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。
因为打印机是一种临界资源,所以这三个进程只能互斥使用这台打印机,即一个用户的计算结果打印完之后,另一个用户再打印。设三个进程分别为A、B和C。
设一个互斥信号量mutex,其初值为1。
进程A 进程B 进程C
↓ ↓ ↓
P(mutex) P(mutex) P(mutex)
使用打印机 使用打印机 使用打印机
V(mutex) V(mutex) V(mutex)
↓ ↓ ↓
3.判断下列同步问题的算法是否正确?若有错,请指出错误原因并予以改正。
① 设A,B两个进程共用一个缓冲区Q,A向Q写入信息,B从Q读出信息,算法框图如图3-24所示。
② 设A,B为两个并发进程,它们共享一个临界资源。其运行临界区的算法框图如图3-25所示。
图3-24 进程A, B的算法框图 图3-25 两个并发进程临界区的算法框图
①这个算法不对。因为A、B两个进程共用一个缓冲区Q,如果A先运行,且信息数量
4 足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。
改正: A、B两进程要同步使用缓冲区Q。为此,设立两个信号量: empty表示缓冲区Q为空,初值为1; full表示缓冲区Q为满,初值为0。 算法框图如图1所示。
② 这个算法不对。因为A、B两个进程是并发的,它们共享一个临界资源,所以二者应互斥地使用该临界资源,在进入临界区时不存在先A后B的时序关系,而是哪个进程先到一步就先进入自己的临界区。
改正: A、B两个进程应互斥地进入临界区。为此,设立一个信号量:互斥信号量mutex,其初值为1。 算法框图如图2所示。
4.设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。设缓冲区是环形的,编号为0~n-1,in和out分别是输入进程和输出进程使用的指针,初值都是0。
⏹为使两类进程实行同步操作,设置了3个信号量:两个计数信号量full和empty,一个互斥信号量mutex。
full:表示放有信息的缓冲区数,其初值为( 0 )。
empty:表示可供使用的缓冲区数,其初值为( n )。
mutex:表示互斥信号量,初值为( 1 )。
⏹填写相应的P、V操作。
输入进程Input:
while (TRUE) {
① ;
③ ;
信息送往buffer(in);
in=(in+1)mod N; /*以N为模*/
④ ;
⑥ ;
输出进程Output:
while (TRUE){
⑤ ;
③ ;
从buffer(out)中取出信息;
out=(out+1)mod N; /*以N为模*/
④ ;
② ;
}
1. P(empty) 2. V(empty) 3. P(mutex) 4. V(mutex) 5. P(full) 6. V(full)
5.设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果。问:
① 系统要设几个进程来完成这个任务?各自的工作是什么?
② 这些进程间有什么样的相互制约关系?
③ 用P、V操作写出这些进程的同步算法。
答:①系统可设三个进程来完成这个任务: R进程负责从卡片输入机上读入卡片信息, 输入
到缓冲区 B1中;C进程负责从缓冲区 B1中取出信息, 进行加工处理, 之后将结果送到缓冲区
B2中; P进程负责从缓冲区 B2中取出信息,并在打印机上印出。
②R进程受 C进程影响, B1放满信息后 R进程要等待——等 C进程将其中信息全部取走,
才能继续读入信息; C进程受 R进程和 P进程的约束: B1中信息放满后 C进程才可从中取出它
们,且 B2被取空后, C进程才可将加工结果送入其中; P进程受 C进程的约束: B2中信息放
满后 P进程才可从中取出它们 ,进行打印。
③信号量含义及初值:
B1full —— 缓冲区 B1满,初值为 0;
B1empty——缓冲区 B1空,初值为 0;
B2full —— 缓冲区 B2满,初值为 0;
B2empty——缓冲区 B2空,初值为 0;
6.设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。针对下述两种情况:
① 缓冲区是环形的,最多可容纳n个信息;
② 缓冲区是无穷大的。
试分别回答下列问题:
① 输入、输出两组进程读/写缓冲区需要什么条件?
② 用P、V操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。
答:① 针对容量为 n 的环形缓冲区,输入、输出两组进程读 / 写缓冲区需要的条件为:
输入进程和输出进程需同步执行, 即输入进程写缓冲区后, 输出进程才可以读;
由于缓冲区容量有限, 因此任一时刻所有输入进程存放信息的单元数不能超过
缓冲区的总容量( n);
同理,所有输出进程取出信息的总量不能超过所有输入进程当前写入信息的总
数。
设缓冲区的编号为 0~n-1,in 和 out 分别是输入进程和输出进程使用的指针,指向下面
可用的缓冲区,初值都是 0。
为使两类进程实行同步操作,应设置三个信号量:两个计数信号量 full 和 empty,一个
互斥信号量 mutex。
full :表示放有信息的缓冲区数,其初值为 0。
empty:表示可供使用的缓冲区数,其初值为 n。
mutex:互斥信号量,初值为 1,表示各进程互斥进入临界区,保证任何时候只有一个进
程使用缓冲区。
下面是解决这个问题的算法描述。
输入进程 Input :
while (TRUE) {
P(empty);
P(mutex);
信息送往 buffer(in);
in=(in+1)mod N; /*以 N 为模 */
V(mutex);
V(full);
6
}
输出进程 Output :
while (TRUE){
P(full);
P(mutex);
从 buffer(out) 中取出信息 ;
out=(out+1)mod N; /*以 N 为模 */
V(mutex);
V(empty);
}
② 当缓冲区是无穷大时,输入进程存放信息的单元数不再受缓冲区总容量的,因
此,可以不设信号量 empty。另外,算法中的 in=(in+1)mod N; 和 out=(out+1)mod N;
修改为 in=in+1 ;和 out=out+1;即可,其余的算法不变。
输入进程 Input :
while (TRUE) {
P(mutex);
信息送往 buffer(in);
in=in+1;
V(mutex);
V(full);
}
输出进程 Output :
while (TRUE){
P(full);
P(mutex);
从 buffer(out) 中取出信息 ;
out=out+1;
V(mutex);
}
形考作业2
第3章 简答题(每题4分,从以下13题中选择2个完成)
1.处理机调度的主要目的是什么?
处理机调度的主要目的是根据不同的系统, 提供不同的处理机管理策略, 以提高资源的
利用率, 提高系统的效率。 具体地讲, 处理机调度分为三个层次, 即作业调度、 对换和进程调度。
作业调度的任务是, 从外存上后备队列中, 选择一些附合条件的作业调入内存, 并为它创建进程、
分配必要的资源。 对换又称交换调度或中级调度, 其主要任务是按照给定的原则和策略, 将处于
外存交换区中的就绪状态或等待状态的进程调入内存, 或把处于内存就绪状态或内存等待状态的
进程交换到外存交换区,交换调度主要涉及到内存管理与扩充。进程调度的任务是将 CPU 分配
给一个处在就绪状态的进程。
2.高级调度与低级调度的主要功能是什么?为什么要引入中级调度?
高级调度即作业调度。 作业调度又称为高级调度或长调度, 用于选择把外存上处于后备
队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源。然后,再将新创建的进程排
在就绪队列上,准备执行。低级调度又称为进程调度,它的功能是按照某种策略和算法,将处理
机分配给一个处于就绪状态的进程。
3.处理机调度一般可分为哪三级?其中哪一级调度必不可少?为什么?
一个作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经
历以下三级调度:即作业调度、对换和进程调度。
其中,进程调度是必不可少的。因为进程调度是指,系统将 CPU 分配给一个就绪状态的进程,
即 CPU 是进程调度要分配的对象。如果没有进程调度,系统中的进程将无法执行。
4.作业在其存在过程中分为哪四种状态?
从进入系统到运行结束,一般要经历提交、后备、运行和完成 4 个阶段。相应地,作业
也有提交、后备、运行和完成 4 种状态。只有当作业处于后备状态时,该作业才可以被调度。
(1)提交状态。一个作业在其处于从输入设备进入外部存储设备的过程称为提交状态。处于提交
状态的作业,因其信息尚未全部进入系统,所以不能被调度程序选中。
(2)后备状态。 也称为收容状态。 输入管理系统不断地将作业输入到外存中对应部分 (或称输入井 )。
若一个作业的全部信息已全部被输入进输入井, 则在它还未被调度去执行之前, 该作业处于后备
状态。
(3)执行状态。作业调度程序从后备作业中选取若干个作业到内存投入运行。它为被选中作业建
立进程并分配必要的资源,这时,这些被选中的作业处于执行状态。
(4)完成状态。当作业运行完毕,但它所占用的资源尚未全部被系统回收时,该作业处于完成状
态。在这种状态下,系统需做如打印结果、回收资源等类似的善后处理工作。
5.作业提交后是否马上放在内存中?为什么?
作业提交后被放在作业后备队列上,只有被作业调度程序选中,进行作业调度,作业才
可能被放入内存。
6.在操作系统中,引起进程调度的主要因素有哪些?
在确定调度方式和调度算法时,评价的准则通常有 :
(1)面向用户的准则。这是面向用户的要求所需遵循的一些准则。其中,比较重要的有周转时间
短、响应时间快、截止时间的保证、优先权准则等。
(2)面向系统的准则。 从系统的整体要求方面, 在设计调度算法时应考虑整个系统的效 : 率,具体
包括如下因素 :
系统的吞吐量。 吞吐量是指在单位时间内系统所完成的作业数, 因而它与批处理作业的平均长度
具有密切关系。
处理机的利用率。但对于单用户的微机或某些实时系统,此准则就不太重要了。
各类资源的平衡利用。
7.作业调度与进程调度二者间如何协调工作?
作业是操作系统的任务实体,进程是完成任务的执行实体;没有作业任务,进程无事可干,没有进程,作业任务没法完成。批处理操作系统应用作业概念,大量作业在后援存储器中等待到内存,再以建立进程的方式执行,操作系统管理作业的运行过程而用户不能干涉;多道程序设计创建进程概念,包括分时,实时,交互等系统中采用进程为基本单位,用户能用命令等方式管理进程。
作业由“作业注册”程序负责为作业建立作业控制块JCB,称为作业进入系统,保存在后援存储器上,并把它加入后备作业队列中,等候作业调度进程调度。而作业被作业调度程序选中,分配内存等必要资源后,才建立一组相应进程,称为作业进入了运行状态。当作业正常完成后,“终止作业”程序收回JBC和资源。
8.在确定调度方式和调度算法时,常用的评价准则有哪些?
在确定调度方式和调度算法时,评价的准则通常有 :
(1)面向用户的准则。这是面向用户的要求所需遵循的一些准则。其中,比较重要的有周转时间
短、响应时间快、截止时间的保证、优先权准则等。
(2)面向系统的准则。 从系统的整体要求方面, 在设计调度算法时应考虑整个系统的效 : 率,具体
包括如下因素 :
系统的吞吐量。 吞吐量是指在单位时间内系统所完成的作业数, 因而它与批处理作业的平均长度
具有密切关系。
处理机的利用率。但对于单用户的微机或某些实时系统,此准则就不太重要了。
各类资源的平衡利用
9.简述先来先服务法、时间片轮转法和优先级调度算法的实现思想。
先来先服务调度算法( FCFS)的实现思想:按作业(或进程)到来的先后次序进行调
度,即先来的先得到执行。
时间片轮转法( RR)的实现思想:系统把所有就绪进程按先入先出的原则排成一个队
列。新来的进程加到就绪队列末尾。 每当执行进程调度时, 进程调度程序总是选出就绪队列
的队首进程, 让它在 CPU上运行一个时间片的时间。 当进程用完分给它的时间片后, 调度程
序便停止该进程的运行, 并把它放入就绪队列的末尾; 然后, 把CPU分给就绪队列的队首进
程。
优先级调度算法的实现思想: 是从就绪队列中选出优先级最高的进程, 把CPU分给它使
用。又分为非抢占式优先级法和抢占式优先级法。 前者是: 当前占用 CPU的进程一直运行下
去,直到完成任务或者因等待某事件而主动让出 CPU时,系统才让另一个优先级高的进程占
用CPU。后者是: 当前进程在运行过程中, 一旦有另一个优先级更高的进程出现在就绪队列
中,进程调度程序就停止当前进程的运行,强行将 CPU分给那个进程。
10.中断响应主要做哪些工作?由谁来做?
中断响应主要做的工作是:
①中止当前程序的执行;
②保存原程序的断点信息(主要是程序计数器 PC和程序状态寄存器 PS的内容);
③转到相应的处理程序。
中断响应由硬件实施。
11.一般中断处理的主要步骤是什么?
一般中断处理的主要步骤是: 保存被中断程序的现场, 分析中断原因, 转入相应处理程
序进行处理,恢复被中断程序现场(即中断返回)。
12.简述一条shell命令在Linux系统中的实现过程。
一条 shell 命令在 Linux 系统中的执行过程基本上按照如下步骤:
① 读取用户由键盘输入的命令行。
② 分析命令,以命令名作为文件名,其他参数改造为系统调用 execve( )内部处理所要
求的形式。
③ 终端进程调用 fork( ) 建立一个子进程。
④ 终端进程本身用系统调用 wait4( )来等待子进程完成(如果是后台命令,则不等待) 。
当子进程运行时调用 execve( ),子进程根据文件名(即命令名)到目录中查找有关文件(这
是命令解释程序构成的文件) ,调入内存,执行这个程序(即执行这条命令) 。
⑤ 如果命令末尾有 & 号(后台命令符号) ,则终端进程不用执行系统调用 wait4( ),而
是立即发提示符,让用户输入下一个命令,转步骤( 1)。如果命令末尾没有 &号,则终端进
程要一直等待,当子进程(即运行命令的进程)完成工作后要终止,向父进程(终端进程)
报告, 此时终端进程醒来, 在做必要的判别等工作后, 终端进程发提示符, 让用户输入新的
命令,重复上述处理过程。
13.Linux系统中,进程调度的方式和策略是什么?对用户进程和核心进程如何调度?
Linux系统的调度方式基本上采用“抢占式优先级”方式。
Linux系统针对不同类别的进程提供了三种不同的调度策略,即适合于短实时进程的
FIFO ,适合于每次运行需要较长时间实时进程的时间片轮转法,适合于交互式的分时进程
传统的 UNIX 调度策略。
Linux 系统核心为每个进程计算出一个优先级,高优先级的进程优先得到运行。在运行
过程中, 当前进程的优先级随时间递减, 这样就实现了“负反馈”作用, 即经过一段时间之
后,原来级别较低的进程就相对“提升”了级别,从而有机会得到运行。
Linux系统的调度方式基本上采用“抢占式优先级”方式, 当进程在用户模式下运行时,
不管它是否自愿,核心在一定条件下(如该进程的时间片用完或等待 I/O)可以暂时中止其
运行, 而调度其他进程运行。 一旦进程切换到内核模式下运行时,就不受以上, 而一直
运行下去,仅在重新回到用户模式之前才会发生进程调度。
第3章 应用题(每题10分,从以下5题中选择1个完成)
1.某分时系统的进程出现如图所示的状态变化。
(1)你认为该系统采用的进程调度算法是( A )。
A.时间片轮转法 B.先来先服务法
C.优先级法 D.最佳置换法
(2)根据以下A-F的提示,标识图中从①到⑥所示的每一个状态变化的原因。
A:进程被选中,变成运行态;
B:时间片到,运行的进程排入就绪队列尾部;
C:运行的进程启动打印机,等待打印;
D:打印工作结束,阻塞的进程排入就绪队列尾部;
E:等待磁盘读文件工作;
F:磁盘传输信息结束,阻塞的进程排入就绪队列尾部。
① A ; ② B ; ③ C ; ④ D ; ⑤ E ; ⑥ F
2.下表给出了作业1,2,3的提交时间和运行时间,时间单位为小时,以十进制进行计算。
表1 作业1,2,3的提交时间和运行时间
(1)若采用先来先服务调度算法,则调度次序是( D)。
A. l、2、3 B. 2、3、1
C. 3、2、1 D.1、3、2
(2)计算各个作业的周转时间和平均周转时间。
作业1的周转时间是( 8 );
作业2的周转时间是(11.6);
作业3的周转时间是( 12 );
3个作业的平均周转时间是( 10.53)
3.假定在单CPU条件下有下列要执行的作业:
作业到来的时间是按作业编号顺序进行的(即后面作业依次比前一个作业迟到一个时间单位)。
① 用一个执行时间图描述采用先来先服务法(FCFS)算法时执行这些作业的情况。
② 各个作业的周转时间是多少?平均周转时间是多少?
③ 各个作业的带权周转时间是多少?平均带权周转时间是多少?
4.假定在单CPU条件下有下列要执行的作业:
作业到来的时间是按作业编号顺序进行的(即后面作业依次比前一个作业迟到一个时间单位)。
① 用一个执行时间图描述采用时间片轮转法(RR,时间片=1)算法时执行这些作业的情况。
② 各个作业的周转时间是多少?平均周转时间是多少?
③ 各个作业的带权周转时间是多少?平均带权周转时间是多少?
5.假定在单CPU条件下有下列要执行的作业:
作业到来的时间是按作业编号顺序进行的(即后面作业依次比前一个作业迟到一个时间单位)。
① 用一个执行时间图描述采用非抢占式优先级(注意:优先数大的优先级高)算法时执行这些作业的情况。
② 各个作业的周转时间是多少?平均周转时间是多少?
③ 各个作业的带权周转时间是多少?平均带权周转时间是多少?
第4章 简答题(每题4分,从以下13题中选择3个完成)
1.存储器一般分为哪些层次?
如果按读写方式分为只读存储器(ROM)和可擦写存储器(RAM),其中,硬盘、内存等属于RAM,而BIOS内存,一般光盘等则属于ROM;如果按存储类型分可分为外存储器和内存储器,其中硬盘、内存等属于内存储器,光盘、软盘、U盘等则属于外存储器;按介质分可分为硬盘、内存、软盘、光盘等,硬盘和软盘以软磁盘片为介质,U盘、内存等以芯片为介质(读写速度极快),光盘则以塑料基片为介质
2.装入程序的功能是什么?常用的装入方式有哪几种?
装入程序的功能是根据内存的使用情况和分配策略,将装入模块放入分配到的内存区中。
程序装入内存的方式有三种,分别是绝对装入方式、可重定位装入方式和动态运行时装入方式。
3.对程序进行重定位的方式分为哪两种?简述各自的实现方式。
对程序进行重定位的方式分为静态重定位和动态重定位。
静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。对每个程序来说,这种地址变换只是在装入时一次完成,在程序运行期间不再进行重定位。
动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转换机构实现的。通常,采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间中的起始地址,而地址空间中的代码在装入过程中不发生变化。
4.对换技术如何解决内存不足的问题?
在多道程序环境中可以采用对换技术。此时,内存中保留多个进程。当内存空间不足以容纳要求进入内存的进程时,系统就把内存中暂时不能运行的进程(包括程序和数据)换出到外存上,腾出内存空间,把具备运行条件的进程从外存换到内存中。
5.解释固定分区法和动态分区法的基本原理。
固定分区法——内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同。每个分区只可装入一道作业。
动态分区法——各个分区是在相应作业要进入内存时才建立的,使其大小恰好适应作业的大小。
6.动态重定位分区管理方式中如何实现虚-实地址映射?
进程装入内存时,是将该其程序和数据原封不动地装入到内存中。当调度该进程在CPU上执行时,操作系统就自动将该进程在内存的起始地址装入基址寄存器,将进程的大小装入限长寄存器。当执行指令时,如果地址合法,则将相对地址与基址寄存器中的地址相加,所得结果就是真正访问内存的地址;如果地址越界,则发出相应中断,进行处理。
7.分页存储管理的基本方法是什么?
分页存储管理的基本方法是:逻辑空间分页,内存空间分块,块与页的大小相等。页连续而块离散,用页号查页表,由硬件作转换。
8.在分页系统中页面大小由谁决定?页表的作用是什么?
在分页系统中页面大小由硬件决定。
页表的作用是实现从页号到物理块号的地址映射。
9.如何将逻辑地址转换成物理地址?
逻辑地址转换成物理地址的过程是:用页号p去检索页表,从页表中得到该页的物理块号f,把它装入物理地址寄存器中。同时,将页内地址d直接送入物理地址寄存器的块内地址字段中。这样,物理地址寄存器中的内容就是由二者拼接成的实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。
10.考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问逻辑地址和物理地址各需要多少二进制位表示?
页面数为8=23,故需要3位二进制数表示。每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。32个物理块,需要5位二进制数表示(32=25)。页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。
11.虚拟存储器有哪些基本特征?
虚拟存储器的基本特征是:
虚拟扩充——不是物理上,而是逻辑上扩充了内存容量;
部分装入——每个进程不是全部一次性地装入内存,而是只装入一部分;
离散分配——不必占用连续的内存空间,而是“见缝插针”;
多次对换——所需的全部程序和数据要分成多次调入内存。
12.请求分页技术与简单分页技术之间的根本区别是什么?
请求分页技术与简单分页技术之间的根本区别是:请求分页提供虚拟存储器,而简单分页系统并未提供虚拟存储器。
13.页面抖动与什么有关?
好的页面置换算法能够适当降低页面更换频率,减少缺页率,尽量避免系统“抖动”。此外,一般来说,随着可用内存块数的增加,缺页数也将减少。
第4章 应用题(每题10分,从以下8题中选择1个完成)
1.若在一分页存储管理系统中,某作业的页表如表9所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。
表9 某作业的页表
| 页号 | 块号 |
| 0 1 2 3 | 2 3 1 6 |
0 2
1 3
2 1
3 6
页号和块号对应关系就是逻辑页和物理页的对应关系。
1011 页号 0 偏移 11 物理页 2 物理地址 2*1024+11 = 2059
2148 页号 1 偏移 100 物理页 3 物理地址 3*1024+100 = 3172
3000 页号 1 偏移 952 物理页 3 物理地址 3*1024+952 = 4024
4000 页号 2 偏移 928 物理页 1 物理地址 1*1024+11 = 1035
5012 页号 3 偏移 916 物理页 6 物理地址 6*1024+916 = 7060
2.某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如表10所示,计算逻辑地址0A5C(H)所对应的物理地址。
表10 用户页表
| 页号 | 物理块号 |
| 0 | 5 |
| 1 | 10 |
| 2 | 4 |
| 3 | 7 |
C55FH=49K+15FH,已经超出了寻址空间,所以找不到
205BH=8K+5BH,对应逻辑块的8块,没有分配物理内存,需要进行内存调度才可确定
3.考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6,当内存块数量分别为3,5时,试问使用先进先出法(FIFO)置换算法的缺页次数是多少?(注意,所有内存块最初都是空的,所以,凡第一次用到的页面都产生一次缺页。)
当内存块数量为3时:
发生缺页中断的次数为16。
在FIFO算法中,先进入内存的页面被先换出。当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4,可见4为最先进入内存的,本次应换出,然后把页6调入内存。
发生缺页中断的次数为15。 在LRU算法中,最近最少使用的页面被先换出。当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页面,分别为5、1、2,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。
4.考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6,当内存块数量分别为3,5时,试问使用最近最少置换算法(LRU)的缺页次数是多少?(注意,所有内存块最初都是空的,所以,凡第一次用到的页面都产生一次缺页。)
15
5.考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6,当内存块数量分别为3,5时,试问使用最佳置换算法(OPT)的缺页次数是多少?(注意,所有内存块最初都是空的,所以,凡第一次用到的页面都产生一次缺页。)
15
6.考虑下面存储访问序列,该程序大小为460字:
10,11,104,170,73,309,185,245,246,434,458,3
设页面大小是100字,请给出该访问序列的页面走向。又设该程序基本可用内存是200字,如果采用先进先出(FIFO)置换算法,缺页率是多少。(注:缺页率=缺页次数/访问页面总数)
15
7.考虑下面存储访问序列,该程序大小为460字:
10,11,104,170,73,309,185,245,246,434,458,3
设页面大小是100字,请给出该访问序列的页面走向。又设该程序基本可用内存是200字,如果采用最近最少使用置换算法(LRU),缺页率是多少?(注:缺页率=缺页次数/访问页面总数)
15
8.考虑下面存储访问序列,该程序大小为460字:
10,11,104,170,73,309,185,245,246,434,458,3
设页面大小是100字,请给出该访问序列的页面走向。又设该程序基本可用内存是200字,如果采用最佳置换算法(OPT),缺页率是多少?(注:缺页率=缺页次数/访问页面总数)
15
形考作业3
第5章 简答题(每题4分,从以下12题中选择3个完成)
1.UNIX/Linux系统中文件分为哪些类型?
UNIX/Linux系统中文件分为以下类型:普通文件,目录文件,特殊文件。
2.文件的逻辑组织有几种形式?
文件的逻辑组织有以下形式:无结构文件和有结构文件。无结构文件是指文件内部不再划分记录,它是由一组相关信息组成的有序字符流,即流式文件。有结构文件又称为记录式文件,它在逻辑上可被看成一组连续顺序的记录的集合,又可分为定长记录文件和变长记录文件两种。
3.文件的物理组织形式主要有哪几种?各有什么优缺点?
4. 文件的物理组织形式主要有:连续文件、链接文件、索引文件、多重索引文件。各自的优缺点见下表:
| 优 点 | 缺 点 | |
| 连续文件 | 顺序存取速度较快。 | 建文件时就确定它的长度很难实现;它不便于文件的动态扩充;可能出现外部碎片,从而造成浪费。 |
| 链接文件 | 克服了连续文件的缺点。 | 一般仅适于顺序访问,而不利于对文件的随机存取;每个物理块上增加一个连接字,为信息管理添加了一些麻烦;可靠性差。 |
| 索引文件 | 除了具备链接文件的优点之外,还克服了它的缺点。 | 需要增加索引表带来的空间开销。往往以内存空间为代价来换取存取速度的改善。 |
| 多重索引文件 | 除具有一般索引文件的优点外,还可满足对灵活性和节省内存的要求。 | 间接索引需要多次访盘而影响速度。 |
一般说来,文件系统应具备以下功能:文件管理;目录管理;文件存储空间的管理;文件的共享和保护;提供方便的接口。
6.文件控制块与文件有何关系?
文件控制块——用于控制和管理文件的数据结构,其中包括文件名、文件类型、位置、大小等信息。
文件控制块与文件一一对应,即在文件系统内部,给每个文件唯一地设置一个文件控制块,核心利用这种结构对文件实施各种管理。
7.文件系统中的目录结构有哪几种基本形式?各有何优缺点?UNIX/Linux系统中采用哪种目录结构?
文件系统中的目录结构有:单级目录结构,二级目录结构,树形目录结构,非循环图目录结构。各自的优缺点如下表:
| 目录结构 | 优 点 | 缺 点 |
| 单级目录 | 简单,能实现按名存取。 | 查找速度慢;不允许重名; 不便于共享。 |
| 二级目录 | 允许重名;提高了检索目录的速度。 | 仍不利于文件共享。 |
| 树形目录 | 文件的层次和隶属关系很清晰,便于实现不同级别的存取保护和文件系统的动态装卸。 | 只能在用户级对文件进行临时共享。 |
| 非循环图目录 | 具有树形结构的优点,而且实现对文件的永久共享。 | 管理较复杂。 |
8.常用的磁盘空闲区管理技术有哪几种?试简要说明各自的实现思想。
9.什么是文件的共享?文件链接如何实现文件共享?
文件的共享是指系统允许多个用户(进程)共同使用某个或某些文件。
文件链接是给文件起别名,即将该文件的目录项登记在链接目录中。这样,访问该文件的路径就不只一条。不同的用户(或进程)就可以利用各自的路径来共享同一文件。
10.什么是文件保护?常用的保护机制有哪些?
文件保护——是指文件免遭文件主或其他用户由于错误的操作而使文件受到破坏。
常用的文件保护机制有:
① 命名——自己的文件名,不让他人知道;
② 口令——对上口令,才能存取;
③ 存取控制——有权才可存取,不同权限干不同的事;
④ 密码——信息加密,解密复原。
11.在UNIX/Linux系统中,如何表示一个文件的存取权限?
在UNIX/Linux系统中,一个文件的存取权限用9个二进制位表示:前三位分别表示文件主的读、写和执行权限,中间三位分别表示同组用户的读、写和执行权限,最后三位分别表示其他用户的读、写和执行权限。
12.什么是文件的备份?数据备份的方法有哪几种?按时机分,备份分哪几种?
文件备份就是把硬盘上的文件在其它外部的存储介质(如磁带或软盘)上做一个副本。
数据备份的方法有完全备份、增量备份和更新备份三种。
按时机分,后备分为“定期备份”和“不定期备份”。
13.在Linux系统中,为什么要提供VFS?
Linux系统可以支持多种文件系统,为此,必须使用一种统一的接口,这就是虚拟文件系统(VFS)。通过VFS将不同文件系统的实现细节隐藏起来,因而从外部看上去,所有的文件系统都是一样的。
第6章 简答题(每题4分,从以下9题中选择2个完成)
1.操作系统中设备管理的功能是什么?
在一般操作系统中,设备管理实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收。
操作系统的五大管理功能:
(1)作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等;
(2)文件管理:又称为信息管理;
(3)存储管理:实质是对存储“空间”的管理,主要指对主存的管理;
(4)设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收;
(5)进程管理:实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。
2.UNIX/Linux系统中主次设备号各表示什么含义?
定义:mknod - make block or character special files
语法:mknod /dev/ttyUSBn c Major Minor
1,n要等于次设备号Minor,且要小于主设备号Major.
2, c:面向字符设备(b:面向块设备,如:磁盘、软盘、磁带;其他设备基本都为字符设备).
实例:
ls -la /dev/ttyUSB*
crw-rw—- 1 root dialout 188, 0 2008-02-13 18:32 /dev/ttyUSB0
mknod /dev/ttyUSB32 c 188 32
3.设备分配技术主要有哪些?常用的设备分配算法是什么?
设备分配技术主要有:独占分配、共享分配和虚拟分配。常用的设备分配算法是:先来先服务算法和优先级高的优先服务算法。
4.SPOOLing系统的主要功能是什么?
POOLing 系统实现设备管理的虚拟技术,即:将独占设备改造为共享设备
5.一般I/O软件系统的层次是怎样的?
共有5层,从底到高依次是硬件->中断处理程序->设备驱动程序->设备性软件->用户层I/O软件
硬件:I/O设备
中断处理程序:用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后恢复现场,并返回到被中断的进程
设备驱动程序:与硬件直接有关,用来具体实现系统对设备发出的操作指令,驱动I/O设备工作
设备性软件:用于实现用户程序与设备驱动器的统一接口、设备命令、设备保护,以及设备分配与释放等。
最高层:用于实现用户与I/O设备交互
6.设备驱动程序的主要功能是什么?它在系统中处于什么位置?
Linux 系统中对设备管理具有下列共性:① 每个设备都对应文件系统中的一个索引节 点,都有一个文件名;② 应用程序通常可以通过系统调用 open( )打开设备文件,建立起与 目标设备的连接; ③ 对设备的使用类似于对文件的存取; ④ 设备驱动程序是系统内核的一 部分,它们必须为系统内核或者它们的子系统提供标准的接口;⑤ 设备驱动程序利用一些 标准的内核服务,如内存分配等
7.为什么要引入缓冲技术?设置缓冲区的原则是什么?
引入缓冲技术的主要目的是:① 缓和 CPU 与 I/O 设备间速度不匹配的矛盾;② 提高 它们之间的并行性;③ 减少对 CPU 的中断次数,放宽 CPU 对中断响应时间的要求。 设置缓冲区的原则是:如果数据到达率与离去率相差很大,则可采用单缓冲方式;如果 信息的输入和输出速率相同(或相差不大) 时,则可用双缓冲区;对于阵发性的输入、输出, 可以设立多个缓冲区。
8.处理I/O请求的主要步骤是什么?
处理 I/O 请求的主要步骤是:用户进程发出 I/O 请求;系统接受这个 I/O 请求,转去执 行操作系统的核心程序;设备驱动程序具体完成 I/O 操作;I/O 完成后,系统进行 I/O 中断 处理,然后用户进程重新开始执行。
9.Linux系统中对设备怎样管理?
Linux 系统中对设备管理具有下列共性:① 每个设备都对应文件系统中的一个索引节 点,都有一个文件名;② 应用程序通常可以通过系统调用 open( )打开设备文件,建立起与 目标设备的连接; ③ 对设备的使用类似于对文件的存取; ④ 设备驱动程序是系统内核的一 部分,它们必须为系统内核或者它们的子系统提供标准的接口;⑤ 设备驱动程序利用一些 标准的内核服务,如内存分配等。
第7章 简答题(每题4分,从以下9题中选择2个完成)
1.推动操作系统发展的主要动力是什么?
(1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。
2.嵌入式系统与通用计算机系统有何异同?
嵌入式系统和通用计算机系统从外观、结构组成、运行方式、开发平台、应用等方面有关联又有区别,如下表所示:
3.嵌入式操作系统的最大特点是什么?举例说明。
4.分布式系统有哪些主要特征?
5.分布式操作系统的主要功能是什么?
6.多机系统主要包括哪几种类型?它们之间有何异同?
第5-6章 应用题(每题10分,从以下8题中选择1个完成)
1.设Linux文件系统中的目录结构如图所示:
图 Linux文件系统中的目录结构
(1)Linux文件系统采用的目录结构是什么?
UNIX的文件系统采用的是带链接的树形目录结构,即非循环图目录结构。其优点是易于实现文件共享
(2)设当前工作目录是/usr,则访问文件m1.c的相对路径名是什么?
访问文件m1.c的绝对路径名是: /usr/mengqc/mub1/m1.c
访问文件m1.c的相对路径名是:mengqc/mub1/m1.
(3)cd /usr/liu命令的功能是什么?
把工作目录改到liu
(4)如果用ls –l /usr/mengqc/mub1命令列出指定目录的内容,其中有如下所示的一项:- r w - - - - 2 mengqc group 198 Jun 23 2010 m2.c
那么,该文件m2.c对文件主和同组用户的权限是什么?
文件主权限是可读、可写,但不可执行;同组用户权限是只可读:其他用户权限是无,即不能读、写成执行。
2.假设一个磁盘有200个磁道,编号从0~199。当前磁头正在143道上服务,并且刚刚完成了125道的请求。如果寻道请求队列的顺序是:
86, 147, 91, 177, 94, 150, 102, 175, 130
问:为完成上述请求,采用先来先服务磁盘调度算法(FCFS)时磁头移动的总量是多少?
3.假设一个磁盘有200个磁道,编号从0~199。当前磁头正在143道上服务,并且刚刚完成了125道的请求。如果寻道请求队列的顺序是:
86, 147, 91, 177, 94, 150, 102, 175, 130
问:为完成上述请求,采用最短寻道时间优先磁盘调度算法(SSTF)时磁头移动的总量是多少?
4.假设一个磁盘有200个磁道,编号从0~199。当前磁头正在143道上服务,并且刚刚完成了125道的请求。如果寻道请求队列的顺序是:
86, 147, 91, 177, 94, 150, 102, 175, 130
问:为完成上述请求,采用电梯磁盘调度算法时自磁头移动的总量是多少?下载本文