当前位置:问答库>考研试题

2017年中国科学技术大学研究生院科学岛分院408计算机学科专业基础综合之计算机操作系统考研强化模拟题

  摘要

一、综合题

1. 如何设置系统调用所需的参数?

【答案】每一条系统调用都含有若干个参数,在执行系统调用时,将这些参数传递给陷入处

,常用的实现方式有以下几种: 理机构和系统内部的子程序(过程)

(1)陷入指令自带方式。陷入指令除了携带一个系统调用号外,还要自带几个参数进入系统内部,由于一条陷入指令的长度是有限的,因此自带的只能是少量的、有限的参数;

(2)直接将参数送入相应的寄存器中。MS-DOS 便是采用的这种方式,即用MOV 指令将各个参数送入相应的寄存器中。系统程序和应用程序显然都可以访问这种寄存器。这种方式的主要问题是由于这种寄存器数量有限,因而限制了所设置参数的数目;

(3)参数表方式。将系统调用所需的参数放入一张参数表中,再将指向该参数表的指针放在某个指定的寄存器中。

2. 计算机病毒的特征是什么?它与一般的程序有何区别?

【答案】计算机病毒与一般的程序有着明显的区别,其特征主要包括:

(1)寄生性。病毒程序通常不是一个独立的程序,经常是寄生在某个文件中或是磁盘的系统区中,寄生于文件中的病毒称为文件型病毒,而侵入到磁盘系统区中的则称为系统型病毒。还有一种综合型病毒,它既寄生于文件中,又能侵占磁盘系统区;

(2)传染性。计算机病毒在运行过程中将进行自我复制,并将复制品放置在其它文件中或盘上的某个系统区中,文件被感染后便含有了该病毒的一个克隆体,而这个克隆体也同样会传染给其它的文件,如此不断地传染,使病毒迅速蔓延开来;

(3)隐蔽性。为了逃避反病毒软件的检测,计算机病毒的设计者通过伪装,隐藏,变态等手段,将病毒隐藏起来,以逃避反病毒软件的检测,使病毒能在系统中长期生存;

(4)破坏性。表现在占用系统空间,占用处理机时间,对系统中的文件造成破坏,使机器运行产生异常情况。

它与一般程序的区别:病毒程序通常不是独立的程序,具有自我复制和迅速传播的传染性,想方设法隐藏自身,其存在的基本目标就是破坏。

3. 试叙述动态分区中采用自由链对内存进行管理的方法,并对各种分配算法进行比较。

【答案】(1)首次适应算法。这种算法把空闲分区按其所在存储空间中地址递增的顺序链接在一起。当用户申请一块内存空间时,从空闲区链表的头指针开始查找,选择第一个满足要求的空闲分区。如果它不等于作业大小,将其分成两部分,一部分给作业,另一部分仍留在空闲区链

表中;

(2)最佳适应算法。此种算法把空闲分区链表按分区大小由小到大进行组织。当有作业申请内存时,总是首先找到满足要求的最接近于作业大小的空闲分区。因分区大小与作业相近,从而避免将较大的分区分成两部分,当有较大的作业要求分配内存时,容易得到满足;

(3)最差适应算法。这种算法要求把空闲区按从大到小递减的顺序组织成空闲区链表。当用户申请一个存储区时,总是检查空闲区链表的第一个空闲区是否满足要求,若不满足,分配失败;若满足,则将该空闲区分配给用户,然后修改和调整空闲区链表。

这三种算法,各有利弊,应针对具体的作业序列来分析。如果对于某一作业序列来说,某种算法能将该作业序列中的所有作业安置完毕,那么就认为该算法对这一作业序列而言是合适的。实际应用时,应综合考虑不同情况,如用户要求、内存大小、作业平均大小等因素,选择合适的分配算法。

4. 何谓提前读和廷迟写?

【答案】(1)提读的定乂

