2018年中山大学数据科学与计算机学院408计算机学科专业基础综合之计算机操作系统考研仿真模拟五套题
● 摘要
一、综合题
1. 按调度方式可将实时调度算法分为哪几种?
【答案】按调度方式的不同,实时调度算法可分为非抢占调度算法和抢占调度算法。由于非抢占式调度算法比较简单,易于实现,故在一些小型实时系统或要求不太严格的实时控制系统中经常采用之,可以分为非抢占式轮转调度算法和非抢占式优先调度算法;在要求较严格的(响应时间为数十毫秒以下)的实时系统中,应采用抢占式优先权调度算法,可根据抢占发生时间的不同而进一步分成基于时钟中断的抢占式优先权调度算法和立即抢占的优先权调度算法。
2. 如果希望把filel 的内容附加到原有的文件file2的末尾,应用什么命令?
【答案】如果把filel 的内容附加到原有的文件file2的末尾,则应用重定向命令如下:
3. 由连续组织方式所形成的顺序文件的主要优缺点是什么?它主要应用于何种场合?
【答案】(1)连续组织方式所形成的顺序文件的主要优点
①顺序访问容易
访问连续文件非常容易,系统可从目录中找到该顺序文件所在的第一个盘块号,从此开始逐个盘块地往下读,写。连续分配也支持对定长记录的文件进行随机存取。
②顺序访问速度快
由连续分配所装入的文件,其所占用的盘块可能是位于一条或几条相邻的磁道上,磁头的移动距离最少,因此,这种对文件访问的速度是几种存储空间分配方式中最高的一种。
(2)连续组织方式所形成的顺序文件的主要缺点
①要求为一个文件分配连续的存储空间
由内存的连续分配得知,这样便会产生出许多外部碎片,严重地降低了外存空间的利用率。如果是定期地利用紧凑方法来消除碎片,则又需花费大量的机器时间。
②必须事先知道文件的长度
要将一个文件装入一个连续的存储区中,必须事先知道文件的大小。知道文件的大小有时只能靠估算,如果估计的文件大小比实际文件小,就会因存储空间不足而中止文件的拷贝,要求用户重新估算后再次拷贝。这就促使用户将文件长度估得比实际的大,从而造成浪费。
③不能灵活地删除和插入记录
为保持文件的有序性,在删除和插入记录时,都需要对相邻的记录做物理上的移动,还会动
态地改变文件的大小。
④对于那些动态增长的文件,由于事先很难知道文件的最终大小,因而很难为其分配空间,而即使事先知道文件的最终大小,在采用预分配存储空间的方法时,也会使大量的存储空间长期空闲。
(3)主要适用场合
连续组织方式所形成的顺序文件是一种最简单、最常用的文件组织方法,它适用于许多资料处理的场合,如磁带文件,打印文件都是常用的顺序文件。
4. 为什么要在0S 中引入线程?
【答案】在操作系统中引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量,而在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的时空开销,使0S 具有更好的并发性。
5. 什么是移动代码?为什么说在应用程序中包含了移动代码就可能不安全?
【答案】如果一个程序在运行时,能在不同机器之间来回迁移,那么该程序就被称为移动代码。
如果在一个用户程序中包含了移动代码,当为该用户程序建立进程后,该移动代码将占用该进程的内存空间,并作为合法用户的一部分运行,拥有用户的访问权限。这样显然不能保证系统安全。因为别有用心的人完全可以借助于移动代码的帮助进入到其它系统,以合法用户的身份进行窃取和破坏。
6. 何谓成组调度方式?按进程平均分配处理器和按线程平均分配处理器时间的方法,哪个更有效?
Leutenegger 提出了成组调度方式。【答案】为了解决在自调度方式中线程被频繁切换的问题,
该方式将一个进程中的一组线程分配到一组处理器上去执行。在成组调度时,如何为应用程序分配处理器时间,可考虑采用以下两种方式:
(1)面向所有应用程序平均分配处理器时间
假定系统中有N 个处理机和M 个应用程序,每个应用程序中至多含有N 个线程,则每个应用程序至多可有1/M的时间去占有N 个处理机。例如,有4台处理器及两个应用程序,其中,应用程序A 中有4个线程,应用程序B 中有一个线程。这样,每个应用程序可占用4台处理机一半(1/2)的时间。图 (a )示出了此时处理器的分配情况。由图可看出,使用这种分配方式,在应用程序A 运行时,4台处理器都在忙碌;而应用程序B 运行时,则只有1台处理器忙碌,其它3台空闲。因此,将有3/8的处理器时间(即37.5%)被浪费了。
图 两种分配处理机时间的方法
(2)面向所有线程平均分配处理机时间
由于应用程序A 中有4个线程,应用程序B 中只有1个线程,因此,应为应用程序A 分配4/5的时间,只为应用程序B 分配1,5的时间,如图 (b )所示。此时,将只有15%的处理机时间被浪费。可见,按线程平均分配处理机时间的方法更有效。
7. 早期常采用的内部攻击方式有哪几种?
【答案】(1)窃取尚未清除的有用信息。在许多OS 中,在进程结束归还资源时,在有的资源中可能还留存了非常有用的信息,但系统并未清除它们。攻击者为了窃取这些信息,会请求调用许多内存页面和大量的磁盘空间或磁带,以读取其中的有用信息。
(2)通过非法的系统调用搅乱系统。攻击者尝试利用非法系统调用,或者在合法的系统调用中使用非法参数,还可能使用虽是合法、但不合理的参数来进行系统调用,以达到搅乱系统的目的。
(3)使系统自己封杀校验口令程序。通常每个用户要进入系统时,必须输入口令,攻击者为了逃避校验口令,登录过程中他会按DEL 或者BREAK 键等。在这种情况下,有的
系统便会封杀掉校验口令的程序,即用户无需再输入口令便成功登录。
(4)尝试许多在明文规定中不允许做的操作。为了保证系统的正常运行,在OS 手册中会告知用户,有哪些操作不允许用户去做。然而攻击者恰反其道而行之,专门去执行这些不允许做的操作,企图破坏系统的正常运行。
(5)在OS 中増添陷阱门。攻击者通过软硬兼施的手段,要求某个系统程序员在OS 中増添陷阱门。陷阱门的作用是,使攻击者可以绕过口令检查而进入系统。我们将在后面对陷阱门作详细介绍。
(6)骗取口令。攻击者可能伪装成一个忘记了口令的用户,找到系统管理员,请求他帮助查出某个用户的口令。在必要时攻击者还可通过贿赂的方法,来获取多个用户的口令。一旦获得这些用户的口令后,便可用合法用户的身份进入系统。
8. 在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?
【答案】(1)适合批处理系统的调度算法有短作业优先、优先权、高响应比优先和多级反馈