百科问答小站 logo
百科问答小站 font logo



linux内核切换成分页模式后,ljmp $__BOOT_CS,$1f 这行代码有什么意思? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

这个东西,你找一个能调试的模拟器就可以看出来,比如bochs之类。

在执行ljmp $__BOOT_CS,$1f之前,虽然代码已经把CPU切换成保护模式,页表也都建立完成了,但当前执行的代码仍然处于16位实模式地址下,当前的代码的段地址和段偏移地址都是16位的。

通过Long Jmp来做一个跳转,会切换段地址,这个时候代码才真正进入保护模式。




  

相关话题

  为什么显卡在内存中的映射是0b8000H? 
  作为一个 Emacs、终端、浏览器的重度用户,在考虑价格因素的情况下,你是否认为 Mac OS 比 Linux 发行版更值得使用? 
  内存管理中,进程涉及会换出和换入的问题? 
  为什么GCC的版本号增速比以前快这么多? 
  Linux 的核心思想是什么? 
  雷军写代码水平如何? 
  有人将linux作为主力机系统的么,说说为什么? 
  为什么 Unix 一切皆文件的设计这么成功,而 C++ 统一的流式 IO 则不甚成功? 
  Linus 真心诚意地夸过哪些人或技术? 
  Linux 下 socket 编程有什么需要注意的? 

前一个讨论
为什么修改esp寄存器会触发异常?
下一个讨论
相同的硬盘条件下,ext4能存储比NTFS更多的文件吗?





© 2025-03-28 - tinynew.org. All Rights Reserved.
© 2025-03-28 - tinynew.org. 保留所有权利