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



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

  

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

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

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

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




  

相关话题

  Windows NT 内核与 Linux 内核相比哪个更安全? 
  Fuchsia OS可以从Cast OS保留数据升级,是否说明Fuchsia只是Linux套壳? 
  一般编程的时候,使用汇编能比使用高级语言(比如C,C++,java等)有更高的运行效率吗?高能高出多少呢? 
  为什么8086CPU不支持将数据直接送入段寄存器的操作? 
  如何看待 2018 年 1 月 2 日爆出的 Intel CPU 设计漏洞? 
  虚拟地址、线性地址、物理地址之间是如何转换的? 
  华为 Linux 内核贡献者被质疑刷 KPI,真实情况是怎样的?有哪些信息值得关注? 
  德国又一州将尝试完全使用 Linux 和 LibreOffice,对此你有哪些看法? 
  x86 win32下的汇编指令集可认为是 cpu提供的指令集 + win32提供的指令集 吗? 
  华为 Linux 内核贡献者被质疑刷 KPI,真实情况是怎样的?有哪些信息值得关注? 

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





© 2024-09-19 - tinynew.org. All Rights Reserved.
© 2024-09-19 - tinynew.org. 保留所有权利