2023年Linux操作系统考试题库(2).doc
《2023年Linux操作系统考试题库(2).doc》由会员分享,可在线阅读,更多相关《2023年Linux操作系统考试题库(2).doc(77页珍藏版)》请在咨信网上搜索。
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. . D. .. 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 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 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.读取对两种都有效,删除只对软链接有效。 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 次数有限制 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.默认或忽略 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文献和使用到的库文献链接成为可被操作系统执行的可执行程序,使用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)核心函数:是实现系统调用功能的代码,作为操作系统的核心驻留在内存中,是一种共享代码。运营在核心态。 (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是三个标准的文献描述符默认已经被占用,所以第一个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<stdio.h> 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) { 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只能在有亲缘关系的进程中使用,如父子进程; FIFO有名字,所以只要知道该名字,无关进程之间也可以使用。 19.书名产生信号的几种方式? (1)用户操作。如键盘操作Ctrl-C,最终使得内核产生信号SIGINT。 (2)进程执行犯错。如浮点数溢出,内核也会产生信号。 (3)进程执行某个系统调用。如调用kill向某个进程或进程组发送信号。 20.说明信号传递的过程。 (1)生成(generating)。内核要更新目的进程的数据结构,表达一个新的信号已经被发送给此进程。此时,进程并没有对信号做出任何响应。 (2)传递(delivery)。逼迫目的进程对信号做出响应。 四、编程题 1.向文献f1中写入“hello world!”,然后再将f1中的内容读出并显示在屏幕上。(注意必要的错误判断) #include <unistd.h> #include <sys/stat.h> #include <sys/fcntl.h> int main() { int fd; char buf1[13]={"hello world!"}; char buf2[12]; int num; fd = open( "f1",O_RDWR| O_CREAT | O_TRUNC, 0644); if(fd==-1) { perror("f1 not open"); exit(1); } num=write(fd,buf1,sizeof(buf1)-1); if(num!=(sizeof(buf1)-1)) printf("write less than want\n"); lseek(fd,0,SEEK_SET); num=read(fd,buf2,12); if(num!=12) printf("read less than 12\n"); write(1,buf2,12); close(fd); } 2.向文献f2中写入“aabbccddee”,然后将偏移量移到绝对值偏移为4的位置处,读6个字符,并将结果显示在屏幕上 #include <unistd.h> #include <sys/stat.h> #include <sys/fcntl.h> int main() { int fd; char buf1[11]={"aabbccddee"}; char buf2[10]; int num; fd = open( "f2",O_RDWR| O_CREAT | O_TRUNC, 0644); if(fd==-1) { perror("f2 not open"); exit(1); } num=write(fd,buf1,sizeof(buf1)-1); if(num!=(sizeof(buf1)-1)) printf("write less than want\n"); lseek(fd,4,SEEK_SET); num=read(fd,buf2,6); if(num!=6) printf("read less than 6\n"); write(1,buf2,6); close(fd); } 3.向文献f3中写入“aabbccddeeffgghh”,然后将文献截短后的文献内容读出并显示在屏幕上 #- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 Linux 操作系统 考试 题库
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文