2023 操作系统 虚拟页式管理 选择题
第 28 题

对于采用虚拟内存管理方式的系统,下列关于进程虚拟地址空间的叙述中,错误的是( )。

虚拟页式管理

A. 每个进程都有自己独立的虚拟地址空间 B. C 语言中 malloc() 函数返回的是虚拟地址 C. 进程对数据段和代码段可以有不同的访问权限 D. 虚拟地址的大小由主存和硬盘的大小决定

[tag_link]

正确答案:D

A:虚拟地址空间是一个进程所使用的虚拟内存地址的集合,每个进程都有自己的虚拟 地址空间,这个空间是独立于其他进程的,每个进程都认为自己在访问整个系统的内存空间, 但实际上,它们只访问到了被分配给它们的部分内存。B:malloc 返回虚拟地址,当调用 malloc 时,分配出来的空间,只是在虚拟内存中是连续的,从实际的物理空间到虚拟内存空间还有一 个映射的关系。C:不同的段访问权限可以是不同的。一般来说,代码段可读可执行,并且只 能在特权模式下执行,但是不可写;数据段可以读写,不能执行。D:主存和硬盘的大小不直 接影响虚拟地址的实际大小,虚拟地址的大小由底层的虚拟内存管理机制和操作系统定义决定, 通常在不同的系统中有所不同。虚拟地址空间的大小可以在操作系统中进行配置和限制,而主 存和硬盘的大小影响的是实际可用的物理内存和存储容量,而非虚拟地址的大小,虚拟内存管 理机制通过将虚拟地址映射到物理内存或硬盘上的页面来提供更大的虚拟地址空间。因此,主 存和硬盘的大小可以影响实际可用的虚拟内存空间的大小,但并不直接决定虚拟地址的大小。 所以本题的答案为 D 选项。