文章

69

粉丝

0

获赞

0

访问

10.6k

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

(1)
内核区
阻塞状态

(2)
只读代码区
malloc()
scanf()
printf()
free()

(3)
可读写数据区
栈区
堆区


评分及理由

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

学生答案正确指出了进程控制块位于内核区,以及执行scanf()时进程处于阻塞状态。这与标准答案完全一致,没有逻辑错误,表述清晰。因此得满分2分。

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

学生答案正确指出了main()函数的代码位于只读代码区。但在回答“直接调用的哪些函数的功能需要通过执行驱动程序实现”时,列出了malloc()、scanf()、printf()、free()。其中,scanf()和printf()确实需要执行驱动程序(进行I/O操作),这是正确的。然而,malloc()和free()是库函数,用于管理堆内存,其功能主要通过操作系统的内存管理模块实现,并不直接涉及设备驱动程序。因此,学生多答了malloc()和free(),属于对“需要通过执行驱动程序实现”的理解有偏差,存在部分逻辑错误。鉴于问题要求的是“直接调用的哪些函数”,且标准答案只列出了scanf()和printf(),学生多答了错误项,应酌情扣分。本题满分3分,扣1分,得2分。

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

学生答案正确指出了变量ptr位于可读写数据区(即数据段),变量length位于栈区,ptr指向的字符串位于堆区。这与标准答案完全一致,表述准确。因此得满分3分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发