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

进程在内核态执行时的cr3寄存器是什么

    来源: 互联网  发布时间:2017-03-22

    本文导语:  本帖最后由 lonewolfxw 于 2012-11-14 22:05:50 编辑 虚拟内存空间分为用户部分和内核部分,用户进程只能使用页表访问用户部分的虚拟地址,且使用mm_struct的pgd置cr3寄存器的值,供分页部件查找实现共线性地址到物理地址...

本帖最后由 lonewolfxw 于 2012-11-14 22:05:50 编辑
虚拟内存空间分为用户部分和内核部分,用户进程只能使用页表访问用户部分的虚拟地址,且使用mm_struct的pgd置cr3寄存器的值,供分页部件查找实现共线性地址到物理地址的转换。若用户进程通过系统调用切换到内核态,是否会使cr3切换到内核页表swapper_dir_pg,疑问的来源主要就是:init进程是第一个用户进程,且其页表就是swapper_dir_pg,但是在创建新进程时使用copy_mm复制mm_struct时并没有复制虚拟地址空间的内核部分的页表,那么在内核态时cpu的分页部件怎么通过线性地址转换为内核地址。
论坛等级太低,限制最多只能给100分的,希望大家帮忙

|
fork的时候copy_mm()是通过memcpy(mm, oldmm, sizeof(*mm))将父进程的mm_struct整个copy过去的,所以父子进程的内核页表的内容也是一样的

但是,当某个进程通过vmalloc()分配了一段新的非连续内存时,内核页表的变化并不是立通知内核中所有的其他进程,而只是更新了主内核页表init_mm.pgd(也就是swapper_pg_dir),当其他某个进程访问到这段新的非连续内存时,会产生page fault, 中page fault处理中检查init_mm.pgd中是否存在相应的内容,如果存在,则将主内核页表里相应的项copy到内程页表,如果不存在,内核crash.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 进程内核栈和操作系统内核栈的关系
  • 内核进程与用户进程间的通信
  • 博客 iis7站长之家
  • 内核进程间发送信号用哪个函数,如果没有这东西,那内核里异步通知用哪个东西
  • Linux内核进程与应用进程的通信方式有哪些?
  • linux 内核进程堆问题,大家指教
  • 关于内核进程和用户层命令不是很理解?
  • 如何利用Linux内核线程来保存用户进程
  • 【求助】多进程中 内核信号量无效?
  • 进程系统调用陷入内核的不解
  • 请教一个linux进程内核栈的问题
  • linux内核高手进!关于调用__fork()时0号进程的子进程才能与父进程共享PID的困惑
  • 内核进程线程问题,大家指教
  • 用户进程有自己独立的地址空间,内核线程没有自己的地址空间 该怎样理解: ?
  • “模块”在内核中运行与作为单独进程运行在机制上有什么区别与联系?
  • linux 可不可以编译成一个单进程的内核
  • linux内核缓冲区与进程缓冲区。
  • 请教一下,进程调度时在导入新进程的cr3之后,CPU是怎么区分当前正处于内核而不去使用新的页目录呢?
  • 中断上下文,进程上下文 ,内核抢占,用户抢占,中断
  • 求助: 进程调度内核分析
  • linux僵尸(zombie)进程介绍及清除
  • 进程Afork进程B,进程Bfor进程C,如果进程C退出发出SIGCHLD,A进程是否可以收到
  • Ubuntu查看内存,进程相关命令介绍
  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • linux下进程占用内存空间详解
  • 在多进程中父进程frok子进程,怎样让子进程自举,脱离父进程,而且父进程不退出
  • android 4.0 托管进程介绍及优先级和回收机制
  • fock()开出的子进程的进程ID是否进程ID都大于父进程的?
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)
  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问


  • 站内导航:


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

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

    浙ICP备11055608号-3