永发信息网

linux中每个进程拥有独立的4G空间,这4G空间是不是和分段机制 每个段最大可以寻址4G空间指的是同一个?

答案:1  悬赏:20  手机版
解决时间 2021-11-24 19:32
linux中每个进程拥有独立的4G空间,这4G空间是不是和分段机制 每个段最大可以寻址4G空间指的是同一个?
最佳答案
不是。
独立4G空间是靠分页机制实现的,想要知道具体的可以去找“内存页表”相关的资料。
分段机制虽然CPU支持,不过Linux对于一个进程的用户空间看来只是简单地把段基址都设为0而已。
想要详细知道的话还是去看Intel官方的系统开发手册吧,分段和分页机制讲得是非常详细,不过很长而且全英文的……追问哦~谢谢 那Linux的分段机制就是把所有进程的段基地址都设置为0 让各个进程的线性地址相同 再通过每个进程各自的页表 分别映射到不同的物理内存地址中、、、 是这个意思么追答分段机制其实我不太了解……因为一直都是当它不存在的。
就算做虚拟地址和物理地址转换的实验的时候,我也是当分段不存在的。
分段机制能提供一个功能,就是定义一个段的时候,除了基址(Linux用的0)还有一个“段大小”,访问的时候超过了大小会产生异常,这样就把段的大小设置为物理内存大小,防止访问到物理内存外面去。

地址有三种,逻辑地址、线性地址、物理地址,物理地址通过分段机制变成线性地址,线性地址通过分页机制变成逻辑地址。所谓“各个进程的线性地址相同”我不知道是指什么意思,不过因为基址是0所以线性地址和物理地址是相同的。
前面说到“页表”,32位没开PAE情况下CPU的CR3寄存器是一个二级指针,指向一个数组(叫做页目录),然后页目录的每个元素指向数组。切换进程的时候CR3变了,所以使用的页表也就变了,进程能够看到的内存就不一样了追问“各个进程的线性地址相同” 我的理解是 程序中的地址是逻辑地址 通过分段机制转换为线性地址 又因为你说的 Linux把段基地址设置为0 所有各个进程的逻辑地址就一样 逻辑地址一样 再经过分段机制得到的线性地址就一样了追答不……等等,逻辑地址是通过分页机制翻译为线性地址的,线性地址通过分段机制翻译为物理地址。后者才是两个地址一样的,前者两个地址是不一样的。然后不同进程不同页表……追问我怎么记得逻辑地址经过分段机制转换为线性地址(虚拟地址),然后线性地址经过分页机制转换为的物理地址 给你个链接 http://blog.csdn.net/tiangwan2011/article/details/7219103 你看看 现在说的有点混乱了 。。。。追答
【我刚才说的好像有错】……(捂脸
我刚才说的里面,分页和分段的位置记反了。

看这个图吧。逻辑地址和线性地址之间是分段关系,线性地址和物理地址之间是分页关系

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
越南语 toi rat thich em,em nho anh khong,h
1300买什么手机好
光敏二极管的电阻值是怎样随着光照强度而变的
django并发是多线程还是epoll
三星smg8o8s手机屏多少钱
艾思美甲地址在什么地方,想过去办事,
花之语(可桢路和茶乡北路交口)地址在什么地方
女士过膝羽绒服长120cm,充绒量90%含绒量210,
男生一米七二,是不是很矮啊!,十七岁男生,
求科普,NIKE历史上到现在给NBA球星出过签名鞋
致恭律师事务所地址好找么,我有些事要过去,
隋唐全面战争罗艺如何招募燕云十八骑
彩金电玩城地址有知道的么?有点事想过去!
比喻痴情的成语
很平凡的日子用什么成语来形容
推荐资讯
招商银行姚家园支行地址好找么,我有些事要过
手机GPRS关闭却还能上网?!
赣南脐橙管理
小明喝一杯纯牛奶,第一次喝了1/2,然后用
金瓜能和鸡蛋一起吃吗 金瓜和鸡蛋吃的后果
想问一下含量高的铝矿?百分之八十左右的,价
持有澳门非永久居民身份证如何办理美国旅游签
彩票中了一等奖彩票店老板问我要回那张彩票说
whodoyouusuallygoboatingwith?什么意思
分手后老想着复合怎么办
27岁还是处女这两年经常腰痛
儿童游乐园有一个圆形游乐场周长是34.54米它
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?