文章

85

粉丝

253

获赞

1

访问

29.2k

头像
2025年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年12月18日 16:13
阅读数 103

本题考察 进程内存空间,题目中给出的内存结构和标准 linux 进程结构由些许差异,主要不同点在于图中的 读/写代码段 将 .bss 和 .data 融合了,考生看到能够理解就可以。

1)进程管理属于操作系统提供的功能,所以 PCB(进程)位于内核区,执行 scanf() 时,进程在等待键盘 I/O,处于阻塞态。

2)main() 函数的代码位于只读代码段(.text),其直接调用的 scanf() 和 printf() 需要执行驱动程序。

3)ptr 是作为全局变量定义的,所以其位于读/写数据段,length 变量在 main 函数中定义,如果该变量不在寄存器中被分配的话,那么就位于用户栈段,ptr 指针指向的内存单元是使用 malloc 函数动态分配的,位于堆区。

 


评分及理由

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

学生答案与标准答案完全一致。正确指出进程控制块(PCB)位于内核区,以及执行scanf()等待输入时进程处于阻塞态。得2分。

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

学生答案与标准答案完全一致。正确指出main()函数代码位于只读代码段(.text),并正确识别出scanf()和printf()需要执行驱动程序。得3分。

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

学生答案与标准答案完全一致。正确指出全局变量ptr位于读/写数据段,局部变量length(若不在寄存器)位于用户栈,以及malloc分配的内存位于堆区。得3分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发