Linux操作系统 考试题库

更新时间:2024-06-23 21:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.在Linux目录结构中目录中的文件是普通用户可以使用的可使用的可执行文件的目录是(B)19 A./sbin B./bin C./usr D./lib

2.在Linux目录结构中Linux的内核及引导程序所需要的文件位于(B)目录 A/bin B./boot C./root D./proc

3.在Linux目录结构中用来存放系统配置文件(D)目录 A./lib B./dev C./proc D./etc

4.Linux三种特殊权限中仅用于目录文件的权限是(C)22 A.SUID B.SGID C.黏滞位 D.都可以 5.Linux三种权限中允许进入目录的权限(C) 22

A.r-可读 B.w-可写 C.x-可执行 D.都不是 6.下列脚本文件最先自动执行的是(A)24

A./etc/rc.local B./etc/profile C.~/.bashrc D.~/.bash_logout

7.下面通配符可匹配多个任意字符的通配符是(A)29

A.* B. ? C.[abcde ] D.[!a-e]

8.输出重定向符号右边的文件已经存在,不会覆盖文件而是追加的定向符是(B)

A.> B.> > C. 2> D.&>

9.表示用户家目录的是(B)

A./home (所有用户家目录的父目录,+用户名才是用户家目录) B.~ C. . 10.可删除非空目录及其子目录的命令是(B)

A. touch B.rm -r C.mkdir D.rmdir空目录

11. 是强引用的符号(A)

A. 单引号 B.反引号 C.双引号 D.中括号12.可显示隐藏文件的ls命令形式选项是(A)

A. ls -a B. ls -d C.ls -h D .ls -l

13.可通过接受标准输入作为输出内容来创建简单文件的命令是(B)42

A. touch B.cat C.vi D. gedit

14.不带有编辑功能但有翻页、按行滚动、搜索功能的命令是(B) 43

A. cat B.more和less C.head 和 tail D vi

15.wc命令可统计文件的行数、字数和字节数。在下列格式中只显示文件的字数的是(C) 51

A. wc B. wc -c C. wc -w D wc -l

16.可实现文件重命名的命令是(B)52

A. cp B. mv C. ln D rename

D. ..

1

17.在Linux系统中可通过挂载将光盘、U盘或一个文件系统连接到主目录树的一个目录节点。期中光盘或光盘镜像对应的文件系统类型是(C)44

A. vfat B. ext3 C.iso9660 D vboxsf

18.下面更改文件命令只能更改符号连接的目标文件的权限的命令是(C)

A. chown B.chgrp C. chmod D.以上都不对

19.chmod命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其中从最高到最低位依次表示为(A)每个八进制的三个二进制位从高到低分别表示为有无读、写、执行权限

A.文件所有者 文件所属组 其他用户 B. 其他用户 文件所属组 文件所有者

C.文件所属组 文件所有者 其他用户 D.其他用户 文件所有者 文件所属组

20.chmod命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其中每个八进制的三个二进制位从高到低分别表示为有无 (A)

A.读写执行B.写读执行 C.执行 读 写 D.执行 写 读

21.运行时不会创建子进程的方式是(C)69

A.赋予shell程序文件可执行权限 ,直接运行shell 程序(外部命令)

B. 调用命令解释器解释执行shell程序 (Shell函数)

C.使用source命令执行shell 程序(内部命令) D.用( )将多条命令括起来而形成的复合命令执行

22.对于使用(C)连接的两条命令,只有当左边的命令执行失败(退出状态为非0值)才会继续执行右边的命令。

A. ;B. && C. || D.都不是

23.Shell执行命令在同名时优先级别最高的是(A)

A.别名 B. 函数 C.内部命令 D.外部命令

24.将一个变量stab的值清除(即成为空串)的命令是(D)

