文章

7

粉丝

80

获赞

0

访问

70

头像
2025年计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年6月27日 12:46
阅读数 10

(1)

 

- PCB(进程控制块)位于内核空间(操作系统管理进程的核心数据结构)。

- 执行 scanf() 等待键盘输入时,进程因等待I/O事件处于阻塞状态(Blocked)。

 

(2)

 

-  main() 函数的代码位于代码段(Text Segment)(存储程序可执行指令)。

- 直接调用的 scanf() 和 printf() 需要通过驱动程序实现功能:

-  scanf() 涉及键盘输入,需调用键盘驱动程序读取硬件输入;

-  printf() 涉及显示器输出,需调用显示驱动程序控制硬件输出。

 

(3)

 

- 变量 ptr 是函数内局部指针变量,分配在栈区(Stack)(存储局部变量和函数调用信息)。

- 变量 length 若未分配在寄存器中,作为局部变量也分配在栈区。

-  ptr 指向的字符串由 malloc(100) 动态分配,位于堆区(Heap)(动态内存分配区域)。


评分及理由

(1)得分及理由(满分2分)

得分:2分

理由:学生准确回答了PCB位于内核空间,并正确指出执行scanf()时进程处于阻塞状态。答案与标准答案完全一致。

(2)得分及理由(满分3分)

得分:3分

理由:学生正确指出main()函数的代码位于代码段(Text Segment),并准确说明scanf()和printf()需要通过驱动程序实现功能,涉及键盘和显示器的硬件操作。答案与标准答案完全一致。

(3)得分及理由(满分3分)

得分:2分

理由:学生正确回答了ptr指向的字符串位于堆区,以及length若未分配在寄存器中则位于栈区。但错误地将ptr分配在栈区,实际上ptr是全局变量,应分配在可读写数据段。因此扣1分。

题目总分:2+3+2=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发