1. 在linux编程中,以下哪个TCP的套接字选项与nagle算法的开启和关闭有关?
答案:TCP_NODELAY。Nagle算法只允许有关未被ACK的包存在于网络,Nagle算法用于自动连接许多的小缓冲器消息,这一过程通过减少必须发送包的个数来增加网络软件系统的效率。nagling可以通过使用TCP_NODELAY套接字选项关闭。
2. 在etc/fstab文件中指定的文件系统加载参数中,参数一般用于CD-ROM等移动设备的是?
答案:noauto。题目的意思是什么参数一般用于CD-ROM等移动设备。
default
表示和使用默认设置
ro
表示挂载只读权限
rw
表示挂载只写权限
noauto
表示手动挂载,也用于CD-ROM
3. 下列哪些因素不会限制linux服务器并发连接数?
答案: 网卡数量。网卡的作用是对数据的分装和解封。
4. 在网络7层协议中,如果想使用UDP协议达到TCP协议的效果,可以在哪层作文章?
答案:会话层。分析:会话层用于管理数据的传输。
5. 系统的主要功能分别有哪几种?
答案:处理机管理、存储器管理、设备管理、文件系统。
6. 若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是?
Ⅰ. 若该文件的数据不在内存中,则该进程进入睡眠等待状态
Ⅱ. 请求 read 系统调用会导致 CPU 从用户态切换到核心态
Ⅲ. read 系统调用的参数应包含文件的名称
答案:Ⅰ和Ⅱ。分析:若文件的数据不在内存中,则进程进入睡眠模式的目的是等待内存对磁盘上文件的映射,因为磁盘的读写速度慢,所以是进入睡眠模式。read是系统调用,所以CPU会从用户态切换到和心态。open系统调用应该包含文件的名称,read只是包含输入流。
7. 下列操作中,需要执行加锁的操作是()?
A: x++
B: x=y
C: ++x
D: x=1
1
2
3
4
A:x++
B:x=y
C:++x
D:x=1
答案:ABC 。这道题是看操作受不受多线程的影响,是否加锁。A,因为y的初值不确定,所以要加锁,B和C却需要执行2步操作,所以也需要加锁,只有D的结果不受多线程影响。
8. 将分区管理发展成为分页管理的主要目的是()?
答案:提高系统的吞吐量,提高内存的利用率。分析:主要目的还是提高内存利用率。关于系统吞吐量,固定分区本身只需要地址转换,因为有特定硬件的支持,存取速度也很快而可变分区增加了压缩操作,时间复杂度比较高,单位时间内吞吐量下降,分页存取时间主要取决于地址转换与页大小,通常比连续操作快(避免了压缩)。
9. 实现虚拟存储的目的在于()?
答案:扩充主存容量。主存(内存)直接给CPU提供存储。
10. 当一个进程从CPU上退下来时,它的状态应该变为?
答案:活动就绪。
活跃就绪
进程在主存并且可被调度的状态
静止睡眠(阻塞)
指进程对换到辅存时的阻塞状态,一旦等待的事件产生便进入静止就绪状态
活动睡眠(阻塞)
指进程已在主存,一旦等待的事件产生便进入活跃就绪状态
静止就绪
也成挂起就绪,是指进程被兑换到辅存时的就绪状态,是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起就绪态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪
进程状态之间的转换:
正在执行的进程由于其时间片用完被暂停执行,此时进程应从执行状态变为活动就绪状态;
处于静止睡眠状态的进程,在进程等待的事件出现后,应变为静止就绪状态;
若进程正处于执行状态时,因终端的请求而暂停下来以便研究其运行情况,这时进程应转变为静止就绪状态;
若进程已处于睡眠状态,则此时应转变为静止睡眠状态。