百科问答小站 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 安装时,各个分区的作用是什么? 
  为什么同样是8G运行内存,Windows能同时开一大堆后台进程和前台应用,而Android不可以? 
  开放原子开源基金会是什么,为什么华为把鸿蒙最核心的基础架构捐赠给这个机构? 
  普通个人电脑能做到的最酷炫的事是什么? 
  有哪些在线 Linux 环境可以 ssh 登录来玩? 
  为什么 Python(或 Ruby、Perl 等)没有取代 Bash 成为系统 Shell? 
  龚神给微软 Linux 子系统写的支持 DirectX 9、11的代码到底属不属于“驱动”? 
  程序在地址空间中的位置是何时,以及如何决定的? 
  gettimeofday实现原理,该接口是如何和HPET配合实现微秒精度时间的获取的? 
  Android为什么不直接执行Linux的程序?而是自己搞一套? 

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





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