2022年04-IO进程测试题_第1页
2022年04-IO进程测试题_第2页
2022年04-IO进程测试题_第3页
2022年04-IO进程测试题_第4页
2022年04-IO进程测试题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一,选择题 每题 2 分,共 40 分1. 以下哪种打开文件的方式不能修改文件已有的内容 B A r+BrCw+Da+2. 以下哪种不是进程的状态 B A 运行态B锁定态C睡眠态D停止态3. 以读写方式打开一个已存在的标准I/O 流时应指定哪个 mode 参数B A rB r+C w+Da+4. fork 的返回值不行能是 C A -1B 0C 1D大于 10000 的正整数5. 常用来进行多任务同步的机制是 B A 管道B信号量C信号(异步通信方式, 中断机制的模拟)D共享内存 本身不供应同步机制,可自行添加信号量实现同步 信号量:解决进程线程之间的同步与互斥问题的一种通信机制:信号量变量

2、和这个变量的等待队列 ,两个原子操作( PV ).6. 以下哪个函数无法传递进程终止时的状态 A A closeB exitC _exitD returnvoid exit int status7. 以下哪种用法可以等待接收进程号为pid 的子进程的退出状态A P59A waitpidpid, &status, 0Bwaitpidpid, &status, WNOHANGCwaitpid-1, &status, 0Dwaitpid-1, &status, WNOHANG WNOHANG:子进程没终止,不堵塞马上返回,返回值为0. 0:堵塞父进程,直到子进程退出.8. What kind of

3、IPC has the highest efficiency. B A semaphoreB sharedmemoryC fifoD message queue Esignal9. 以下对无名管道描述错误选项 C A 半双工的通信模式B 有固定的读端和写端C 可以使用 lseek 函数D 只存在于内存中10. 以下对于出名管道描述错误选项 D A 可以用于互不相关的进程间B 通过路径名来打开出名管道可编辑资料 - - - 欢迎下载C 在文件系统中可见D 管道内容储存在磁盘上11. 以下不属于用户进程对信号的响应方式的是 B A 忽视信号B储存信号C捕捉信号D按缺省方式处理( 1 终止 SIGI

4、NTCtrl+c ,SIGINTQUIT.2 暂停 SIGSTOP . 3 停止 SIGTSTPCtrl+z. . 4 忽视 SIGCHILD)12. 不能被用户进程屏蔽的信号是 B A SIGINTB SIGSTOP /SIGKILLC SIGQUITD SIGILL非法指令时发出13. 以下哪个是不带缓存的 C A stdinB stdoutC stderrD都不是14. 以下不属于 IPC 对象的是 A A 管道B共享内存C消息队列D信号灯IPC对象通过它的标识符来引用和拜望,这个标识符是一个非负整数,它唯独的标识了一个 IPC 对象,这个 IPC 对象可以是消息队列或信号量或共享储备器

5、中的任意一种类型15. 假如键盘输入为 abcdef,程序如下所示,打印结果应当是 A charbuffer6;fgetsbuffer, 6, stdin;printf “%s”, buffer;/遇到 n 或 读取了 size 1 个字符后返回 .AabcdeB abcdefC abcdef后显现乱码D段错误16. 用 open 创建新文件时,如该文件存在就可以返回错误信息的参数是 B AO_CREAT创建新文件 BO_EXCLCO_TRUNC 删除原有数据D O_NOCTTYint open const char *pathname, int flags, int perms17. 以下不

6、是用户进程的组成部分的是 DA正文段B用户数据段C系统数据段Delf 段进程是由 进程把握块,程序段,数据段三部分组成18. 以下哪种方法无法查看进程的信息 C A psB查看 /proc 目录C killD topLinux 系统中每一个进程都会有/proc 文件系统下的与之对应的一个目录 init 进程信息存放在 /proc/1 目录下 .19. 默认情形下,不会终止进程的信号是 D A SIGINTB SIGKILLC SIGALRMDSIGCHLD可编辑资料 - - - 欢迎下载20. fread 返回值的含义是 B A 读取的字节数B读取的对象数C缓冲区的首地址D 0size_t f

