永发信息网

如何理解 系统为每个新建的进程创建一个虚拟的地址空间? 是指创建一个页表吗?

答案:2  悬赏:30  手机版
解决时间 2021-02-25 16:46
还是不理解虚拟地址空间的这个概念,觉得好抽象, 首先我们编写的程序都刚开始都是在磁盘上的,现在还不能算是进程,当系统或用户调用CreateProcess函数的时候就创建了一个进程,这个时候说系统会为这个进程创建一个虚拟的地址空间,嘛意思么?程序的代码现在要从原来的磁盘上搬移到某个地方去么?还是位置不动就建立一个映射表,但是磁盘上应该没有所谓的和内存一样的地址的概念的吧,磁盘的地址是用(盘面,磁道号,扇面组成的)。。。难道说这就是用页面文件用来模拟内存的做法,这样磁盘中划出来的用来做页面文件(交换文件)的部分现在就有了地址和内存相同的地址的概念(如果是的话怎么做到的),如果是这样的话。。。那么在创建进程的时候应该要把程序用到的代码段数据段等搬到页面文件或者内存中才能做地址映射吧。。我已经凌乱了,谁给我解释下
最佳答案
只有当程序被加载到内存中(通常意义上的"运行")时,计算机才会进行"计算"
程序被加载时,系统会为该程序在内存中创建一个虚拟的地址空间,防止内存泄漏的发生,更好的使垃圾回收机制起作用.
全部回答
你好! 我的理解是这样的,首先磁盘也是线性编址的,盘面磁道和扇面等只是驱动层面的概念,在OS中磁盘被抽象为一个设备文件,按字节编址的,和内存基本类似。程序在磁盘中只是一个文件,当被调用运行时,OS把可执行代码调入内存,为其分配一片物理地址空间,并建立进程的虚地址空间到这片物理地址空间的映射,也就是页表。这样进程发出的虚地址空间的访问指令经过MMU和页表的转换就能到达实际的物理地址空间。 打字不易,采纳哦!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
打造世界图腾怎么打掉
天妮美容美发中心在什么地方啊,我要过去处理
用平方差公式计算39.8×40.2
每个城市举行马拉松比赛?那是不是要封路啊?
鹿筋加什么材料煲什么汤好
环州宾馆这个地址在什么地方,我要处理点事
“泰山”比喻什么 “ 鸿毛”比喻什么?
猛犸牙多少钱一克
二三极管的种类有哪些
求一网名,关于爱情的,最好是出自某首诗
含有羊毛和涤纶的衣服
夏天适合去哪里旅游
刘记忆龙江卤菜天主堂鸡片地址在哪,我要去那
愚公移山(搞笑版)
为什么有人说:槟榔是罂栗果的果实?
推荐资讯
电线截成两段,甲段比乙段短1.2米,这根电线全
公制螺钉M5的抗拉强度的范围怎样定
华天服饰绣品厂地址在什么地方,想过去办事
拼框衣柜选什么样的门把手
急求上海高一版语文学习报21~26期答案!!!
胃开刀5年后干活用力时伤口怎么会有拉疼的感
湖南新化四中2o16年高考分数查询
我要去找小三要回钱,老公不同意怎么办
没有结婚证有了孩子该怎么起诉?现在我想分手
世界第一条汽车轮胎是那个厂家生产的,叫什么
对自动化专业学生考计算机专业研究生怎么看
晟在名字的意思是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?