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



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

  

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

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

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

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




  

相关话题

  如何看待王垠对于内存管理的理解? 
  为什么大家习惯于把任务栏置于底部,而不是左侧、右侧或顶部? 
  在同一个进程中,能否在一个线程用一个epoll大循环管理多个UdpServer+TcpServer? 
  为什么安卓的图形界面很好用,linux的图形界面那么拉跨? 
  Windows 内核和 Linux 内核谁更复杂? 
  Linux设备驱动开发 新手,创建第一个字符设备驱动时对一些代码的功能不是很了解,能解释一下吗? 
  如何看待微软公开 exFAT 文件系统细节,并宣布向 Linux 开源? 
  在桌面领域,为什么免费的 Linux 输给了收费的 Windows? 
  ubuntu下,最多可以挂载多少个USB-U盘? 
  如果有人给你两万美元让你黑自己的公司,你会怎么做? 

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





© 2025-04-15 - tinynew.org. All Rights Reserved.
© 2025-04-15 - tinynew.org. 保留所有权利