7、read void *ptr, size_t size, size_t nmemb, FILE *stream;二,简答题 30 分1. 请描述进程和程序的区分?(5 分) 进程和程序的区分程序是 静态 的,它是一些储存在 磁盘 上的指令的有序集合,没有任何执行的概念进程是一个 动态 的概念,它是程序执行的过程 ,包括创建,调度和消亡进程是一个独立的可调度的任务进程是一个抽象实体.当系统在执行某个程序时,支配和释放 的各种资源进程是一个程序的一次执行的过程进程是程序执行和资源治理的最小单位2. 指出静态库和共享库的区分使用方法,对程序的影响 ( 5 分静态库在程序 编译时会被连接到目标代码中,

8、程序 运行时将不再需要该 静态库,因此体积较大 .动态库在程序编译时并 不会被连接 到目标代码中, 而是在程序运行是才被载入,因此在程序 运行时仍需要动态库存在,因此代码 体积较小 .3. 写出设置信号处理函数和用户定义的信号处理函数的原型5 分void *signalint signum, void *handlerintint; typedef void *sighandler_tint;sighandler_t signalint signum, sighandler_t handler; void driver_handlerint signo;void *handlerint;han

9、dler,一个指向函数的指针,该函数有一个int参数,返回 void .T *signalintsigno, P, P = void *handlerint .signal,一个函数,该函数有2 个参数( signo, P),返回类型 T 的指针.void T int , T = signalintsigno, P T,一个函数,该函数有一个int参数,返回 void .4. 程序代码如下,请按执行次序写出输出结果10 分 int mainpid_tpid1,pid2;ifpid1=fork = = 0/ 子进程处理程序可编辑资料 - - - 欢迎下载sleep3;printf “info1

10、from child process_1n ”; exit0;printf “info2 from child process_1n ”;elseifpid2=fork = = 0/子进程 2sleep1;printf “info1 from child process_2n ”; exit0;elsewaitNULL; waitNULL;printf “info1 from parent processn ”;printf “info2 from parent process ”;_exit0;info1 from child process_2 info1 from child proce

11、ss_1 info1 from parent process5. 列出任意四种进程间通信的方式5 分传统的进程间通信方式无名管道 pipe ,出名管道 fifo 和信号 signalSystem V IPC 对象共享内存 share memory,消息队列 message queue和信号灯 semaphoreBSD套接字 socket三,综合题 30 分1. 指出创建守护进程的步骤5 分 P651) 创建子进程,父进程退出fork , exit2) 在子进程中创建新会话setsid3) 转变当前目录为根目录chdir4) 重设文件权限掩码umask( 0)5) 关闭文件描述符close2.

12、请画出 Linux 中进程的状态切换图 5 分可编辑资料 - - - 欢迎下载3. 用文件 IO 分别实现标准 IO 中的 r, r+, w, w+, a, a+, 文件名由 argv1 传入程序 . O_RDONL Y, O_WRONL Y, O_RDWR, O_CREA T, O_TRUNC, O_APPEND10分int open const char *pathname, int flags, int perms; r:open(argv1,O_RDONL Y ) ;r+:open argv1,O_RDWR;w:openargv1,O_WRONL Y | O_CREAT | O_TRU

13、NC,0666; w+:openargv1,O_RDWR | O_CREAT | O_TRUNC,0666;a:openargv1,O_WRONL Y | O_CREAT | O_APPEND,0666;a+:openargv1,O_RDWR | O_CREAT | O_APPEND,0666;4. 编写程序实现如下功能 10 分:reader.c从 argv1 所指定的文件中读取内容,依次写到管道/home/linux/myfifo中writer.c从管道 /home/linux/myfifo中读取内容,写到argv1 所指定的文件中并储存代码中可省略头文件,/home/linux/myfi

14、fo无需创建可编辑资料 - - - 欢迎下载Read.cint mainint argc, const char *argvint fd,fd_src; char buf32; int bytes; ifargc 2printfUsage %s src_filen,argv0; return -1;iffd = open/home/linux/myfifo,O_WRONLY 0perrorfail to open; return -1;if fd_src = openargv1,O_RDONLY 0writefd,buf,bytes;closefd; closefd_src; return 0;Write.cint mainint argc, const char *argvint fd,fd_dest; char buf32; int bytes; ifargc 2printfUsage %s dest_filen,argv0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论