当前位置:  技术问答>linux和unix

在系统地址空间中,如何寻址?

    来源: 互联网  发布时间:2016-01-10

    本文导语:  1. 当用户进程通过系统调用进入系统空间后,如何寻址 2. 用户进程在运行的时候,我们知道每个地址需要MMU映射成物理地址,因此需要将存放该进程页面目录的地址放到 cr3 寄存器中.  当一个中断发生时,发生了调度,...

1. 当用户进程通过系统调用进入系统空间后,如何寻址
2. 用户进程在运行的时候,我们知道每个地址需要MMU映射成物理地址,因此需要将存放该进程页面目录的地址放到 cr3 寄存器中.
 当一个中断发生时,发生了调度,调度程序选择了一个新的用户进程投入运行,在用户进程能够运行之前,需要做一些初始化工作,比如将该进程的页面目录地址装载到cr3寄存器中,类似应有如下代码:
          movl 新的页面地址,cr3;
在运行上述代码后,此时cr3中装的是调度后待运行的进程的页面目录地址了,接下来由于在系统地址空间中的代码还没有运行完,因此需要继续运行,但此时如果还是使用MMU映射的话会出现问题,造成地址不连续了,因此我想问一下,在系统空间中代码运行的时候,寻址是否通过MMU映射,如果不是,那么是通过什么方式寻址的,难道将MMU关闭了?

|
1. 不太清楚你这里所说的寻址具体是指什么,是内存地址?外设?还是其他?一般来说实际上核态和用户态的寻址最终均需要通过MMU处理(只要CPU有MMU)。
2. x86在进程切换*前*确实会有类似  movl 新的页表地址,cr3  的处理,新的页表地址即是新的进程的页表基地址。这一点不会有问题,因为此时CPU仍然在系统空间运行,而所有进程的页面目录中与系统空间相对应的目录项都指向相同的页面表,所以,不管换上哪一个进程的页面目录都一样,受影响的只是用户空间,系统空间的映射则永远不变。
pgd指向的位置;
3.那么.....既然要用到页表,那么谁将这3G以上的系统空间页表赋给CR3呢????

    
 
 

您可能感兴趣的文章:

  • 32位才做系统的物理寻址是4GB是怎么计算出的
  • x86上操作系统如何保证每个进程可以寻址4G空间且相互隔离?
  • 关于80x86的寻址的问题:《一个操作系统的实现》
  • win7/Windows7系统下载地址搜集整理
  • 《计算机操作系统》 如何将虚拟地址1123456对应的物理地址
  • SunOS solaris 系统维护-查看cpu、内存、磁盘空间的命令 iis7站长之家
  • 操作系统概念问题(虚地址概念)
  • 《操作系统原理linux篇》逻辑地址,线性地址 物理地址
  • IP地址管理和跟踪系统 IPplan
  • 跪求Linux系统下载地址
  • 进程复制数据到系统的内核地址出错,这时会出现什么问题?
  • 跪求linux 操作系统下载地址,在线等~
  • 求《操作系统,设计与实现》(Cn,En都可)电子书下载地址,解决即结账
  • linux下能够通过系统调用读取文件的物理地址等信息吗?
  • 在linux系统中如何查询自己的ip地址?我用的是adsl上网,因此....
  • 求系统安装盘下载地址,有C、JAVA编译器、文本模式即可
  • cgi web如何修改linux ip地址,掩码,系统时间这些信息
  • linux 操作系统的ip地址问题
  • linux下硬件或操作系统有什么方法屏蔽特定MAC地址发过来的报文?
  • UNIX下哪个函数/系统调用(不要命令)可以取得本地IP地址?
  • 求一个ubuntu10.4操作系统下载的地址链接
  • ip地址与网络上的其他系统有冲突
  • 帮忙 !给个suse9系统glibc-2.3.2-92.i586软件包下载地址
  • linux系统下如何给网口配置IP地址
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • Unix系统中关于硬盘空间问题?(我的硬盘空间快满了,我应该怎么做?,我的硬盘只有8、4G)
  • linux主机系统空间满了,其他盘还有空间怎么操作?
  • 如何增加linux虚拟机文件系统空间
  • 请教:是不是 linux 所以文件系统一共最大只能占用 4000 空间
  • 关于系统空间。。。。。。。。
  • 请教一个关于内存分配的问题(系统和DMA共享一块物理内存空间)
  • AIX系统如何查看当前用户所分配的磁盘空间
  • 有没有使用最新内核的占用空间较小的linux操作系统
  • vmware下如何增加系统空间
  • 虚拟系统中编译内核时提示磁盘空间不足如何解决
  • 求助:在LINUX下如何获得系统剩余的磁盘空间?
  • SunOS solaris 系统维护-查看cpu、内存、磁盘空间的命令
  • 如何修改内核 来控制用户空间的程序 的系统调用.
  • 卷boot仅剩0字节空间,Ubuntu10.04系统
  • 请问如何在C程序中获取linux系统的磁盘剩余空间
  • HP-Unix操作系统, java进程, Swap空间不释放
  • 数字空间系统 DSpace
  • Fedora11,装系统进行分区提示空间不足
  • 怎样从硬盘指定一块空间把它做成文件系统并安装?(只有这么多分了)
  • LINUX系统下如何查看WINDOWS系统C盘的磁盘空间使用情况?
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 问一个系统配置的问题:win2k系统能不能于SCO UNIX系统共存?
  • Ubuntu查看系统信息命令介绍
  • unix下用java.util.Date取系统时间比直接在系统下用date命令查看系统时间早整整一个小时
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • windows 系统是否是多用户操作系统,如何理解“多用户操作系统”的“多用户”?
  • 怎样重装win7系统?win7重装系统步骤详细图文介绍
  • 我现在想做一个权限管理系统,想让权限系统的利用性更强,我应该怎样设计权限系统呢.
  • windows server2008上PowerBuilder程序系统错误解决方法
  • 谁知道哪里有用java开发的管理信息系统软件(如:图书馆管理系统,人事部管理系统)的代码?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3