由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教一个逻辑地址到物理地址映射的问题 (转载)
相关主题
大家有讨论 王垠新博文《未来计划》吗?请教关于C++内存管理
C++中释放的内存可能立即返回系统吗?芯片應該為軟件服務,譬如硬件加速的虛擬內存MMU、虛擬GPU、虛
一个interview问题,关于内存泄漏C++ OO approach to use multi-dim array for HPC
菜鸟求教,一个c++的困惑Help, what you can do in this situation?
cpp指针地址是virtual memory address还是physical address?求推荐:fortran好用的debug软件
问个数组地址的问题linux内存分配中page的几个问题
请问java /c++ 双修的大牛,java和c++最主要的区别是什么?c++程序员转java您认为最需要补充的知识是什么转王垠雄文-Oberon 操作系统:一个被忽略的珍宝
为什么Cache LRU多用doubly linked list而不是single linked list来实现呢?转:王垠--一种新的操作系统设计
相关话题的讨论汇总
话题: 物理地址话题: 逻辑话题: 地址话题: 映射话题: 写入
进入Programming版参与讨论
1 (共1页)
j********3
发帖数: 560
1
【 以下文字转载自 CS 讨论区 】
发信人: johnlee123 (no), 信区: CS
标 题: 请教一个逻辑地址到物理地址映射的问题
发信站: BBS 未名空间站 (Sun May 19 01:00:21 2013, 美东)
问题比较基础,大虾勿笑话。请问一下建立逻辑地址到物理地址的映射是不是在写入数
据之后或者要写入数据时才进行的?比如说,程序要向某个逻辑地址写入数据,那么先
找到一个实际的 page,把数据写入这个 page 之后,建立一个该逻辑地址到该 page
的物理地址的映射(或者在要写入数据之前建立一个该逻辑地址到找到的 page 的物理
地址的映射)?换句话说,对于一个空的存储单元来说,是不存在逻辑地址到物理地址
的映射的?
多谢!
r*******n
发帖数: 3020
2
俺的理解:
你说的程序是个进程,进程创建的时候操作系统给它分配存储资源,
进程看到是存储资源的逻辑地址,
这个逻辑地址到物理地址的映射是由操作系统管理的,可能是静态映射也可能
是动态映射的。

【在 j********3 的大作中提到】
: 【 以下文字转载自 CS 讨论区 】
: 发信人: johnlee123 (no), 信区: CS
: 标 题: 请教一个逻辑地址到物理地址映射的问题
: 发信站: BBS 未名空间站 (Sun May 19 01:00:21 2013, 美东)
: 问题比较基础,大虾勿笑话。请问一下建立逻辑地址到物理地址的映射是不是在写入数
: 据之后或者要写入数据时才进行的?比如说,程序要向某个逻辑地址写入数据,那么先
: 找到一个实际的 page,把数据写入这个 page 之后,建立一个该逻辑地址到该 page
: 的物理地址的映射(或者在要写入数据之前建立一个该逻辑地址到找到的 page 的物理
: 地址的映射)?换句话说,对于一个空的存储单元来说,是不存在逻辑地址到物理地址
: 的映射的?

s********k
发帖数: 6180
3
对于一个空的存储单元来说,是不存在逻辑地址到物理地址的映射的?
没明白,看看MMU和TLB的用法,任何一个逻辑地址理论上都能转换成物理地址,至于那
么物理地址是不是available,另说了,

【在 j********3 的大作中提到】
: 【 以下文字转载自 CS 讨论区 】
: 发信人: johnlee123 (no), 信区: CS
: 标 题: 请教一个逻辑地址到物理地址映射的问题
: 发信站: BBS 未名空间站 (Sun May 19 01:00:21 2013, 美东)
: 问题比较基础,大虾勿笑话。请问一下建立逻辑地址到物理地址的映射是不是在写入数
: 据之后或者要写入数据时才进行的?比如说,程序要向某个逻辑地址写入数据,那么先
: 找到一个实际的 page,把数据写入这个 page 之后,建立一个该逻辑地址到该 page
: 的物理地址的映射(或者在要写入数据之前建立一个该逻辑地址到找到的 page 的物理
: 地址的映射)?换句话说,对于一个空的存储单元来说,是不存在逻辑地址到物理地址
: 的映射的?

j********3
发帖数: 560
4
谢谢。那么对于一个空的存储单元,操作系统会分配一个逻辑地址到物理地址的映射给
它吗?

