百科问答小站 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 原生不能运行 exe 格式的文件? 
  Linux 内核中,多线程栈空间模型是怎样的? 
  配置管理Linux高性能计算集群需要从何开始? 
  为什么 15 年前已经有 Linux 了,macOS 还有市场? 
  写一个操作系统内核有多难?大概的内容、步骤是什么? 
  如何评价华为官方Matebook14 Linux版? 
  学习 Linux 有哪些好处? 
  Windows 的文件夹的权限管理为什么乱七八糟的? 
  文件系统设计中的 Sectorsize有什么用? 

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





© 2025-05-25 - tinynew.org. All Rights Reserved.
© 2025-05-25 - tinynew.org. 保留所有权利