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



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

  

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

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

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

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




  

相关话题

  linux 在终端打开程序后关闭终端,程序也跟着关闭了怎么办? 
  Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势? 
  为什么 KaiOS 超越 iOS 成为印度第二大移动操作系统? 
  为什么这么多人吹wsl? 
  为什么在汇编语言中需大量使用跳转指令,而在C语言中却尽量避免使用goto语句呢? 
  我在Win11上运行虚拟机上的Linux出现这样的问题应该如何解决。? 
  为何 Linux 或 PowerShell 中运行脚本需添加「./」? 
  一台用于学习linux的主机该如何配置、选购? 
  在内存特定位置填数据后,placement new 是否完全等价与cast? 
  雷军写代码水平如何? 

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





© 2025-06-16 - tinynew.org. All Rights Reserved.
© 2025-06-16 - tinynew.org. 保留所有权利