A. $stab B.${#stab} C.${stab } D unset stab

25.Shell变量不需要预先定义,若对其进行数值操作,可指定变量的属性为整数,具体命令为D

A. declare -a 变量名 B.declare -f 变量名 C.typeset -r 变量名 D.typeset -i 变量名

26.Shell中可表示引用数组abrr中的所有非空元素的引用是(B)76

A. ${abrr} B.${abrr [*]} C.${#abrr[*] D.${#abrr[@]}

27.在Shell变量引用操作符可实现字符串替换其中(C)用来测试如果变量stra存在且不为空,则返回为word,否则返回为空串78

A.${stra:-word } B. ${stra:=word } C.${stra: +word } D.${stra: ?word }

28.在Shell变量引用操作符可实现字符串替换其中(D)用来测试,如果变量stra存在,则返回为变量stra的值,否则输出为word ,并退出当前脚本程序

A.${stra-word } B. ${stra=word } C.${stra: +word } D.${stra: ?word }

29.在Shell变量引用操作符可实现模式匹配替换其中(B)用来的含义是若pattern 匹配变量stra的头部,则删除最长匹配部分并返回剩余部分。

A. ${stra #pattern} B.${stra##pattern } C.${stra%pattern} D.${stra%%pattern}

30.为了使子进程能继承父进程中定义的变量,就必须使(D)命令将这些变量送入进程转出区83

2

A. read B.set C.shift D.export

31. 使用(D)形式时,即使表达式中有Shell的特殊字符时,也不必用双引号将其括起来。87

A. test 表达式 B.[ 表达式 ] C.let 算术表达式 D.((算术表达式))

32. 使用(D)形式时可以返回算术表达式的确切值

A. test 表达式 B. let 算术表达式 C.((算术表达式 )) D.$((算术表达式))

33.gcc可以对编译阶段进行控制,其中(B)选项规定编译到汇编语言,不进行其他操作。107

A. -E B.-S C.-c D.-o

34.gcc可以对编译阶段进行控制,其中(A)选项设定库文件的路径

A.-L path B. -I path C. -l library D.-static

35.gcc可以对编译阶段进行控制,其中(D)选项在可执行文件中包含标准调试信息,供gdb进行调试。

A.-Wall B. -Werror C. -w D.-g

36.在Linux底层文件访问中的大多数操作都是围绕文件描述符来展开的其中(A)函数是内核向进程返回一个文件描述符为以后使用148

A.open() B. read() C. write() D.close()

37.最终文件权限取决于(D)

A. mode B. unmask C. mode&unmask D.mode&~unmask 非掩码

38.Lseek()中第三个参数的值为0表示(A)

A.文件开始位置 B. 文件读写指针当前位置 C. 文件结束位置 D.都不是

39.文件属性读取函数中,依据文件名且当文件是一个符号链接时返回是链接所指向文件的信息的函数是(A)152

A.stat B. lstat C. fstat D.都不是

40.利用文件属性读取函数获取的st_mode进行文件类型测试方法正确的是D

A.对成员st_mode同文件类型掩码进行与运算 B. 对成员st_mode直接判断

C. 利用带成员st_mode参数宏(用于文件类型判断)定义 D. A和C都可以

41.下列函数中可关闭文件的函数(A)

A.close() B. dup2() C. A和B都可以 D.dup()

42.下列底层文件访问函数中第一个参数是文件描述符的是(C)157

A.chmod B. lchown C. fchown D.chown

43.硬链接是(B)162

A. 指向目标文件的指针 B. 指向文件的索引节点 C. 可跨越不同文件系统创建 D.可通过symlink()来创建

44.读取链接readlink和删除链接unlink操作对象是(C)163

A.都只对硬链接有效 B. 都对软链接无效

B.读取只对软链接有效,删除都两种都有效 D.读取对两种都有效,删除只对软链接有效。

3

45.目录文件的读取函数readdir()参数和返回值的含义()C 167

A.参数和返回值都指向目录文件 B.参数和返回值都指向目录项

C.参数指向目录文件,返回值指向目录项 D.返回值指向目录文件,参数指向目录项

46.对磁盘文件的标准I/O操作一般是实现(A)171

A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以

47.当标准输入和标准输出涉及交互作用设备时,它们是(B)

A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以

48.标准错误输出是(C)

A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以

49.在函数fopen() 中文件打开模式中要求文件必须存在的模式是(A)172

A.r和r+ B.w和w+ C.a和a+ D.ab和wb

50.在函数fopen() 中文件打开模式中不是可读写的方式打开文件模式是(D)

A.r+ B.w+ C.a+ D.r

51.在打开函数中其中是在由指定的流上打开由路径名指定的文件,其返回值为指向文件流指针,此函数用于将一个指定的文件打开为一个预定义的标准流(C)

A.open B.fopen C.freopen D.fdopen

52.以下函数中表示从某流中读取一个字符但该函数不带参数,表示从标准输入流中读字符的函数是(C)174

A.gets B.getc C.getchar D.fgec

53.当到达文件尾端或出错时,字符读取函数的返回值都是EOF,为进一步确认文件是否已到文件尾,应当通过(B)函数来判断。

A.ferror B.feof C.cleanerr D.perror

54.在定位函数中,可直接将流的读写指针设置到文件的起始位置同时会将错误指示器errno 清零的函数是()rewind 182 无答案

A.ferror B.feof C.clearerr 174 D.perror

55.下面关于ftell()函数成功调用说法不正确的是(C)

A.会清除流结束标志 B.返回读写指针当前相对文件起始位置的位移量

C.返回读写指针当前相对文件结束位置的位移量 D.会撤销已调用ungetc()对流的影响

56.格式化输出可把格式化数据输出到标准输出、指定文件及字符缓冲区。其中()函数是将格式化数据输出到指定大小的字符缓冲区。(D)183

A.printf B.fprintf C.sprintf D.snprintf

57.格式化输入可从标准输入、指定文件及字符缓冲区读取格式化数据。其中()函数是输出到指定文件。(B)

A.printf B.fprintf C.sprintf D.snprintf

58.关于临时文件不正确的是A186

A.可通过tmpnam()创建 B.也可通过tmpfile()创建

C.程序结束时或关闭文件时自动删除 D.调用tmpname 次数有限制

4

59.下列是进程的异常终止的是(D)193

A.从main中调用return返回 B.调用exit C.调用_exit D.调用abort

60.不属于非格式化标准I/O的是(C)

A. 字符I/O B.行I/O C.列I/O D.块I/O

61.关于exit()函数不正确的是(B)194

A. 先清理后进入内核 B.底层系统调用 C.有一个整型参数 D.用于正常终止一个进程

62.内核使程序执行的方法的是(A)

A. 调用exec函数 B.调用exit/_exit C.从main返回 D.收到一个系统终止信号63.关于atexit函数正确的是(D)

A. 一个进程可登记超过32个函数 B.函数登记的顺序 和调用顺序相同

B. 同一函数可登记多次,但调用一次

D.在显示或隐式调用exit时则执行这些登记的终止处理程序

64.非初始化数据段由exec赋初值常称为(C)196

A. 正文段 B.数据段 C.bss段 D.堆

65.在存储空间布局中从低地址到高地址依次分布为A

A.正文段→数据段→bss段→堆→栈 B.栈→ 堆→bss段→数据段→正文段 C.正文段→堆→栈→数据段→bss段 D.堆→ 正文段→数据段→bss段→栈

66.PID为0的交换进程是(A)200

A.其他所有进程的祖先进程 B.所有其他用户进程的祖先进程

C.其他所有内核线程的父进程 D.普通进程

67.调用exec可能有变化的是(D)204

A.调用前后进程ID B.调用exec前后实际用户ID

C.调用exec前后实际组ID D.调用exec前后有效用户ID和有效组ID

68当waitpid函数的pid参数设置为(A)表示等待任一子进程终止。211

A.pid==-1 B.pid==0 C.pid>0 D.pid<-1 69.fork函数在父进程中的返回值是(B)206

A.0 B.创建的子进程的进程标识号 C.-1 D.1

70.fork函数在子进程中的返回值是(A)

A.0 B.创建的子进程的进程标识号 C.-1 D.1

71.进程可以忽略大部分信号,但下列信号中(D)不能忽略213

A.SIGBORT B.SIGILL C.SIGQUIT D.SIGKILL

72.调用exec函数会将原来设置为要捕获的信号都更改为(A)214

A. 默认 B.忽略 C.另一捕获 D.默认或忽略

5

73.可用于在不同主机的进程间通信的技术是(D)225

A. 管道 B.共享内存 C.消息队列 D.套接字

74.只能在同源进程间通信的技术(A)224

A. 普通管道 B.命名管道 C.消息队列 D.共享内存

75.不属于System V IPC通信技术的是(A)

A. 管道 B.消息队列 C.信号量 D.共享内存

76.建立从父进程到子进程的管道的方法(B)225

A. 父进程关闭管道的写端,子进程关闭管道读端 B.父进程关闭管道的读端,子进程关闭管道的写端 C.父子进程都管道的读端 D.父子进程都关闭管道的写端

76.获取某个环境变量值使用函数A

A.getenv B.putenv C.setenv D.unsetenv

77.文件系统保存在磁盘的B

A.引导块 B.超级块 C.i节点块 D.数据块

78.Linux文件系统的根目录的i节点号为C

A. 0 B. 1 C.2 D.3

79.文件描述符的数据类型是B

A. char B.int C.double D.float

80.设置文件偏移量的系统调用是C

A. truncate B. sync C . lseek D.create

81.下面那个不是lseek第三个参数的取值C

A.SEEK_SET B.SEEK_CUR C.SEEK_NOW D.SEEK_END

82.可以使用(C)系统调用获得符号链接所引用文件名称

A.link B.symlink C.readlink D.softlink

83.获得工作路径名称的系统调用是A

A.getcwd B.getpwuid C.getgrgid D.getlogin

84.通过文件属性中的uid获得文件拥有者名字的系统调用是B

A.getcwd B.getpwuid C.getgrgid D.getlogin

85.通过文件属性中的gid获得文件所属组名字的系统调用是C

A.getcwd B.getpwuid C.getgrgid D.getlogin

86.根据文件路径来改变文件权限使用系统调用是B

A.chown B.chmod C.fchmod D.fchown

一、填空题

1.Linux内核与发行版的关系:Linux Kernel 3.5.3是Linux内核版,而Ubuntu 12.04.1是Linux的发行版 2.Shell是linux系统的一种命令行用户界面,提供了用户与操作系统进行交互的接口,本质上是命令解释器,可为用户提供个性化的使用环境。

3.在Shell中测试运算有文件属性测试、字符串测试、数值测试、逻辑运算。 4. 专门执行整数算术运算的命令let所指表达式可执行C语言中常见的算术、逻辑、位运算、比较运算等。 5.Vi的三中工作模式:插入模式、命令模式、末行模式。 6.Gcc生成可执行文件的四个步骤:预处理、编译、汇编、链接。预处理是对源程序进行头文件加载和宏展开等操作,由cpp完成;汇编一是产生汇编代码,二是产生二进制的目标文件,由gcc使用as;生成的多.o文件和使用

6

到的库文件链接成为可被操作系统执行的可执行程序,使用ld工具,可使用两类库文件。

7.库分为 静态库 和共享库 。静态库由多个.o文件组成的集合,文件成员没有特殊的存在格式,使用“ar”可维护和管理,库文件后缀为“.a”;共享库多个.o文件由编译器按照一定特殊的方式生成。多个可执行程序可共享库文件的代码段,但不共享数据。

8.命令行参数是main。函数的参数y

Main函数的参数若有两个参数则第一个参数代表命令行参数个数、第二个参数代表指向各命令行参数字符串的指针数组。

9.Linux 中日期时间的表示方法有:算术类型、结构体类型、字符串类型。 10.如果一个C程序的入口表示为main(int argc,char *argv[]),编译该程序后的可执行程序为a.out,那么在命令“./a.out –f foo”后,main中的参数argv[1]指向的字符串是(“-f”)。 11.Linux系统下表示标准输入、标准输出和标准错误输出的文件描述符(符号表示)分别为(STDIN_FILENO、STDOUT_FILENO 、STDERR_FILENO),它们的值分别为0、1、2。 12.数字635表示的权限使用字母的方式表示为 (rw—wxr-x)、使用符号方式表示为(S_IRUSR | S_IWUSR | S_IWGRP | S_IXGRP | S_IROTH | S_IXOTH)。 13.系统调用open的功能是打开或创建文件。

14. 使用open打开文件时有三个标志必须要选择其一,这三个标志是O_RDONLY、O_WRONLY、O_RDWR。 15.文件偏移量代表下一次读或写的位置。

16.将文件偏移量市值为当前偏移处之前的4个字节的维护使用lseek(fd,(-4),(SEEK_CUR))。 17.设置打开文件标志(O_TRUNC),可以截断文件为0,使用系统调用(truncate)可以截断文件或者加长文件。 18.如果umask设置为022,则创建一个新文件夹(数字表示)的权限为(644)、创建一个新目录的权限为(755)。 19.如果umask设置为024,则创建一个新文件夹(数字表示)的权限为(642)、创建一个新目录的权限为(753)。 20.使用系统调用(umask)可以设置和得到文件模式的屏蔽字。 21.创建硬链接使用系统调用(link),创建符号链接使用系统调用(symlink)。 22.获得工作路径名称的系统调用是(getcwd)。 23.可以使用(stat或fstat或lstat)系统调用显示文件属性信息。 24.chmod,chown,utime都可以修改文件i节点信息,其中chmod的功能是(更改文件权限)、chown的功能是(更改文件所有者和所属组)、utime的功能是(更改文件访问时间和修改时间)。 25.若实现将标准输出重定向到文件描述符为6对应的文件上,则应使用语句(dup2(6,1))。 26.系统调用(Unlink)的作用是删除目录项,这里的目录项是指(文件名和文件i节点的对应关系)。 27.打开目录使用(DIR *opendir(const char *name))系统调用,关闭目录使用( int closedir(DIR *dir))系统调用,读取目录内容使用(struct dirent *readdir(DIR *dir))系统调用。 28.chdir系统调用的功能是(改变当前目录)。 29.创建目录使用(int mkdir(const char *pathname, mode_t mode))系统调用、删除目录使用(int rmdir(const char *pathname))系统调用。 30.popen函数实现的操作:创建一个管道,fork一个子进程,然后关闭管道的不使用端,在子进程中exexc一个shell以执行一条命令,然后等到命令的终止。

31.使用kill发送信号时,发送方进程应具有相应的权限: 接受和发送进程的所有者相同,发送进程的所有者是超级用户

三、简答题

1.系统调用、库函数的区别和练习

从用户角度观察,系统调用和库函数都以C函数形式出现,提供给用户一种功能实现的接口,需要用户输入指定的参数,调用结束得到指定的返回值。

从实现者角度观察,库函数是在系统调用上层的函数,库函数一般指程序员可以使用的通用函数。 系统调用由两部分组成:

(1)核心函数:是实现系统调用功能的代码,作为操作系统的核心驻留在内存中,是一种共享代码。运行在核心态。

7

(2)接口函数:是提供给应用程序的API,以库函数的形式存在于Linux的lib.a中,该库中存放了所有系统调用的接口函数的目标代码,用汇编语言书写。其主要功能是把系统调用号,入口参数地址传给相应的核心函数,并使用户态下运行的应用程序陷入核心态。 4.完成如下命令

(1)新建用户tom 和用户组student #useradd tom #passwd tom

#groupadd student (2)新建文件file

#touch file

(3)将文件file 改名为test,然后将test拷贝到/home

#mv file test #cp test /home

(4)将/home/test文件的拥有着修改为tom,将文件所属组该为student

#chown tom:student /home/test

5.静态库和共享库的区别

(1)静态库的代码在编译时就已连接到开发人员开发的应用程序中。

(2)共享库只是在程序开始运行时才载入,在编译时,只是简单地指定需要使用的库函数。 (3)静态库文件以.a结尾,共享库文件以.so结尾。

6.Linux文件类型主要有哪七类?

常规文件、目录文件、字符设备文件、块设备文件、管道文件、链接文件、套接字文件 7.简述文件、i节点、文件名、目录之间的关系

每个存在磁盘上的文件都由i节点和数据块两部分组成,i节点和文件一一对应,一个i节点可以对应多个文件名,文件名和i节点的对应关系叫做文件的硬链接,文件名和i节点的对应关系保存在目录文件中。 8.什么是文件描述符?

(1)一个非负整数,内核以此来标识一个特定进程正在操作的文件。

(2)012代表三个标准的文件描述符,分别为标准输入、标准输出、标准错误输出 9.使用符号方式表示rwxrwxrwx权限

S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH| S_IWOTH|S_IXOTH 10.写出open一下6种打开标志:只读、只写、读写、追加、文件不存在创建、截断为0

O_RDONLY O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC 11.读程序,写出执行结果并解释得到该结果的原因 main() { int fd1,fd2; fd1=open(“/etc/passwd”,O_RDONLY); fd2=open(“/etc/passwd”,O_RDWR); printf(“fd1=%d,fd2=%d\\n”,fd1,fd2); close(fd1); close(fd2);

}

结果:fd1=3 fd2=4

原因:open返回的文件描述符为最小可用的非负整数,012是三个标准的文件描述符默认已经被占用,所以第一个

8

open的返回值为3,第二个open返回的是4。

12.回答stat、fstat、latat三个系统调用的区别 stat根据路径获得文件元数据信息

fstat根据文件描述符获得文件元数据信息

前两者如果遇到符号链接文件则会一直引用至非符号链接文件 lstat获得符号链接文件本身的文件元数据信息 12.dup和dup2的区别和联系

联系:dup与dup2都用来将新文件描述符指向原来文件描述符指向的打开文件描述。

区别:dup返回的新文件描述符为最小可用的文件描述符,dup2返回的新文件描述符可以通过第二个参数指定。 13.硬链接和符号链接的区别 (1)命令

ln 原文件硬链接文件(不能对目录创建硬链接) ln –s 原文件/目录符号链接文件

(2)是否新增文件:硬链接不增文件,符号链接增加文件。 (3)删除原文件/目录

硬链接:对应i节点链接数-1。 符号链接:符号链接文件失效。 (4)删除链接文件

删除硬链接文件,使对应i节点的链接数-1。 删除符号链接文件,对原文件/目录无任何影响

(5)是否跨文件系统:硬链接不可以,符号链接可以

14.fork与vfork区别?

(1)fork创建的子进程复制父进程的整个地址空间,vfork不创建这一副本,子进程借用父进程的地址空间,直到其调用exec族函数或终止;

(2)fork创建的子进程和父进程相互独立地运行,而vfork创建子进程后挂起父进程,直到子进程终止或调用exec族函数。

使用kill发送信号时,发送方进程应具有相应的权限:

接受和发送进程的所有者相同,发送进程的所有者是超级用户。 15.阅读以下代码,若execlp调用成功的话,“Done!”会打印输出吗?为什么? #include int main() { printf(“Running ps with execlp\\n”); execlp(“ps”,”ps”,”-af”,0); printf(“Done!\\n”); exit(0); }

不会输出“Done!”。 原因:

执行execlp(“ps”,”ps”,”-af”,0)调用成功后,当前进程的地址空间被新的程序ps所替代,将执行“ps -af”

16.试写出下列程序段的运行结果,并解释原因 int x=0,int y=0; void thread1(void) {

9

printf(“This is pthread1.the sentence 1\\n”); y=7; sleep(1); printf(“This is pthread1.the sentence 2\\n”); x=x+y; }

void thread2(void) { printf(“This is pthread1.the sentence 1\\n”); x=4; sleep(1); printf(“This is pthread1.the sentence 1\\n”); y=8+y; }

void main(void) { pthread_t id1,id2;

pthread_create(&id1,NULL,(void *)thread1,NULL); pthread_ create(&id2,NULL,(void *)thread2,NULL); pthread_join(id1,NULL); pthread_ join(id2,NULL); printf(“x=%d,y=%d\\n”,x,y); }

答案:

This is pthread1.the sentense 1 This is pthread2.the sentense 1 This is pthread1.the sentense 2 This is pthread2.the sentense 2 x=11,y=15 原因:

(1)线程1先运行,线程2后运行。

线程1执行sleep(1);后阻塞,线程2继续执行,线程2执行到sleep(1);时线程2阻塞,线程1阻塞结束继续执行,线程1执行结束后线程继续执行到结束。

(2)线程1和线程2共享进程的数据段,因此共享变量x,y。

17.进程间通信的六种方式是什么?简述他们的通信原理? (1)信号:用于通知接收进程有某种事件发生。

(2)管道:连接一个进程的输出至另一个进程的输入的一种方法。 (3)信号量:一个计数器,用来记录对某个资源的使用情况。 (4)共享内存:允许多个进程访问同一块内存空间。

(5)消息队列:消息的链表,链表中每个节点包括消息类型和正文两部分。 (6)套接字:在网络上主机间进程进行通信的方式。 18.PIPE与FIFO的区别与联系

PIPE为未命名管道,FIFO为命名管道。

联系:PIPE和FIFO都是单向传输,一端为读,另一端为写。 区别:PIPE只能在有亲缘关系的进程中使用,如父子进程;

10

本文来源:https://www.bwwdw.com/article/u2v3.html

Top