1.操作系统具有哪些特征?它们之间有何关系?
答:特征:并发、共享、虚拟、异步性。
关系:(1)并发和共享是操作系统最基本的特征。
(2)并发和共享互为存在的条件。
(3)虚拟以并发和共享为前提条件。
(4)异步性是并发和共享的必然结果。
2.分时系统和实时系统有什么不同?
答:我们可以从及时性、交互性以及可靠性来谈分时系统和实时系统的不同。
(1)及时性。
实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所
要求的开始截止时间或完成截止时间来确定的。
(2)交互性。
实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。
它不像分时系统那样能向终端
用户提供数据处理服务、资源共享等服务。
(3)可靠性。
分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。
3.操作系统为什么要引入进程?进程与程序的关系是怎样的?
答:为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,所以操作系统引入了进程。
关系:(1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。
而进程不同,它是程序在某个数据集上的执行。
进
程是一个动态的实体,它有自己的生命周期。
(2)进程和程序并不是一一对应的,一个程序运行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。
而这一点
是程序无法做到的。
一般来说,一个进程肯定有一个与之对应的程序,
而且只有一个。
4.操作系统为什么要引入线程?进程与线程的关系是怎样的?
答:为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,
所以操作系统引入了线程。
关系:(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
线程是操作系统可识别的最小执行和调度单位。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和
静态变量),扩展段(堆存储)。
但是每个线程拥有自己的栈段,栈段
又叫运行时段,用来存放所有局部变量和临时变量。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。
不同进程的线程间要利用消息通信的办法实现同步。
5.试说明进程互斥、同步和通信三者之间的关系。
答:进程的同步与互斥是指进程在推进时的相互制约关系。
在多道程序系统中,由于资源共享与进程合作,这种进程间的制约称为可能。
为了保证进程的正确运行以及相互合作的进程之间交换信息,需要进程之间的通信。
进程之间的制约关系体现为:进程的同步和互斥。
6.何谓死锁?产生死锁的原因是什么?
7.作业调度和进程调度有什么区别?
答:进程调度是真正让某个就绪状态的进程到处理机上运行,而作业调度只是使作业具有了竞争处理机的机会。
进程调度:是按照某种调度算法从就绪状态的进程中选择一个进程到处理机上运行。
负责进程调度功能的内核程序称为进程调度程序。
作业调度:是按某种调度算法从后备作业队列中选择作业装入内存运行;另外当该作业执行完毕后,还负责回收系统资源。
完成作业调度功
能的程序称为作业调度程序。
8.简述什么是内存的覆盖和交换技术?两者有什么区别?
答:交换技术:在多道系统中,交换是指系统把内存中暂时不能运行的某部分作业写入外存交换区,腾出空间,把外存交换区中具备运行条件的
指定作业调入内存。
交换是以时间来换取空间,减少对换的信息
量和时间是设计时要考虑的问题。
覆盖技术:调入共享区的内容覆盖前面调入的内容,这就是内存的覆盖技术。
两者的区别主要有:(1)交换技术由操作系统自动完成,不需要用户参与,而覆盖技术需要专业的程序员给出作业各部分之间的覆盖结构,并清楚系统的存储结构;(2)交换技术主要在不同作业之间进行,而覆盖技术主要在同一个作业内进行;(3)另外覆盖技术主要在早期的操作系统中采用,而交换技术在现代操作系统中仍具有较强的生命力。
9.分页与分段存储管理有何区别?
答:1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而
不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的
信息。
分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,
是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度
却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行
编辑时,根据信息的性质来划分。
3、分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一
个记忆符,即可表示一地址。
分段的作业地址空间是二维的,程序员在
标识一个地址时,既需给出段名,又需给出段内地址。
10.什么是虚拟设备?实现虚拟设备的关键技术是什么?SPOOLing系统由哪几部分组成?
拟低速设备,被模拟的设备称为虚拟设备。
实现虚拟设备的关键技术是SPOOLing技术。
SPOOLing系统由以下四部分组成:
(1)输入井和输出井;(2)输入缓冲区和输出缓冲区;(3)输入进程和输出进程;(4)井管理程序。
综合题:
1、生产者、消费者同步问题,读者写者同步问题。
2、作业、进程调度算法
2.设有三道作业,它们的提交时间及执行时间由下表给出:
作业号提交时间执行时间
18.5 2.0
29.2 1.6
39.40.5
试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间(时间单位:小时,以十进制进行计算;要求写出计算过程)(10分)FCFS:作业号提交时间执行时间开始时间完成时间周转时间
18.5 2.08.510.5 2.0
29.2 1.610.512.1 2.9
39.40.512.112.6 3.2
平均周转时间=(2.0+2.9+3.2)/3=2.7(小时)
SJF:作业号提交时间执行时间开始时间完成时间周转时间
18.5 2.08.510.5 2.0
29.2 1.611.012.6 3.4
39.40.510.511.0 1.6
平均周转时间=(2.0+3.4+1.6)/3=2.3(小时)
3、死锁中的银行家算法
4、磁盘调度算法
3.假定当前磁头位于100号磁道,进程对磁道的请求序列依次为55,58,39,18,90,160,150,38,180。
当采用先来先服务和最短寻道时间优先算法时,总的移动的磁道数分别是多少?(请给出寻道次序和每步移动磁道数)(8分)
FCFS:服务序列依次为:55,58,39,18,90,160,150,38,180
移动的磁道数分别是:45,3,19,21,72,70,10,112,142 总的移动的磁道数是:494
SSTF:服务序列依次为:90,58,55,39,38,18,150,160,180
移动的磁道数分别是:10,32,3,16,1,20,132,10,20 总的移动的磁道数是:244
先来先服务算法(FCFS),
最短寻道时间优先算法(SSTF),
扫描算法(SCAN),
循环扫描算法(CSCAN)
5、页面置换算法
考虑下述页面走向:
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少?
答:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。
当内存块数量为3时:
1.FIFO
发生缺页中断的次数为16。
在FIFO算法中,先进入内存的页面被先换出。
当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4,可见4为最先进入内存的,本次应换出,然后把页6调入内存。
2.LRU
发生缺页中断的次数为15。
在LRU算法中,最近最少使用的页面被先换出。
当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页面,分别为5、1、2,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。
3.OPT
发生缺页中断的次数为11。
在OPT算法中,在最远的将来才被访问的页面被先换出。
当页6要调入时,内存的状态为1、2、5,考查页6后面要调入的页面,分别为2、1、2、…,可见5为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。
LRU算法:选择近期最少访问的页作为被替换页。
无Belady异常
FIFO算法:是一个实现起来比较简单的页面置换算法,其基本原则是“选择最早进入主存的页面淘汰”,理由是最早进入的页面,其不再使用的可能性比最近调入的页面要大。
有Belady异常
OPT算法:根据未来实际使用情况将未来的近期里不用的页替换出去。
这种算法是用来评价期它替换算法好坏的标准。
不可能实现。
所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。
无Belady异常。