Linux期末复习(有参考答案)

时间:2022-11-21 06:07:50 作者:壹号 字数:5147字

Linux期末复习

1.UNIX/Linux系统中条件变量需要和什么机制配合? 互斥锁。

2.Linux多线程编程中,触发pthread_cond_wait返回的条件? pthread_cond_signal() 或 pthread_cond_broadcast() 唤醒,并且互斥锁在解锁状态。

3.不同进程共享相同文件表项的情况? 不同进程共享同一个文件表项(父子进程)

4.进程从main()函数开始执行,它的异常结束方式? 1.调用abort,产生SIGABRT信号 2.接收到终止信号

5.在UNIX/Linux命令中实现标准输入重定向? command < input-file

6.文件要取消该文件的文件所有者的执行权限,同时增加该文件的同组用户的写权限,可以使用的命令? chmod u-x file; chmod g+w file

7.UNIX/Linux系统中的标准错误的文件描述符值?

标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2 8.调用fork函数后该函数返回值为0,1的意义? 0为子进程,1为父进程 9.进程间通信的共享内存机制?

XSI IPC

10.指定所等待子进程的ID又可以请求内核返回子进程使用的资源情况汇总函数? wait3,wait4

11.exec类函数中哪个可以通过环境变量PATH来指定路径? execlp

12.调用lseek函数时,设置第三个参数为SEEK_CUR的意义? 将该文件的偏移量设置为距文件当前位置加offset个字节; 13.UNIX/Linux系统中每个文件有9个文件权限位,按照访问文件的用户身份不同可以将这些文件权限位分为三个域,分别是哪些域? 文件所有者,同组用户,其他用户

14.在UNIX/Linux系统中C程序内存空间布局包括哪些段? 栈,堆,非初始化数据段,初始化数据段,正文段

15.UNIX/Linux系统为每个进程自动打开三个文件,是什么文件? 标准输入、标准输出和标准错误文件 16.XSI IPC机制包括哪些内容? 信号量,消息队列,内存共享

17.在UNIX/Linux系统中,为了在一个目录中创建一个新文件,必须对该目录具有什么权限? 写入权限和执行权限

18.进程和线程有哪些区别以及Linux系统提供了哪些线程同步机制?

1.线程是进程内的独立执行实体和调度单元。进程有独立的地址空间,线程没有;线程是处理器调度的基本单位,但进程不是;进程是资源分配和拥有的单位,线程只能和同一个进程内的线程共享进程的资源.

2.互斥量,读写锁,条件变量

19.在UNIX/Linux系统中可以认为操作系统用了三张表来描述一个打开的文件,哪三张表?这三张表各自描述了文件的哪些属性?它们之间是如何联系起来的?

1.文件描述符表,文件表,索引节点表

2.文件描述符表:文件描述符标志,指向一个文件表项的指针。文件表:文件状态标志,文件读写偏移量,指向该文件索引节点表项的指针。索引节点表:文件属性,数据块位置,当前文件长度。 3.通过指针指向对应表项

20.在UNIX/Linux系统中/etc/shadow文件用来存储用户密码,所有用户都可以通过执行passwd命令(/usr/bin/passwd)修改自己的秘密(修改/etc/shadow文件),但非root的其他用户对/etc/shadow文件没有读写权限。为什么所有用户都可以通过执行passwd命令修改自己的密码(修改/etc/shadow文件)

这是因为用户执行“/usr/bin/passwd”命令时,/usr/bin/passwd文件设置了setuid位,在执行此程序(/usr/bin/passwd)时,该用户所拥有的权限等同于文件“/usr/bin/passwd”的拥有者root的权限,而root用户拥有对/ect/passwd文件写的权限,因此普通

用户可以通过/usr/bin/passwd来修改/etc/shadow文件的内容。 21.在UNIX系统下利用C语言编程,通过使用多线程和条件变量实现以下两个线程的同步工作:

…… 此处隐藏492字 ……

void *threadA(void *junk) {

while(1) {

pthread_mutex_lock(&mutex);/*锁住互斥量*/ if(count > 0){ count -= 1; }

pthread_cond_signal(&cond);/*条件改变,发送信号,通知进程*/

pthread_mutex_unlock(&mutex);/*解锁互斥量*/

printf(

t_b