进程单元测试题(含答案)
更新时间:2023-11-16 22:01:01 阅读量: 教育文库 文档下载
- 单元测试教案推荐度:
- 相关推荐
一、选择题(40分)
1. 如果键盘输入为abcdef,程序如下所示,打印结果应该是( C)
char buffer[6]; ……
fgets(buffer, 6, stdin); printf(“%s”, buffer);
[A] abcde [B] abcdef [C] abcdef 后出现乱码 [D] 段错误
2. fread()返回值的含义是 ( B )
[A] 读取的字节数 [B] 读取的对象数 [C] 缓冲区的首地址 [D] 随机数
3. 如果umask的值为022,创建文件时指定的权限是775,则该文件的实际权限为 ( A ) // (0775 & ~umask):把新建(指定的)的文件权限和umask的值取反相与的结果为实际创建的文件权限。
[A] 755 [B] 722 [C] 753 [D] 022
4. 用open( )创建新文件时,若该文件存在则可以返回错误信息的参数是 (B ) [A] O_CREAT [B] O_EXCL [C] O_TRUNC [D] O_NOCTTY
5. 下列哪个函数不会改变文件读写位置( D )
[A] fread [B] fwrite [C] rewind [D] ftell
6. lseek()操作成功时返回值的含义是 ( B )
[A] 新的文件位移量 [B] 文件位置指针移动的字节数 [C] 原先的文件位移量 [D] 总是0
7. 如果要删除一个文件需要哪种权限 ( A )
[A] 对文件具有写权限 [B] 对文件具有可执行的权限
[C] 对目录具有写权限 [D] 对目录具有可执行的权限
8. 下列不是用户进程的组成部分的是( D )
[A] 正文段 [B] 用户数据段 [C] 系统数据段 [D] elf段
9. 以下哪种不是进程的类型 ( B )
[A] 批处理进程 [B] 管理进程 [C] 交互进程 [D] 守护进程
10. 以下哪种方法无法查看进程的信息 ( C )
[A] ps [B] 查看/proc目录 [C] kill [D] top
11. 可以改变正在运行的进程优先级的命令是( A)
[A] nice [B] renice [C] kill [D] set Kill -9 进程号
12. 以下哪种用法可以等待接收进程号为pid的子进程的退出状态 ( A )
[A] waitpid(pid, &status, 0) [B] waitpid(pid, &status, WNOHANG) [C] waitpid(-1, &status, 0) [D] waitpid(-1, &status, WNOHANG)
0:同wait ,代表阻塞父进程,直到指定的子进程退出
WNOHANG:若指定的子进程没有结束,则waitpid不阻塞立即返回。
13. 函数waitpid的返回值等于0时表示的含义是 ( B)
[A] 等待的子进程退出 [B] 使用选项WNOHANG且没有子进程退出 [C] 调用出错 [D] 不确定
14. 下列对无名管道描述错误的是 (C )
[A] 半双工的通信模式 [B] 有固定的读端和写端 [C] 可以使用lseek函数 [D] 只存在于内存中
15. 下列对于有名管道描述错误的是 ( D )
[A] 可以用于互不相关的进程间 [B] 通过路径名来打开有名管道 [C] 在文件系统中可见
[D] 管道内容保存在磁盘上 x 内核空间中
16. 下列不属于用户进程对信号的响应方式的是 ( B )
[A] 忽略信号 [B] 保存信号 [C] 捕捉信号 [D] 按缺省方式处理
17. 不能被用户进程屏蔽的信号是 ( B) SIGSTOP和SIGKILL
[A] SIGINT [B] SIGSTOP [C] SIGQUIT [D] SIGILL
18. 默认情况下,不会终止进程的信号是 ( D )书p87
[A] SIGINT [B] SIGKILL [C] SIGALRM [D] SIGCHLD
19 下列不属于IPC对象的是 ( A )
[A] 管道 [B] 共享内存 [C] 消息队列 [D] 信号灯
20. 下列哪种机制只能用于线程之间的同步 ( D )
[A] 信号 [B] IPC信号灯
[C] POSIX有名信号量 [D] POSIX无名信号量
二、判断题(15分)
1. open()可以用于创建普通文件和设备文件 ( F ) 2. lseek()并不引起IO操作 ( T ) 3. fgetc()的返回值是char型 F
4. 文件描述符是系统随机分配的非负整数 ( F ) 5. 某些库函数的实现不需要系统调用 ( T )
6. Linux下进程的模式分为用户态,内核态和系统态 ( F )
7. 每个进程的进程号和父进程号在进程执行期间不会改变 ( F ) 8. 子进程被创建后从fork()的下一条语句开始执行 ( T )
9. 执行_exit()函数时不会清理IO缓冲 ( T )
10. exec函数族可以创建一个新的进程来执行指定的程序 ( F ) 11. wait函数无法接收子进程退出的状态 ( F ) 12. 无名管道只能用于父子进程 ( T )
13. 可以用signal()向指定的进程发信号 ( F ) 14. 消息队列可以按照消息类型读取消息 ( T )
15. 共享内存是一种最为高效的进程间通信方式 ( T )
三、简答题(25分)
1. 文件IO和标准IO有什么区别?(5分)
文件IO : 低级IO,没有缓冲机制。操作的对象是文件描述符机制,标准C库中实现。操作的对象是流
2. 如何判断一个文本文件包含多少行(写出代码, 5分) #include
int main(int argc, const char *argv[]) {
FILE *fp = fopen(argv[1], \ if (fp == NULL) {
perror(\ return 0; }
int line = 0; char buff[1024]; while(1) {
if(fgets(buff, sizeof(buff), fp) != NULL ) {
if(buff[strlen(buff)-1] == '\\n')
标准IO : 高级IO,有缓冲 {
line++; } }
if (feof(fp)) {
break; } }
printf(\
return 0; }
3. 请描述进程和程序的区别 (4分)
程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念 进程是一个动态的概念,它是程序执行的过程,包括创建、调度和消亡 进程是一个独立的可调度的任务 进程是一个抽象实体。当系统在执行某个程序时,分配和释放的各种资源 进程是一个程序的一次执行的过程 进程是程序执行和资源管理的最小单位
4. 指出静态库和共享库的区别(使用方法,对程序的影响) (5分)
二者的不同点在于代码被载入的时刻不同。 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库,因此体积较大。
动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在,因此代码体积较小。
5. 写出设置信号处理函数的原型 (3分) typedef void (*sighandler_t)(int);
6. 程序代码如下,请按执行顺序写出输出结果 (3分)
int main()
{ pid_t pid1,pid2;
if((pid1=fork()) = = 0) {
sleep(3);
printf(“info1 from child process_1\\n”); exit(0);
printf(“info2 from child process_1\\n”); } else {
if((pid2=fork()) = = 0) {
sleep(1);
printf(“info1 from child process_2\\n”); exit(0); } else {
wait(NULL); wait(NULL);
printf(“info1 from parent process\\n”); printf(“info2 from parent process”); _exit(0); } }
info1 from child process_2 info1 from child process_1 info1 from parent process
四、问答题(20分)
1. 用文件IO分别实现标准IO中的(r, r+, w, w+, a, a+),文件名由argv[1]传入程序.
(O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, O_TRUNC, O_APPEND) (6分)
fopen(argv[1], “r”) : open(argv[1], O_RDONLY) fopen(argv[1], “r+”) : open(argv[1], O_RDWR) fopen(argv[1], “w”) : open(argv[1], O_WRONLY|O_CREAT|O_TRUNC, 0666) fopen(argv[1], “w+”) : open(argv[1], O_RDWR|O_CREAT|O_TRUNC, 0666) fopen(argv[1], “a”) : open(argv[1], O_WRONLY|O_CREAT|O_APPEND, 0666) fopen(argv[1], “a+”) : open(argv[1], O_RDWR|O_CREAT|O_APPEND, 0666)
2. 指出创建守护进程的步骤(8分) 1) 创建子进程,父进程退出 2) 在子进程中创建新会话 // 3) 改变当前目录为根目录 4) 重设文件权限掩码 5) 关闭文件描述符
3. 请画出Linux中进程的状态切换图(6分)
ppt 27页
正在阅读:
进程单元测试题(含答案)11-16
污染防治措施09-22
201X年大学保卫处党支部工作计划03-13
第四章关系数据库标准语言SQL - 图文12-07
全市酒业大会领导发言稿12-22
成本会计习题(3)11-30
东华小升初语文试题04-24
机械制造基础第六至九章(答案)08-06
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 测试题
- 单元
- 进程
- 答案
- 新课标高中数学必修1-5基础知识练习100题含答案
- 海安县曲塘中学附属初级中学校史沿革 - 图文
- 19春东财《土力学与地基基础》在线作业二
- 查摆工作问题 理清工作思路1
- 小学数学教学中渗透数学思想方法的策略研究
- java作业题目 - 2016
- 最新人教版二年级上册重要题型及易错题
- 人员素质测评
- 论如何调动员工的积极性、主动性与创造性
- 高级钳工培训试题及答案
- 主持人大赛策划方案
- 中国电信装维故障库
- 一事一议规范文本
- 谈如何创造性地使用初中英语教材(2)
- 高速铁路接触网零件图
- 《C6-3.43-0.49汽轮机操作规程》
- 新课标文言文主题分类比较
- 贵州省安顺市2018年中考语文试题word版含答案
- 兰石3NB系列泥浆泵说明书
- 工业分析期末复习题