前言
大家好吖,欢迎来到 YY 滴操作系统不挂科 系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁
本博客主要内容,收纳了一部门基本的操作系统题目,供yy应对期中考试复习。大家可以参考
- 本章为系列题库,其他章节看下面传送门其他博客
- 【操作系统不挂科】<操作系统概论(1)>分类选择题(带答案与解析)
- 【操作系统不挂科】<操作系统功能、概念、运行态(2)>分类选择题(带答案与解析)
- 【操作系统不挂科】<Linux基础知识(3)>分类选择题(带答案与解析)
- 【操作系统不挂科】<Linux进程概念(4)>选择题(带答案与解析)
- 【操作系统不挂科】<创建进程(5)>选择题&分析填空题(带答案与解析)
- 【操作系统不挂科】<线程概念(6)>选择题&简答题(带答案与解析)
- 【操作系统不挂科】<创建线程(7)>单选&多选&简答题(带答案与解析)
- 【操作系统不挂科】<竞争条件与临界区(8)>选择题(带答案与解析)
- 【操作系统不挂科】<信号量(9)>选择题(带答案与解析)
- 【操作系统不挂科】<忙等待互斥(10)>选择题&简答题(带答案与解析)
- 【操作系统不挂科】<经典同步问题(11)>PV原语简答题(带答案与解析)
- 【操作系统不挂科】<死锁(12)>选择题(带答案与解析)
- 【操作系统不挂科】<CPU调度(13)>选择题(带答案与解析)
- 【操作系统不挂科】<内存管理综述(14)>选择题&简答题(带答案与解析)
- 【操作系统不挂科】<内存管理-分页与分段(15)>选择题&简答题(带答案与解析)
- 【操作系统不挂科】逐步骤详解——>四种页面置换算法例题<LPU最近最久未使用&OPT最优&FIFO先进先出&CLOCK时钟置换算法>(16)
- 【操作系统不挂科】<内存管理-虚拟内存(17)>选择题&简答题&简答题(带答案与解析)
- 【操作系统不挂科】<内存管理-文件系统实现(18)>选择题(带答案与解析)
- 【操作系统不挂科】<内存管理-文件系统-磁盘调度(19)>选择题+简答题(带答案与解析)
- 【操作系统不挂科】<IO系统(20)>选择题(带答案与解析)
一.<创建进程>选择题
1.以下关于父进程和子进程的叙述中,正确的是( )
A.父进程创建了子进程,因此父进程运行完了,子进程才能运行
B.父进程和子进程可以并发执行
C.撤销子进程时,应该同时撤销父进程
D.撤销父进程时,应该同时撤销子进程
- 正确答案:B
2.当进程采用操作fork()创建新的进程时,父进程和子进程之间共享了以下哪些状态?(多选题)
A.堆栈
B.堆
C.共享内存段
D.代码段
- 正确答案:D
- fork共享代码段
- 数据段、堆和栈:尽管子进程在创建时会得到父进程数据段、堆和栈的副本,但这些副本在物理内存中是分开的。也就是说,子进程拥有自己独立的数据空间、堆和栈,对它们的修改不会影响到父进程中的相应部分。
二.<创建进程>分析填空题
1.请问下面的程序一共输出( )个“-”?

- 正确答案:6
- 第一次循环(i = 0),fork() 调用后,有两个进程:父进程和子进程
- 这两个进程都会执行 printf(“-\n”);结果:输出两个 -
- 第二次循环(i = 1),有四个进程:原始父进程、第一次循环创建的子进程、第二次循环父进程创建的子进程(孙子进程 1)、和第一次循环创建的子进程在第二次循环中创建的子进程(孙子进程 2)这四个进程都会执行 printf(“-\n”);结果:再输出四个 -
- 一共结果是6个
如果去掉\n,结果是输出8个。相关解释跳转下方传送门
2.采用下列的程序,说明第A行的输出结果

- 正确答案:PARENT:value=5
- fork共享代码段,不共享数据段;全局变量value在数据段,不受影响
3.下图所示程序,创建了多少进程(包括初始父进程)?

- 正确答案:8
- 2的三次方

4.如下图程序所示的程序创建了多少个进程(包括初始的父进程)?

- 正确答案:16
- 2的4次方

5.对下图所示的标记为printf(“LINE J”)的行所能执行的环境,请解释一下

- 正确答案:
- 1)因执行函数exec(),将可能替代当前程序的地址空间的代码,替代者由参数指令(即ls程序)。
2)如果exec()成功执行,则新的代码将执行,不会返回执行printf(“LINE J”)语句。
3)如果exec()调用出错(如未找到参数指令的程序),则会执行printf(“LINE J”)语句。
6.下图所示的程序,确定行A、B、C、D中的pid的值。(假定父进程和子进程的pid分别为2600和2603)

- 正确答案:
- A:pid=0; //fork后子进程返回0
B:pid1=2603; //getpid()获取当前进程的ID
C:pid=2603; //fork后父进程对应接收到的是子进程的ID
D:pid1=2600; //getpid()获取当前父进程的ID
7.使用下图(原图3-35)所示的程序,请解释一下行X和Y的输出是什么?

- 正确答案:
- X行输出:0,-1,-4,-9,-16
Y行输出:0,1,2,3,4
>选择题&分析填空题(带答案与解析)&spm=1001.2101.3001.5002&articleId=143834568&d=1&t=3&u=dc5d3f1108744132b8b36798718a705a)
1494

被折叠的 条评论
为什么被折叠?



