操作系统 笔试题 (1)——每天学一点,天天都进步

1. 某系统中有11台打印机,N个进程共享打印机资源,每个进程要求3台,当N的取值不超过()时系统不会发生死锁。

A.4
B.5
C.6
D.7

解题思路:

可以用哲学家就餐问题的思想解决此类问题,不发生死锁的条件是至少能保证一个进程能获得三台打印机资源。每个进程要求3台,所以先给每个进程2台,再如果多出一台,分给某一个进程,等这个进程执行完了,释放自己的资源给其他进程用,这样就不会发生死锁。2N+1=11,得N=5。
总结:M-N*(Max-1)>=1

2. 下面关于inode描述错误的是?

A.inode和文件是一一对应的
B.inode能描述文件占用的块数
C.inode描述了文件大小和指向数据块的指针
D.通过inode实现文件的逻辑结构和物理结构的转换

解题思路:
这里是百度百科----硬链接,有想法可以了解一下

一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码都对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"。

3. 进程调度是从()选择一个进程投入运行。

A.就绪队列
B.等待队列
C.作业后备队列
D.提交队列操作系统 笔试题 (1)——每天学一点,天天都进步
解题思路:

就绪队列是等待CPU时间的队列,其中存放着等待执行的任务,等待队列是等待资源的到来,

4. 在所有非抢占CPU调度算法中,系统平均响应时间最优的是()

A.实时调度算法
B.短任务优先算法
C.时间片轮转算法
D.先来先服务算法

解题思路:

短任务优先系统平均响应时间最短,但是往往不能确定所有任务的运行时间
先来先服务平均响应时间最长,不适用于分时系统
时间片轮转,适用于分时系统,但是增加了抢占以切换进程,算法性能依赖于时间片大小

5. 什么是内存抖动(Thrashing)( )

A.非常频繁的换页活动
B.非常高的CPU执行活动
C.一个极长的执行进程
D.一个极大的虚拟内存

解题思路:

抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,使得系统把大部分时间用在了页面的调进换出上,而几乎不能完成任何有效的工作,我们称这种现象为"抖动"

6. 下面有关Cache的说法哪一个是不正确的?

A.设置Cache的目的,是解决CPU和主存之间的速度匹配问题
B.设置Cache的理论基础,是程序访问的局部性原理
C.Cache与主存统一编址,Cache的地址空间属于主存的一部分
D.Cache的功能均由硬件实现,对程序员是透明的

解题思路:

A。Cache出现的原因就是为了解决CPU与主存之间的速度匹配问题,CPU速度>Cache速度>主存速度。
B。程序访问的局部性原理是一个程序在运行的某一时段,它访问的代码或数据大部分是集中在某一块区域的。
C.Cache是介于处理器和主存储器之间的高速小容量存储器,因此它不属于主存的一部分。
D。Cache是由硬件实现。

7. 下列关于线程说法错误的是?

A.耗时的操作使用线程,提高程序响应
B.耗内存的操作使用线程,提高内存利用率
C.多cpu的系统使用线程,提高cpu利用率
D.并行操作使用线程,如c/s架构中服务端程序为每个客户端请求创建一个线程来响应

多线程作用:

1. 耗时 的操作使用线程,提高应用程序响应
2. 并行 操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。
3. 多CPU 系统中,使用线程提高CPU利用率
4.改善程序结构。一个既长又复杂的进程可以考虑 分割为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改

8. 如果将固定块大小的文件系统中的块大小设置大一些,会造成()。

A.更好的磁盘吞吐量和更差的磁盘空间利用率
B.更好的磁盘吞吐量和更好的磁盘空间利用率
C.更差的磁盘吞吐量和更好的磁盘空间利用率
D.更差的磁盘吞吐量和更差的磁盘空间利用率

解题思路:

文件是按块存储的,如果取更大的块,一次读取时会得到更多的数据,即磁盘吞吐率提高;但大块也会导致有时数据装不满,从而导致磁盘利用率下降 。

9. 十进制数-10的3进制4位补码是多少?

A.0010
B.1010
C.2122
D.2121

解题思路:
n进制数满足如下的几个性质:
(1)用0,1,2…n-1表示;
(2)遇n进位;

10的三进制原码为0101,在二进制中,负数符号位为1,那么三进制中,负数的符号位就为2,则-10的三进制原码应该为2101,补码规则,符号位不变其余位按位取反为2121,然后再加一,答案即为2122.

未完,待续。。。

上一篇:Linux基础篇之目录与文件


下一篇:Linux系统中inode和block详解