linux0.11 源码阅读 head.s setup.s bootsect.s加载位置

从github上下载linux0.11源码
linux0.11源码

将0x10000处的代码往下复制到0开始的地址处。

移动后的内存布局如下

setup中存在gdt和idt的相关数据。此时需要用gdtr和idtr寄存器指向对应的数据。


实模式下,访问内存方式。最多访问1M内存。

分页模式下,计算物理地址。

开启分页后,将页目录项,页表项都设置好后,开始执行main函数,此时的内存布局如下:

上面这张图,我们要牢记在心,操作系统说白了就是在内存中放置各种的数据结构,来实现"管理"的功能。

相关推荐
sulikey2 小时前
Linux基础指令与权限管理深度解析:从入门到精通
linux·运维·服务器·ubuntu·centos·linux命令·linux权限
s***46982 小时前
linux 设置tomcat开机启动
linux·运维·tomcat
xu_yule2 小时前
网络和Linux网络-3(套接字编程)TCP网络通信代码
linux·网络·tcp/ip
HalvmånEver4 小时前
Linux:进程的切换与调度(进程四)
linux·运维·服务器
LCG元4 小时前
终端里的"黑客帝国":htop, glances, bpytop 系统监控工具横评
linux
L***B5684 小时前
如何安装linux版本的node.js
linux·运维·node.js
LCG元5 小时前
终极武器:用 systemd 管理你的自定义应用服务(附配置文件)
linux
脏脏a5 小时前
【Linux】Linux进程状态深度解析
linux·运维·服务器
凉晓风5 小时前
Linux中常见几种自启动方式的区别
linux·运维·服务器
LCG元5 小时前
考古利器:find 命令的高级用法,按时间、大小、内容精准查找
linux