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

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

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

移动后的内存布局如下

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


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

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

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

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

相关推荐
kaoa0007 小时前
Linux入门攻坚——62、memcached使用入门
linux·运维·memcached
model20058 小时前
alibaba linux3 系统盘清理
linux·运维·服务器
WG_178 小时前
Linux:动态库加载总结_进程间通信+进程池 + 进程IPC(27/28/29/30/31/32)
linux·运维·服务器
小赵还有头发8 小时前
安装 RealSense SDK (驱动层)
linux
Root_Hacker10 小时前
include文件包含个人笔记及c底层调试
android·linux·服务器·c语言·笔记·安全·php
微学AI10 小时前
内网穿透的应用-告别局域网束缚!MonkeyCode+cpolar 解锁 AI 编程新体验
linux·服务器·网络
宴之敖者、12 小时前
Linux——权限
linux·运维·服务器
刘叨叨趣味运维13 小时前
Linux性能排查实战:从“系统慢”到精准定位
linux
欣然~14 小时前
法律案例 PDF 批量转 TXT 工具代码
linux·前端·python
阮松云14 小时前
a start job is running for Builds and install new kernel modules through DKMS
linux·centos