文章
21
粉丝
0
获赞
0
访问
1.7k
(1)运行时,pcb放在内核区;scanf时进程处于内核态。
(2)main函数放在只读代码区。scanf和printf需要执行驱动程序实现。
(3)ptr在可读写数据区。length 在用户栈。ptr指向的字符在堆区。
评分及理由
(1)得分及理由(满分2分)
第一问:PCB位于内核区,回答正确,得1分。
第二问:执行scanf()等待键盘输入时,进程处于阻塞态(或等待态),但学生回答为“内核态”,这是错误的。内核态是CPU的执行状态,而非进程状态。进程状态应为阻塞态(Blocked)。因此,第二问回答错误,扣1分。
本小题得分:1分。
(2)得分及理由(满分3分)
第一问:main()函数的代码位于只读代码段,回答正确,得1分。
第二问:其直接调用的scanf()和printf()需要执行驱动程序,回答正确,得2分(因为标准答案中这两个函数各占1分)。
本小题得分:3分。
(3)得分及理由(满分3分)
第一问:变量ptr被分配在可读写数据段(即数据段),回答正确,得1分。
第二问:变量length若未分配在寄存器中,则被分配在用户栈,回答正确,得1分。
第三问:ptr指向的字符串位于运行时堆(通过malloc分配),回答正确,得1分。
本小题得分:3分。
题目总分:1+3+3=7分
登录后发布评论
暂无评论,来抢沙发