【在 r*******n 的大作中提到】
: 俺的理解:
: 你说的程序是个进程,进程创建的时候操作系统给它分配存储资源,
: 进程看到是存储资源的逻辑地址,
: 这个逻辑地址到物理地址的映射是由操作系统管理的,可能是静态映射也可能
: 是动态映射的。

j********3
发帖数: 560
5
我的意思是,对于一个已经存储了数据的存储单元来说,那么它所相应的逻辑-物理地
址转换应该是固定的吧?对于一个没有存储数据的存储单元来说,是不是可以等到要向
它写入数据的时候再给它建立一个逻辑-物理地址转换(映射)?比如说,假设一个存
储单元的物理地址是0000,那么在向它写入数据之前,我们不用规定一个与之对应的逻
辑地址。当某个进程需要向逻辑地址1111写入数据的时候,MMU知道那个存储单元0000
是空的,所以就将逻辑地址1111和物理地址0000链接起来,形成一个逻辑-物理地址映
射,并将数据写入存储单元0000。这时候我们就有了一个1111-0000的逻辑-物理映射,
在下一次需要读取数据的时候,进程只需要知道是从逻辑地址1111读取数据,而实际数
据由MMU从物理地址0000读出。是这样的吗?不好意思,因为不是学这个的,所以有些
地方可能说得不是很清楚。谢谢了。

【在 s********k 的大作中提到】
: 对于一个空的存储单元来说,是不存在逻辑地址到物理地址的映射的?
: 没明白,看看MMU和TLB的用法,任何一个逻辑地址理论上都能转换成物理地址,至于那
: 么物理地址是不是available,另说了,

r*******n
发帖数: 3020
6
这时候可能没有分配一个实际的物理地址给它。

【在 j********3 的大作中提到】
: 谢谢。那么对于一个空的存储单元,操作系统会分配一个逻辑地址到物理地址的映射给
: 它吗?

j********3
发帖数: 560
7
多谢。

【在 r*******n 的大作中提到】
: 这时候可能没有分配一个实际的物理地址给它。
t****t
发帖数: 6806
8
1. 物理地址可以没有对应的逻辑地址.
2. 逻辑地址可以没有对应的物理地址.
3. 映射关系(如果有)不一定是唯一的.

0000

【在 j********3 的大作中提到】
: 我的意思是,对于一个已经存储了数据的存储单元来说,那么它所相应的逻辑-物理地
: 址转换应该是固定的吧?对于一个没有存储数据的存储单元来说,是不是可以等到要向
: 它写入数据的时候再给它建立一个逻辑-物理地址转换(映射)?比如说,假设一个存
: 储单元的物理地址是0000,那么在向它写入数据之前,我们不用规定一个与之对应的逻
: 辑地址。当某个进程需要向逻辑地址1111写入数据的时候,MMU知道那个存储单元0000
: 是空的,所以就将逻辑地址1111和物理地址0000链接起来,形成一个逻辑-物理地址映
: 射,并将数据写入存储单元0000。这时候我们就有了一个1111-0000的逻辑-物理映射,
: 在下一次需要读取数据的时候,进程只需要知道是从逻辑地址1111读取数据,而实际数
: 据由MMU从物理地址0000读出。是这样的吗?不好意思,因为不是学这个的,所以有些
: 地方可能说得不是很清楚。谢谢了。

1 (共1页)
进入Programming版参与讨论
相关主题
转:王垠--一种新的操作系统设计cpp指针地址是virtual memory address还是physical address?
Goodbug,是不是单机大于1 million/s的I/O你就输了?问个数组地址的问题
什么是OS Memory management and heap structure?请问java /c++ 双修的大牛,java和c++最主要的区别是什么?c++程序员转java您认为最需要补充的知识是什么
咱们好像生活在两个世界里为什么Cache LRU多用doubly linked list而不是single linked list来实现呢?
大家有讨论 王垠新博文《未来计划》吗?请教关于C++内存管理
C++中释放的内存可能立即返回系统吗?芯片應該為軟件服務,譬如硬件加速的虛擬內存MMU、虛擬GPU、虛
一个interview问题,关于内存泄漏C++ OO approach to use multi-dim array for HPC
菜鸟求教,一个c++的困惑Help, what you can do in this situation?
相关话题的讨论汇总
话题: 物理地址话题: 逻辑话题: 地址话题: 映射话题: 写入