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

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

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

移动后的内存布局如下

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


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

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

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

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

相关推荐
迎風吹頭髮5 分钟前
Linux内核架构浅谈8-Linux内核与UNIX的传承:设计思想与特性差异
linux·运维·架构
黑马金牌编程36 分钟前
Linux 服务器常见的性能调优
linux·运维·服务器·性能优化
jieyu111936 分钟前
网络、主机安全扫描工具
linux·安全·系统安全
tianyuanwo38 分钟前
Linux进程管理中的T状态问题分析与解决体系
linux·运维·进程管理·t状态
liuyao_xianhui2 小时前
Linux_基本指令1
linux·运维·服务器
守望时空332 小时前
Linux挂载NTFS分区指南
linux
shan~~3 小时前
linux达梦数据库操作
linux·数据库·chrome
liliangcsdn3 小时前
LLM时代基于unstructured解析非结构化pdf
linux·服务器·数据分析
Codigger官方3 小时前
Linux 基金会牵头成立 React 基金会:前端开源生态迎来里程碑式变革
linux·前端·react.js
武文斌773 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习