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

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

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

移动后的内存布局如下

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


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

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

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

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

相关推荐
Irene199120 小时前
两种 Linux 发行版:Ubuntu 与 CentOS Shell 环境核心差异对比(查看 Linux 版本,Hadoop 是什么)
linux·ubuntu·centos
j7~20 小时前
【Linux系统】基础IO(文件描述)(1)
linux·服务器·c++·文件·基础io
星辰&与海20 小时前
多个串口加输出
linux
广州灵眸科技有限公司20 小时前
瑞芯微(EASY EAI)RV1126B 模型部署API说明
linux·开发语言·网络·人工智能·深度学习·算法·yolo
gjc59220 小时前
Linux MySQL服务器SSH多端口配置:解决22端口禁直连,兼顾安全与运维
linux·运维·服务器·mysql·ssh
largecode20 小时前
怎么让手机显示公司名?来电显示公司名称认证实现品牌外显
linux·ubuntu·华为od·华为·智能手机·华为云·harmonyos
祁白_20 小时前
跨平台通用危险函数深度解析
linux·windows·笔记·安全·系统命令
柿柿快乐20 小时前
用户认证系统实现文档
linux·服务器·网络·学习·基础教学
南境十里·墨染春水20 小时前
linux学习进展 Redis详解
linux·redis·学习
岳来20 小时前
linux 设备目录/dev 学习
linux·服务器·/dev