百科问答小站 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? 
  在Windows下用VIM来写代码,会不会很蛋痛? 
  linux内核切换成分页模式后,ljmp $__BOOT_CS,$1f 这行代码有什么意思? 
  除了 Windows,macOS,类 Unix 之外还有别的选择么? 
  服务器操作系统选 Debian、Ubuntu 还是 CentOS? 
  想安装 Linux,有什么版本可以推荐? 
  为什么开源软件往往都支持Linux/Mac/Windows,而闭源软件往往只支持Win和Mac? 
  对于安卓是否可以理解为安卓系统其实跑的是Linux? 
  Linux 为什么没发展成 macOS 或者 Windows 那样的大众图形化操作系统? 

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





© 2025-01-18 - tinynew.org. All Rights Reserved.
© 2025-01-18 - tinynew.org. 保留所有权利