当前位置: 代码迷 >> C语言 >> 菜鸟[求助]如何读出当前用户的用户名?
  详细解决方案

菜鸟[求助]如何读出当前用户的用户名?

热度:436   发布时间:2007-09-22 12:00:56.0

有没有介绍操作系统里地址重定向问题的?


----------------解决方案--------------------------------------------------------

看不明白,把原话贴上来


----------------解决方案--------------------------------------------------------
如果说理解也不是很难,一个程序中分配内存的空间,存放的位置是不同的,通常把地址定位到到所需要运行的地方
有点像c中的goto ,和一些调用,操作系统在处理资源的分配和调用时,用地址重定位确定所要执行的资源,我身边没书,这是我的理解,我上网在网吧里,没那么多资料参考。我是想知道操作系统是怎么样做到的?用什么样的程序?我也想要用C语言写个类似操作系统按照作业调度算法,编个程序让操作系统听我的
只是自己的一点见解,请给予指教
----------------解决方案--------------------------------------------------------
Knocker再说两句,你的几句对我帮助太大了,谢谢
----------------解决方案--------------------------------------------------------

你说的是地址映射问题,要搞清这个问题你必须要清楚相对地址、绝对地址和逻辑地址空间、存储空间等等概念,这个问题比较大,你还是google一下或者是看书。


----------------解决方案--------------------------------------------------------
谢谢,让我有了些去如何做下一步的思路,非常感谢
----------------解决方案--------------------------------------------------------
举个例,你的代码中有一句
int a =10; 那么,这个a必定要给其分配一个地址,比如你的编译器为其分配的地址值为 0001 ,但是装入内存运行时是不是就是实际的绝对地址 0001呢?不是,如果是因为绝对地址 0001完全有可能被其它程式占有,你的程式可能是被系统按排在从绝对地址1000开始,那么,系统在装了作业时就需要地址重定位,将0001 +1000重定位到1001,这个1001才是a的实际地址,从上你可以看到,在编译阶段编译器是完全无法确定、分配一个变量的物理地址,只能采用逻辑地址,逻辑地址转换到物理地址的过程叫地址重定位.
----------------解决方案--------------------------------------------------------
对,就是这个意思
我还有些想如何编程实现这一操作
既然c作为系统语言
可以做到的

[此贴子已经被作者于2007-9-22 15:03:22编辑过]


----------------解决方案--------------------------------------------------------

蜀道


----------------解决方案--------------------------------------------------------


难于上青天

谢谢
我学习了
有收获


----------------解决方案--------------------------------------------------------
  相关解决方案