操作系统题库
24 / 2162025 · 解答题

2025 年 408 真题

2025 年 408 操作系统 · 第 46 题

选中文字高亮 · 下划线

某进程的虚拟地址空间如图,阴影部分为未占用区域,有 C 程序:

q46 question figure 1
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 指向的字符串位于哪个区域?