文章
63
粉丝
0
获赞
0
访问
13.4k
(1)进程调度为特权指令,所以PCB操作系统内核区。执行scanf()时,该进程处于阻塞状态
(2)main() 函数的代码位于只读代码段(.text),其直接调用的 scanf() 和 printf() 需要执行驱动程序。
(3)ptr 是作为全局变量定义的,所以其位于读/写数据段,length 变量在 main 函数中定义,如果该变量不在寄存器中被分配的话,那么就位于用户栈段,ptr 指针指向的内存单元是使用 malloc 函数动态分配的,位于堆区。
评分及理由
(1)得分及理由(满分2分)
学生回答PCB位于操作系统内核区正确(1分),执行scanf()时进程处于阻塞状态也正确(1分)。但学生提到"进程调度为特权指令"这一表述不准确,进程调度本身不是特权指令,而是由操作系统内核执行的管理功能,但该错误不影响对PCB位置和进程状态的判断,因此不扣分。本题得2分。
(2)得分及理由(满分3分)
学生回答main()函数位于只读代码段正确(1分),指出scanf()和printf()需要执行驱动程序也正确(2分)。虽然标准答案只提到了scanf和printf,但学生回答与标准答案完全一致,得3分。
(3)得分及理由(满分3分)
学生回答ptr位于读/写数据段正确(1分),length位于用户栈段正确(1分),ptr指向的字符串位于堆区正确(1分)。答案完整准确,得3分。
题目总分:2+3+3=8分
登录后发布评论
暂无评论,来抢沙发