- T1.适应于请求段的内存分配方法是( )。
A 首次适应和最佳适应
B 固定分区和可变分区
C 首次适应和固定分区
D 最佳适应和可变分区
答案选D。自己概念不清。
请求就是动态的,因此我们的选择应该在地址的动态性中选择,所以选择可变分区和最佳适应
请求分段系统是在分段系统的基础上,增加了请求调段功能和分段置换功能所形成的分段式虚拟存储系统。分段式存储管理方式分配算法与可变分区的分配算法相似。
最佳适应分区:是将所有空闲分区进行排序,选择能够容纳所需内存的最小分区块。
首次适应分区:是在所有分区中选择第一个满足 能够容纳所需内存的分区块。
- T2.在虚拟存储系统中,若进程在内存中占三块(开始时为空,采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生( )次缺页中断。
A 7
B 8
C 9
D 10
答案是D。需要弄明白的是 第一次访问空的内存单元时也发生了中断,我们使用如下的方式进行计算。
1 1 1
2 12 2
3 123 3
4 234 4
1 341 5
2 412 6
5 125 7
1
2
3 253 8
4 534 9
5
6 346 10
共10次,本人没有把前三次算成页面中断的情况。
- T3.操作系统采用缓冲技术,通过减少对CPU的()次数,提高资源的利用率。
A 中断
B 访问
C 控制
D 依赖
答案是A。引入缓冲的主要原因包括:缓和CPU与I/O设备速度不匹配的矛盾;减少对CPU的中断频率,放宽对中断响应时间的限制;提高CPU和I/O设备之间的并行性。所以采用缓冲技术,可以减少对CPU的中断次数,从而提高系统效率。
多级反馈队列的调度中就绪队列的设置不是像多级队列调度一样按作业性质划分,而是按时间片的大小划分。根据优先级不同,时间片越短的队列优先级越高。多级队列调度中每个队列按作业性质不同而采用不同的调度算法。
- T4. 在网络7层协议中,如果想使用UDP协议达到TCP协议的效果,可以在哪层做文章?
A 应用层
B 表示层
C 会话层
D 传输层
E 网络层
答案是C。(当时我的考虑就是UDP TCP属于传输层,要想UDP实现TCP的功能,传输层及以下的网络层肯定不能做文章,而必须对高层进行处理,一般肯定是里传输层越近,处理越方便。所以选了会话层)
会话层允许不同机器上的用户之间建立会话关系,会话层循序进行类似传输层的普通数据的传送,在某些场合还提供了一些有用的增强型服务,允许用户利用一次会话在远端的分时系统上登录,挥着在两台机器间传递文件。会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输。
- T5.Linux文件权限一共10位长度,分成四段,第三段表示的内容是()。
A 文件类型
B 文件所有者的权限
C 文件所有者所在组的权限
D 其他用户的权限
Linux用户分成 拥有者(user),组群(group),其他(other)
linux中的文件属性分成四段,如 -rwzrwz—
第一段 - 是指文件类型 表示这是个普通文件
文件类型部分
-为:表示文件
d为:表示文件夹
第二段 rwz 是指拥有者具有可读可写可执行的权限
类似于windows中的所有者权限比如 administrator 对文件具有 修改、读取和执行权限
第三段 rwz 是指所属于这个组的成员对于这个文件具有,可读可写可执行的权限
类似于windows中的组权限比如administrators组,属于这个组的成员对于文件的都有 可读可写可执行权限
第四段 — 是指其他人对于这个文件没有任何权限
- T6.在Linux系统中, 哪个文件你可以存储用于创建用户目录的系统用户默认文件? ()
A /usr/tmp
B /etc/default
C /etc/skel
D /etc/users
答案选C
skel是skeleton的缩写,意为骨骼、框架。故此目录的作用是在建立新用户时,用于初始化用户根目录。系统会将此目录下的所有文件、目录都复制到新建用户的根目录,并且将用户属主与用户组调整为与此根目录相同。所以可将用户配置文件预置到/etc/skel目录下,比如说.bashrc、.profile与.vimrc等。
注:
1.如果在新建用户时,没有自动建立用户根目录,则无法调用到此框架目录。
2.如果不想以默认的/etc/skel目录作为框架目录,可以在运行useradd命令时指定新的框架目录。例如:
sudo useradd -d /home/chen -m -k /etc/my_skel chen
上述命令将新建用户chen,设置用户根目录为/home/chen,并且此目录会自动建立;同时指定框架目录为/etc/my_skel。
3.如果不想在每次新建用户时,都重新指定新的框架目录,可以通过修改/etc/default/useradd配置文件来改变默认的框架目录,方法如下:
查找SKEL变量的定义,如果此变量的定义已被注释掉,可以取消注释,然后修改其值:
SKEL=/etc/my_skel
- T7.在linux编程中,以下哪个TCP的套接字选项与nagle算法的开启和关闭有关()
A TCP_MAXSEG
B TCP_NODELAY
C TCP_SYNCNT
D TCP_KEEPALIVE
答案选 B
Nagle算法主要是用来避免大量的小数据包在网络中传输,从而降低网络容量利用率。比如一个20字节的TCP首部+20字节的IP首部+1个字节的数据组成的TCP数据报,有效传输通道利用率只有将近1/40。如果网络充斥着这样的小分组数据,则网络资源的利用率是相当低下的。—— 但是对于一些需要小包场景的程序,比如像telnet或ssh这样的交互性比较强的程序,你需要关闭这个算法。可以在Socket设置TCP_NODELAY选项来关闭这个算法。
- T8.哪个指令是将所有缓冲区的内容写入到磁盘?
A save
B sync
C edbuff
D flush
答案是B
本来选的flush,记得这个单词和将缓冲写入磁盘有关,结果发现linux里没有这个命令。。。
然后查了下sync命令
sync - flush file system buffers
T9.两个人,A的速度为a,B的速度为b,在一直路上相向而行。在A、B距离为s的时候,A放出一个鸽子C,速度为c,C飞到B后,立即掉头飞向A,遇到A在掉头飞向B……就这样在AB之间飞来飞去,直到A、B相遇,假设a=40, b=60, c=400, s=100,这期间鸽子共飞行路程为_
这种题的解法是:
首先计算AB 相遇需要多长时间?
t = 100/(40+60) = 1
然后计算C 飞行的距离 S = t*s = 400。T10.2014! 的末尾有 1 个0?
答案是 501。
末尾为0,主要看乘积项中2和5的个数,由于2的个数明显比5多,则只需看5的个数即可
2014/5 = 402….4
2014/25 = 80….14
2014/125 = 16….14
2014/625 = 3….19
故2014!末尾0的个数为402+80+16+3 = 501