您的位置:首页 > 运维架构 > Linux

Linux中的几个问题

2012-06-14 06:56 99 查看
明天期末考试,就把往年试卷上的叙述题总结一下:

1. 如果一个设置用户ID程序未执行任何改变进程的实际用户ID和有效用户ID的系统调用,那么运行该程序的进程,它的实际用户ID和有效用户ID各是什么?

答: 实际用户ID在登录时取自口令文件中的登录项,如果没有执行任何改变实际用户ID和有效用户ID的调用,那么有效用户ID也就是实际用户ID。

2. 如果使用命令

man -SX kill

查阅系统调用kill的联机文档,则命令中“X”代表的实际值是什么?

答:对应于Section的部分编号,一共有8个部分:

1 表示用户命令和守护进程。

2 表示系统调用和内核服务。

3 表示子例程。

4 表示特殊文件、设备驱动程序和硬件。

5 表示配置文件。

6 表示游戏。

7 表示杂项命令。

8 表示管理命令和守护进程

3. 在读写磁盘文件时,每次使用系统调用read和write是否都意味着读写磁盘驱动器? 为什么?

答:不是,因为系统有缓冲,读写操作均与缓冲有关。

4. 在UNIX系统中,文件空洞是什么意思?

答:文件空洞指当文件偏移量大于文件的长度时,对该文件的写将加长文件,这样便形成空洞。(P52)

5. 在什么情形下,产生的信号是未决的(signal pending)?

答:在信号产生和递送之间的时间间隔内,称信号是未决的。如果在产生信号时,调用进程正阻塞该信号而不能递送,则产生的信号便是未决的。(P250,259)

6. 早期的不可靠信号机制主要有哪些特点?

答:信号可能丢失,而且在执行临界区代码时,进程很难关闭所选择的信号。(P243)

7. 如何打开文件时使用了O_APPEND标志,那么能否在该文件的任意位置上读写?

答:不能,使用O_APPEND标志每次写时,都追加到文件尾端(P48)。

8. 如果进程P创建进程Q,进程Q创建进程R,那么当进程Q在进程P和进程R之前结束,那么进程R的父进程是谁? 进程R是否可能变成僵尸进程?

答:进程R的父进程是init进程,不会变成僵尸进程。(P179)

9. 程序员能否根据进程的实际用户ID来判断它们是否有访问文件的相应权限(请简要说明理由)?

答:不能,判断是否有访问文件的相应权限是根据用户的有效用户ID及其附加组ID,而与实际用户ID无关。(P75)

10. 为什么POSIX.1要求system函数阻塞SIGINT和SIGQUIT信号?

答:因为由system执行的命令可能是交互式命令,以及因为system的调用者在程序执行时放弃了控制,等待该执行程序的结束,所以system的调用者就不应接受这两个终端产生的信号。

11. 设置-用户-ID(suid)和保存的设置-用户-ID(ssuid)是如何产生的?各自的意义是什么?

答:suid是为了让执行程序的用户拥有文件所有者的权限而产生的,而ssuid是为了解决运行该程序的权限与拥有改程序用户的权限之间的切换。suid是为了让运行程序用户与程序文件所有者一样的权限运行程序,ssuid是为了在设置用户ID之前,保存程序的有效用户,以备将来把有效用户ID恢复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: