2025 年 408 真题
2025 年 408 操作系统 · 第 46 题
选中文字高亮 · 下划线
某进程的虚拟地址空间如图,阴影部分为未占用区域,有 C 程序:

char * ptr;
void main() {
int length;
ptr=(char*) malloc(100);
scanf("%s", ptr);
length = strlen(ptr);
printf("length=%d\n", length);
free(ptr) ;
}
(1) 上述程序执行时,PCB 位于哪个区域,执行 scanf () 等待键盘输入时,该进程处于什么状态?
(2) main() 函数的代码位于哪个区域?其直接调用的哪些函数的功能需要通过执行驱动程序实现?
(3) 变量 ptr 被分配在哪个区域?若变量 length 没有被分配在寄存器中,则会被分配在哪个区域?ptr 指向的字符串位于哪个区域?