ImageVerifierCode 换一换
格式:DOC , 页数:77 ,大小:634.04KB ,
资源ID:4516675      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4516675.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(2023年Linux操作系统考试题库(2).doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

2023年Linux操作系统考试题库(2).doc

1、1. 在Linux目录结构中目录中的文献是普通用户可以使用的可使用的可执行文献的目录是(B)19 A./sbin B./bin C./usr D./lib2. 在Linux目录结构中Linux的内核及引导程序所需要的文献位于(B)目录 A/bin B./boot C./root D./proc3. 在Linux目录结构中用来存放系统配置文献(D)目录 A./lib B./dev C./proc D./etc4. Linux三种特殊权限中仅用于目录文献的权限是(C)22 A.SUID B.SGID C.黏滞位 D.都可以5. Linux三种权限中允许进入目录的权限(C) 22 A.r-可读 B.

2、w-可写 C.x-可执行 D.都不是6. 下列脚本文献最先自动执行的是(A)24A./etc/rc.local B./etc/profile C./.bashrc D./.bash_logout7. 下面通配符可匹配多个任意字符的通配符是(A)29A.* B. ? C.abcde D.!a-e8. 输出重定向符号右边的文献已经存在,不会覆盖文献而是追加的定向符是(B)A. B. C. 2 D.&9. 表达用户家目录的是(B)A./home (所有用户家目录的父目录,+用户名才是用户家目录) B. C. . D. .10. 可删除非空目录及其子目录的命令是(B)A. touch B.rm -r

3、C.mkdir D.rmdir空目录11. 是强引用的符号(A)A. 单引号 B.反引号 C.双引号 D.中括号12. 可显示隐藏文献的ls命令形式选项是(A)A. ls -a B. ls -d C.ls -h D .ls -l13. 可通过接受标准输入作为输出内容来创建简朴文献的命令是(B)42A. touch B.cat C.vi D. gedit14. 不带有编辑功能但有翻页、按行滚动、搜索功能的命令是(B) 43A. cat B.more和less C.head 和 tail D vi15. wc命令可记录文献的行数、字数和字节数。在下列格式中只显示文献的字数的是(C) 51A. wc

4、 B. wc -c C. wc -w D wc -l16. 可实现文献重命名的命令是(B)52A. cp B. mv C. ln D rename17. 在Linux系统中可通过挂载将光盘、U盘或一个文献系统连接到主目录树的一个目录节点。期中光盘或光盘镜像相应的文献系统类型是(C)44A. vfat B. ext3 C.iso9660 D vboxsf18. 下面更改文献命令只能更改符号连接的目的文献的权限的命令是(C)A. chown B.chgrp C. chmod D.以上都不对19. chmod命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其

5、中从最高到最低位依次表达为(A)每个八进制的三个二进制位从高到低分别表达为有无读、写、执行权限A.文献所有者 文献所属组 其他用户 B. 其他用户 文献所属组 文献所有者C.文献所属组 文献所有者 其他用户 D.其他用户 文献所有者 文献所属组20. chmod命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其中每个八进制的三个二进制位从高到低分别表达为有无 (A)A.读写执行B.写读执行 C.执行 读 写 D.执行 写 读21. 运营时不会创建子进程的方式是(C)69A. 赋予shell程序文献可执行权限 ,直接运营shell 程序(外部命令)B.

6、调用命令解释器解释执行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 stab25. Shell变量不需要预先定义,若对其进行数值操

7、作,可指定变量的属性为整数,具体命令为DA. declare -a 变量名 B.declare -f 变量名 C.typeset -r 变量名 D.typeset -i 变量名26. Shell中可表达引用数组abrr中的所有非空元素的引用是(B)76A. $abrr B.$abrr * C.$#abrr* D.$#abrr27. 在Shell变量引用操作符可实现字符串替换其中(C)用来测试假如变量stra存在且不为空,则返回为word,否则返回为空串78A.$stra:-word B. $stra:=word C.$stra: +word D.$stra: ?word 28. 在Shell变

8、量引用操作符可实现字符串替换其中(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%pattern30. 为了使子进程能继承父进程中定义的变量,就必须使(D)命令将这些

9、变量送入进程转出区83A. read B.set C.shift D.export31. 使用(D)形式时,即使表达式中有Shell的特殊字符时,也不必用双引号将其括起来。87A. test 表达式 B. 表达式 C.let 算术表达式 D.(算术表达式)32. 使用(D)形式时可以返回算术表达式的确切值A. test 表达式 B. let 算术表达式 C.(算术表达式 ) D.$(算术表达式)33. gcc可以对编译阶段进行控制,其中(B)选项规定编译到汇编语言,不进行其他操作。107A. -E B.-S C.-c D.-o34. gcc可以对编译阶段进行控制,其中(A)选项设定库文献的途径

10、 A.-L path B. -I path C. -l library D.-static35. gcc可以对编译阶段进行控制,其中(D)选项在可执行文献中包含标准调试信息,供gdb进行调试。A. -Wall B. -Werror C. -w D.-g36. 在Linux底层文献访问中的大多数操作都是围绕文献描述符来展开的其中(A)函数是内核向进程返回一个文献描述符为以后使用148A.open() B. read() C. write() D.close()37. 最终文献权限取决于(D)A. mode B. unmask C. mode&unmask D.mode&unmask 非掩码38.

11、 Lseek()中第三个参数的值为0表达(A)A.文献开始位置 B. 文献读写指针当前位置 C. 文献结束位置 D.都不是39. 文献属性读取函数中,依据文献名且当文献是一个符号链接时返回是链接所指向文献的信息的函数是(A)152A.stat B. lstat C. fstat D.都不是40. 运用文献属性读取函数获取的st_mode进行文献类型测试方法对的的是DA. 对成员st_mode同文献类型掩码进行与运算 B. 对成员st_mode直接判断C. 运用带成员st_mode参数宏(用于文献类型判断)定义 D. A和C都可以41. 下列函数中可关闭文献的函数(A)A.close() B.

12、dup2() C. A和B都可以 D.dup()42. 下列底层文献访问函数中第一个参数是文献描述符的是(C)157A.chmod B. lchown C. fchown D.chown43. 硬链接是(B)162A. 指向目的文献的指针 B. 指向文献的索引节点C. 可跨越不同文献系统创建 D.可通过symlink()来创建44. 读取链接readlink和删除链接unlink操作对象是(C)163A. 都只对硬链接有效 B. 都对软链接无效B. 读取只对软链接有效,删除都两种都有效 D.读取对两种都有效,删除只对软链接有效。45. 目录文献的读取函数readdir()参数和返回值的含义()

13、C 167A. 参数和返回值都指向目录文献 B.参数和返回值都指向目录项C.参数指向目录文献,返回值指向目录项 D.返回值指向目录文献,参数指向目录项46. 对磁盘文献的标准I/O操作一般是实现(A)171A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以47. 当标准输入和标准输出涉及交互作用设备时,它们是(B)A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以48. 标准错误输出是(C)A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以49. 在函数fopen() 中文献打开模式中规定文献必须存在的模式是(A)172A.r和r+ B.w和w+ C.a和a+ D.ab和wb50. 在函数fopen

14、() 中文献打开模式中不是可读写的方式打开文献模式是(D)A.r+ B.w+ C.a+ D.r51. 在打开函数中其中是在由指定的流上打开由途径名指定的文献,其返回值为指向文献流指针,此函数用于将一个指定的文献打开为一个预定义的标准流(C)A.open B.fopen C.freopen D.fdopen52. 以下函数中表达从某流中读取一个字符但该函数不带参数,表达从标准输入流中读字符的函数是(C)174A.gets B.getc C.getchar D.fgec53. 当到达文献尾端或犯错时,字符读取函数的返回值都是EOF,为进一步确认文献是否已到文献尾,应当通过(B)函数来判断。A.fe

15、rror B.feof C.cleanerr D.perror54. 在定位函数中,可直接将流的读写指针设立到文献的起始位置同时会将错误指示器errno 清零的函数是()rewind 182 无答案A.ferror B.feof C.clearerr 174 D.perror55. 下面关于ftell()函数成功调用说法不对的的是(C)A. 会清除流结束标志 B.返回读写指针当前相对文献起始位置的位移量C.返回读写指针当前相对文献结束位置的位移量 D.会撤消已调用ungetc()对流的影响56. 格式化输出可把格式化数据输出到标准输出、指定文献及字符缓冲区。其中()函数是将格式化数据输出到指定

16、大小的字符缓冲区。(D)183A.printf B.fprintf C.sprintf D.snprintf57. 格式化输入可从标准输入、指定文献及字符缓冲区读取格式化数据。其中()函数是输出到指定文献。(B)A.printf B.fprintf C.sprintf D.snprintf58. 关于临时文献不对的的是A186A.可通过tmpnam()创建 B.也可通过tmpfile()创建C.程序结束时或关闭文献时自动删除 D.调用tmpname 次数有限制59. 下列是进程的异常终止的是(D)193A. 从main中调用return返回 B.调用exit C.调用_exit D.调用abo

17、rt60. 不属于非格式化标准I/O的是(C)A. 字符I/O B.行I/O C.列I/O D.块I/O61. 关于exit()函数不对的的是(B)194A. 先清理后进入内核 B.底层系统调用C.有一个整型参数 D.用于正常终止一个进程62. 内核使程序执行的方法的是(A)A. 调用exec函数 B.调用exit/_exit C.从main返回 D.收到一个系统终止信号63. 关于atexit函数对的的是(D)A. 一个进程可登记超过32个函数 B.函数登记的顺序 和调用顺序相同B. 同一函数可登记多次,但调用一次D.在显示或隐式调用exit时则执行这些登记的终止解决程序64. 非初始化数据

18、段由exec赋初值常称为(C)196A. 正文段 B.数据段 C.bss段 D.堆65. 在存储空间布局中从低地址到高地址依次分布为AA.正文段数据段bss段堆栈 B.栈 堆bss段数据段正文段C.正文段堆栈数据段bss段 D.堆 正文段数据段bss段栈66. PID为0的互换进程是(A)200A.其他所有进程的祖先进程 B.所有其他用户进程的祖先进程C.其他所有内核线程的父进程 D.普通进程67. 调用exec也许有变化的是(D)204A. 调用前后进程ID B.调用exec前后实际用户IDC.调用exec前后实际组ID D.调用exec前后有效用户ID和有效组ID68当waitpid函数的

19、pid参数设立为(A)表达等待任一子进程终止。211A.pid=-1 B.pid=0 C.pid0 D.pid-169. fork函数在父进程中的返回值是(B)206A.0 B.创建的子进程的进程标记号 C.-1 D.170. fork函数在子进程中的返回值是(A)A.0 B.创建的子进程的进程标记号 C.-1 D.171. 进程可以忽略大部分信号,但下列信号中(D)不能忽略213A.SIGBORT B.SIGILL C.SIGQUIT D.SIGKILL72. 调用exec函数会将本来设立为要捕获的信号都更改为(A)214A. 默认 B.忽略 C.另一捕获 D.默认或忽略73. 可用于在不同

20、主机的进程间通信的技术是(D)225A. 管道 B.共享内存 C.消息队列 D.套接字74. 只能在同源进程间通信的技术(A)224A. 普通管道 B.命名管道 C.消息队列 D.共享内存75. 不属于System V IPC通信技术的是(A)A. 管道 B.消息队列 C.信号量 D.共享内存76. 建立从父进程到子进程的管道的方法(B)225A. 父进程关闭管道的写端,子进程关闭管道读端B.父进程关闭管道的读端,子进程关闭管道的写端C.父子进程都管道的读端 D.父子进程都关闭管道的写端76获取某个环境变量值使用函数AAgetenv Bputenv Csetenv Dunsetenv77文献系

21、统保存在磁盘的BA.引导块 B.超级块 C.i节点块 D.数据块78Linux文献系统的根目录的i节点号为CA. 0 B. 1 C.2 D.379文献描述符的数据类型是BA. char B.int C.double D.float80设立文献偏移量的系统调用是CA. truncateB. syncC . lseekD.create81下面那个不是lseek第三个参数的取值CA.SEEK_SETB.SEEK_CURC.SEEK_NOWD.SEEK_END82可以使用(C)系统调用获得符号链接所引用文献名称A.linkB.symlinkC.readlinkD.softlink83获得工作途径名称的

22、系统调用是AA.getcwdB.getpwuidC.getgrgidD.getlogin84通过文献属性中的uid获得文献拥有者名字的系统调用是BA.getcwdB.getpwuidC.getgrgidD.getlogin85通过文献属性中的gid获得文献所属组名字的系统调用是CA.getcwdB.getpwuidC.getgrgidD.getlogin86根据文献途径来改变文献权限使用系统调用是BA.chownB.chmod C.fchmod D.fchown一、填空题1.Linux内核与发行版的关系:Linux Kernel 3.5.3是Linux内核版,而Ubuntu 12.04.1是L

23、inux的发行版2.Shell是linux系统的一种命令行用户界面,提供了用户与操作系统进行交互的接口,本质上是命令解释器,可为用户提供个性化的使用环境。3.在Shell中测试运算有文献属性测试、字符串测试、数值测试、逻辑运算。4. 专门执行整数算术运算的命令let所指表达式可执行C语言中常见的算术、逻辑、位运算、比较运算等。 5Vi的三中工作模式:插入模式、命令模式、末行模式。6Gcc生成可执行文献的四个环节:预解决、编译、汇编、链接。预解决是对源程序进行头文献加载和宏展开等操作,由cpp完毕;汇编一是产生汇编代码,二是产生二进制的目的文献,由gcc使用as;生成的多.o文献和使用到的库文献

24、链接成为可被操作系统执行的可执行程序,使用ld工具,可使用两类库文献。7库分为 静态库 和共享库 。静态库由多个.o文献组成的集合,文献成员没有特殊的存在格式,使用“ar”可维护和管理,库文献后缀为“.a”;共享库多个.o文献由编译器按照一定特殊的方式生成。多个可执行程序可共享库文献的代码段,但不共享数据。8命令行参数是main。函数的参数yMain函数的参数若有两个参数则第一个参数代表命令行参数个数、第二个参数代表指向各命令行参数字符串的指针数组。9Linux 中日期时间的表达方法有:算术类型、结构体类型、字符串类型。10假如一个C程序的入口表达为main(int argc,char *ar

25、gv),编译该程序后的可执行程序为a.out,那么在命令“./a.out f foo”后,main中的参数argv1指向的字符串是(“-f”)。11Linux系统下表达标准输入、标准输出和标准错误输出的文献描述符(符号表达)分别为(STDIN_FILENO、STDOUT_FILENO 、STDERR_FILENO),它们的值分别为0、1、2。12数字635表达的权限使用字母的方式表达为 (rwwxr-x)、使用符号方式表达为(S_IRUSR | S_IWUSR | S_IWGRP | S_IXGRP | S_IROTH | S_IXOTH)。13系统调用open的功能是打开或创建文献。14 使

26、用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)。2

27、0使用系统调用(umask)可以设立和得到文献模式的屏蔽字。21创建硬链接使用系统调用(link),创建符号链接使用系统调用(symlink)。22获得工作途径名称的系统调用是(getcwd)。23可以使用(stat或fstat或lstat)系统调用显示文献属性信息。24chmod,chown,utime都可以修改文献i节点信息,其中chmod的功能是(更改文献权限)、chown的功能是(更改文献所有者和所属组)、utime的功能是(更改文献访问时间和修改时间)。25若实现将标准输出重定向到文献描述符为6相应的文献上,则应使用语句(dup2(6,1))。26系统调用(Unlink)的作用是删除

28、目录项,这里的目录项是指(文献名和文献i节点的相应关系)。27打开目录使用(DIR *opendir(const char *name))系统调用,关闭目录使用( int closedir(DIR *dir))系统调用,读取目录内容使用(struct dirent *readdir(DIR *dir))系统调用。28chdir系统调用的功能是(改变当前目录)。29创建目录使用(int mkdir(const char *pathname, mode_t mode))系统调用、删除目录使用(int rmdir(const char *pathname))系统调用。30.popen函数实现的操作:

29、创建一个管道,fork一个子进程,然后关闭管道的不使用端,在子进程中exexc一个shell以执行一条命令,然后等到命令的终止。31.使用kill发送信号时,发送方进程应具有相应的权限:接受和发送进程的所有者相同,发送进程的所有者是超级用户三、简答题1系统调用、库函数的区别和练习从用户角度观测,系统调用和库函数都以C函数形式出现,提供应用户一种功能实现的接口,需要用户输入指定的参数,调用结束得到指定的返回值。从实现者角度观测,库函数是在系统调用上层的函数,库函数一般指程序员可以使用的通用函数。系统调用由两部分组成:(1)核心函数:是实现系统调用功能的代码,作为操作系统的核心驻留在内存中,是一种

30、共享代码。运营在核心态。(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/tes

31、t文献的拥有着修改为tom,将文献所属组该为student#chown tom:student /home/test5静态库和共享库的区别(1)静态库的代码在编译时就已连接到开发人员开发的应用程序中。(2)共享库只是在程序开始运营时才载入,在编译时,只是简朴地指定需要使用的库函数。(3)静态库文献以.a结尾,共享库文献以.so结尾。 6Linux文献类型重要有哪七类?常规文献、目录文献、字符设备文献、块设备文献、管道文献、链接文献、套接字文献7简述文献、i节点、文献名、目录之间的关系每个存在磁盘上的文献都由i节点和数据块两部分组成,i节点和文献一一相应,一个i节点可以相应多个文献名,文献名和i

32、节点的相应关系叫做文献的硬链接,文献名和i节点的相应关系保存在目录文献中。8什么是文献描述符?(1)一个非负整数,内核以此来标记一个特定进程正在操作的文献。(2)012代表三个标准的文献描述符,分别为标准输入、标准输出、标准错误输出9使用符号方式表达rwxrwxrwx权限S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH| S_IWOTH|S_IXOTH10写出open一下6种打开标志:只读、只写、读写、追加、文献不存在创建、截断为0O_RDONLY O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC 1

33、1读程序,写出执行结果并解释得到该结果的因素main()int fd1,fd2;fd1=open(“/etc/passwd”,O_RDONLY);fd2=open(“/etc/passwd”,O_RDWR);printf(“fd1=%d,fd2=%dn”,fd1,fd2);close(fd1);close(fd2);结果:fd1=3 fd2=4因素:open返回的文献描述符为最小可用的非负整数,012是三个标准的文献描述符默认已经被占用,所以第一个open的返回值为3,第二个open返回的是4。12回答stat、fstat、latat三个系统调用的区别stat根据途径获得文献元数据信息fsta

34、t根据文献描述符获得文献元数据信息前两者假如碰到符号链接文献则会一直引用至非符号链接文献lstat获得符号链接文献自身的文献元数据信息12dup和dup2的区别和联系联系:dup与dup2都用来将新文献描述符指向本来文献描述符指向的打开文献描述。区别:dup返回的新文献描述符为最小可用的文献描述符,dup2返回的新文献描述符可以通过第二个参数指定。13硬链接和符号链接的区别(1)命令ln 原文献硬链接文献(不能对目录创建硬链接)ln s 原文献/目录符号链接文献(2)是否新增文献:硬链接不增文献,符号链接增长文献。(3)删除原文献/目录硬链接:相应i节点链接数-1。符号链接:符号链接文献失效。

35、 (4)删除链接文献删除硬链接文献,使相应i节点的链接数-1。删除符号链接文献,对原文献/目录无任何影响(5)是否跨文献系统:硬链接不可以,符号链接可以14fork与vfork区别?(1)fork创建的子进程复制父进程的整个地址空间,vfork不创建这一副本,子进程借用父进程的地址空间,直到其调用exec族函数或终止;(2)fork创建的子进程和父进程互相独立地运营,而vfork创建子进程后挂起父进程,直到子进程终止或调用exec族函数。使用kill发送信号时,发送方进程应具有相应的权限:接受和发送进程的所有者相同,发送进程的所有者是超级用户。15阅读以下代码,若execlp调用成功的话,“D

36、one!”会打印输出吗?为什么?#includeint main()printf(“Running ps with execlpn”);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 1n”);y=7;

37、sleep(1);printf(“This is pthread1.the sentence 2n”);x=x+y;void thread2(void)printf(“This is pthread1.the sentence 1n”);x=4;sleep(1);printf(“This is pthread1.the sentence 1n”);y=8+y;void main(void)pthread_t id1,id2;pthread_create(&id1,NULL,(void *)thread1,NULL);pthread_ create(&id2,NULL,(void *)threa

38、d2,NULL);pthread_join(id1,NULL);pthread_ join(id2,NULL);printf(“x=%d,y=%dn”,x,y);答案:This is pthread1.the sentense 1This is pthread2.the sentense 1This is pthread1.the sentense 2This is pthread2.the sentense 2x=11,y=15因素:(1)线程1先运营,线程2后运营。线程1执行sleep(1);后阻塞,线程2继续执行,线程2执行到sleep(1);时线程2阻塞,线程1阻塞结束继续执行,线程1

39、执行结束后线程继续执行到结束。(2)线程1和线程2共享进程的数据段,因此共享变量x,y。17进程间通信的六种方式是什么?简述他们的通信原理?(1)信号:用于告知接受进程有某种事件发生。(2)管道:连接一个进程的输出至另一个进程的输入的一种方法。(3)信号量:一个计数器,用来记录对某个资源的使用情况。(4)共享内存:允许多个进程访问同一块内存空间。(5)消息队列:消息的链表,链表中每个节点涉及消息类型和正文两部分。(6)套接字:在网络上主机间进程进行通信的方式。18PIPE与FIFO的区别与联系PIPE为未命名管道,FIFO为命名管道。联系:PIPE和FIFO都是单向传输,一端为读,另一端为写。

40、区别:PIPE只能在有亲缘关系的进程中使用,如父子进程;FIFO有名字,所以只要知道该名字,无关进程之间也可以使用。19书名产生信号的几种方式?(1)用户操作。如键盘操作Ctrl-C,最终使得内核产生信号SIGINT。(2)进程执行犯错。如浮点数溢出,内核也会产生信号。(3)进程执行某个系统调用。如调用kill向某个进程或进程组发送信号。20说明信号传递的过程。(1)生成(generating)。内核要更新目的进程的数据结构,表达一个新的信号已经被发送给此进程。此时,进程并没有对信号做出任何响应。(2)传递(delivery)。逼迫目的进程对信号做出响应。四、编程题1向文献f1中写入“hell

41、o world!”,然后再将f1中的内容读出并显示在屏幕上。(注意必要的错误判断)#include #include #include int main()int fd;char buf113=hello world!;char buf212;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 wa

42、ntn);lseek(fd,0,SEEK_SET);num=read(fd,buf2,12);if(num!=12)printf(read less than 12n);write(1,buf2,12);close(fd);2向文献f2中写入“aabbccddee”,然后将偏移量移到绝对值偏移为4的位置处,读6个字符,并将结果显示在屏幕上#include #include #include int main()int fd;char buf111=aabbccddee;char buf210;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 wantn);lseek(fd,4,SEEK_SET);num=read(fd,buf2,6);if(num!=6)printf(read less than 6n);write(1,buf2,6);close(fd);3向文献f3中写入“aabbccddeeffgghh”,然后将文献截短后的文献内容读出并显示在屏幕上#

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服