1、C程序中全局变量的存储空间在( )分配。
A、 代码区
B、 静态数据区
C、 栈区
D、 堆区
答案:B
答题解析:
本题考查程序设计语言内存分配知识点。一个由c/c++编译的程序占用的内存分为以下几个部分:
1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2.堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,链表的数据空间必须采用堆存储分配策略。
3.全局区(静态区)(static):全局变量和静态变量的存储是放在这一块的。初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,程序结束后由系统释放。
4.文字常量区:常量字符串就是放在这里的,程序结束后由系统释放。
5.程序代码区:存放函数体的二进制代码。
参考答案:B
2、
A、 V(S1)、P(S1)和V(S2)V(S3)
B、 P(S1)、V (S1)和V(S2)V(S3)
C、 V(S1)、V(S2)和P(S1)V(S3)
D、 P(S1)、V(S2)和V(S1)V(S3)
答案:A
答题解析:
本题考查操作系统中PV操作知识点。信号量是一个整型变量,根据控制对象的不同赋不同的值。信号量可分为两类。公用信号量:实现进程间的互斥,初值为资源的数目。私用信号量:实现进程间的同步,初值=0或某个整数。
3、
A、 V(S2)和P(S4)
B、 P(S2)和V(S4)
C、 P(S2)和P(S4)
D、 V(S2)和V(S4)
答案:B
答题解析:
本题考查操作系统中PV操作知识点。信号量是一个整型变量,根据控制对象的不同赋不同的值。信号量可分为两类。公用信号量:实现进程间的互斥,初值为资源的数目。私用信号量:实现进程间的同步,初值=0或某个整数。
本题中PV操作顺序如下:
Begin BeginP1;V(S1);end;题目中a处填写V(S1);
BeginP(S1);P2;V(S2);V(S3);end;题目中b处填写P(S1),c处填写V(S2)和V(S3)BeginP(S2);P3;V(S4);end;题目中d处填写P(S2),e处填写V(S4)
BeginP(S3);P4;V(S5);end;题目中f处填写P(S3),
BeginP(S4);P(S5);P5;end;题目中g处填写P(S4)和P(S5)。得到本题选项。
查看完整试题>>>