首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你说一说Linux虚拟地址空间
[问答题]
请你说一说Linux虚拟地址空间
添加笔记
求解答(5)
邀请回答
收藏(336)
分享
纠错
1个回答
添加回答
0
平平无奇小脑斧
为了防止不同进程同一时刻在物理内存中运行而对物理内存的争夺和践踏,采用了虚拟内存。虚拟内存技术使得不同进程在运行过程中,它所看到的是自己独自占有了当前系统的4G内存。所有进程共享同一物理内存,每个进程只把自己目前需要的虚拟内存空间映射并存储到物理内存上。 事实上,在每个进程创建加载时,内核只是为进程“创建”了虚拟内存的布局,具体就是初始化进程控制表中内存相关的链表,实际上并不立即就把虚拟内存对应位置的程序数据和代码(比如.text .data段)拷贝到物理内存中只是建立好虚拟内存和磁盘文件之间的映射就好(叫做存储器映射),等到运行到对应的程序时,才会通过缺页异常,来拷贝数据。还有进程运行过程中,要动态分配内存,比如malloc时,也只是分配了虚拟内存,即为这块
虚拟内存对应的页表项做相应设置,当进程真正访问到此数据时,才引发缺页异常。
发表于 2021-10-09 16:27:42
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
上传者:
小小
难度:
1条回答
336收藏
819浏览
热门推荐
相关试题
用二进制来编码字符串“xyzwxy...
字符串
评论
(1)
下面关于 Java 中的反射(Re...
Java
评论
(1)
在Spring事务管理中,若Ser...
Spring
评论
(1)
对一个带有过期时间的 key 执行...
Redis
评论
(1)
在Go语言中,以下自定义类型中,哪...
Go
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题