文章
411
粉丝
1101
获赞
1698
访问
139w
1) PCB 的位置与进程状态
scanf()
等待键盘输入时,进程因等待 I/O 操作完成而处于阻塞状态(或等待状态)。2) main 函数代码位置及依赖驱动的函数
scanf()
:读取键盘输入时,需通过键盘驱动程序与硬件交互,获取输入数据。printf()
:输出内容到显示器时,需通过显示器驱动程序控制硬件显示。3) 变量的内存分配区域
变量 / 对象分配区域说明指针变量ptr
栈区(Stack)作为main
函数的局部变量,存储在栈中,用于保存堆内存的地址。变量length
栈区(Stack)若未存入寄存器,作为局部变量存储在栈中,用于暂存字符串长度。ptr
指向的字符串堆区(Heap)通过malloc()
动态分配的内存属于堆区,由程序运行时动态管理。
评分及理由
(1)得分及理由(满分2分)
得分:2分
理由:学生准确回答了PCB位于内核区,并正确指出执行scanf()时进程处于阻塞态,与标准答案完全一致。
(2)得分及理由(满分3分)
得分:3分
理由:学生正确指出main()函数的代码位于代码段(Text Segment),并准确识别了scanf()和printf()需要通过驱动程序实现,与标准答案一致。
(3)得分及理由(满分3分)
得分:2分
理由:学生正确回答了ptr指向的字符串在堆区,但错误地将ptr和length分配在栈区。根据标准答案,ptr应分配在可读写数据段,length在用户栈。因此,ptr的分配区域回答错误,扣1分。
题目总分:2+3+2=7分
登录后发布评论
暂无评论,来抢沙发