提前读是指用户(进程)对文件进行访问时,经常采用顺序访问方式,即顺序地访问文件各盘块的数据。在这种情况下,在读当前块时可以预知下一次要读的盘块。因此,可以采取预先读方式,即在读当前块的同时,还要求将下一个盘块(提前读的块)中的数据也读入缓冲区。这样,当下一次要读该盘块中的数据时,由于该数据已被提前读入缓冲区,因而此时便可直接从缓冲区中取得下一盘块的数据,而不需再去启动磁盘I/0, 从而大大减少了读数据的时间。这也就等效于提高了磁盘I/O的速度。

(2)延迟写的定义

延迟写是指在缓冲区中的数据,本应立即写回磁盘,但考虑到该缓冲区中的数据在不久之后

,因而并不立即将该缓冲区中的数据写入磁盘,可能还会再被本进程或其它进程访问(共享资源)

而是将它挂在空闲缓冲区队列的末尾。随着空闲缓冲区的使用,缓冲区也缓缓往前移动,直至移到空闲缓冲队列之首。当再有进程申请到该缓冲区时,才将该缓冲区中的数据写入磁盘,而把该缓冲区作为空闲缓冲区分配出去。当该缓冲区仍在队列中时,任何访问该数据的进程,都可直接读出其中的数据而不必去访问磁盘。这样,又可进一步减小等效的磁盘I/O时间。

5. 试说明收容输入工作缓冲区和提取输出工作缓冲区的工作情况。

【答案】缓冲区的工作方式如图所示。

图 缓冲区的工作方式

(1)收容输入

在输入进程需要输入数据时,便调用Getbuf (emq )过程,从空缓冲队列emq 的队首摘下一空缓冲区,把它作为收容输入工作缓冲区hin 。然后,把数据输入其中,装满后再调用Putbuf (inq , hin )过程,将该缓冲区挂在输入队列inq 上;

(2)提取输出

由输出进程调用Getbuf (outq )过程,从输出队列的队首取得装满输出数据的缓冲区,作为提取输出工作缓冲区sout 。在数据提取完后,再调用Putbuf (emq , sout )过程,将该缓冲区挂在空缓冲队列末尾。

6. 时间片轮转调度算法中,时间片q 的选取对系统有什么影响?

【答案】时间片长度的选择是一个重要问题,它将直接影响系统开销和响应时间。如果时间片长度很小,则调度程序剥夺处理机的次数频繁,加重系统开销;反之,如果时间片长度选择过长,用户进程将不能及时得到响应,例如,一个时间片就能保证就绪队列中所有进程都执行完毕,轮转法就退化成先来先服务算法。

时间片长度的选择是根据系统对响应时间的要求R 和就绪队列中所允许的最大进程数

定的。它可表示为:

在q 为常数的情况下,如果就绪队列中的进程数发生远小于

系统开销也不变。

7. 试说明推动I/O控制发展的主要因素是什么。

【答案】在I/O控制方式的整个发展过程中,始终贯穿着这样一条宗旨,即尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以便更多地去完成数据处理任务。这也是推动I/O控制发展的主要动力。同时,中断机制在计算机系统中的引入、DMA 控制器的出现和通道研制的成功使I/O控制的发展使其成为可能,并具备了技术支持。

8. 在以进程为单位进行对换时,每次是否都将整个进程换出?为什么?

【答案】(1)在以进程为单位进行对换时,并非每次都将整个进程换出。

(2)在以进程为单位进行对换式,并非每次都将整个进程换出的原因

①从结构上讲,进程由程序段、数据段和进程控制块组成,其中进程控制块总有部分或全部常驻内存,不被换出;

②程序段和数据段可能正被若干个进程共享,此时它们也不能被换出。

9. 对系统安全性的威胁有哪几种类型?

【答案】对系统安全性的威胁主要包括:假冒用户身份、数据截取、拒绝服务、修改信息、伪

确的变化,则响应时间R 看上去会大大减小。轮转法(Round Robin)的系统开销:当q 值固定,进程上下文切换的时机不变,