96SEO 2026-02-20 08:19 0
nux版本的在Linux写代码不太舒服所以最好在Windows上做实验下载好虚拟机以后还需要下载Nasm汇编器以及GCC编译器为了能够使用DD命令实现磁盘拷贝这里你可以安装windows

**注释**该系列笔记是在学习《操作系统真相还原》时通过阅读后简化并适当描述整理的学习笔记首先致敬作者郑刚博士在读本书时能深刻的感觉到作者写书时一丝不苟的态度书很厚写的讲解细致幽默很能让人愿意继续读下去同时也不得不佩服作者计算机底层功力的深厚转载本文请一并附带郑刚版权信息。
基本输入输出系统,BIOS代码所做的工作是一成不变的,所以他是被固化到ROM中的一块只读区域中,在开机时此ROM会被映射到低端1MB内存的顶部,原因是系统在开启时默认是实地址模式(该模式最大寻址范围0-fffff),所以其寻址范围也就被限制在了0xF0000-x0xFFFFF区域中,这64KB的内存就是BIOS的执行代码.
在开机的一瞬间,CPU的CS:IP寄存器会被强制初始化为0xF000:0xFFF0,在实地址模式下该地址需要乘以16也就是左移四位加上偏移地址得到,于是0xF000:0xFFF0就等效于0xFFFF0此处的地址距离0xFFFFF只有16个字节的空间,里面存放着一条jmp
fe05b的汇编指令,该指令将跳转到真正的BIOS开始的位置.
接着BIOS将会通过自身的代码对硬件进行自检测,在初始化硬件后,则开始向内存0x000-0x3ff中初始化数据结构以及拷贝中断向量表,紧接着BIOS将会通过调用int
19h中断,此中断用以检测计算机中的硬盘,如果检测到0盘0道1扇区末尾的两个字节是0x55,0xaa则认为此扇区确实存在,于是就会将此区域中的内容,加载到内存7c00的位置,并通过一条jmp
0:0x7c00h的指令跳转到该位置执行,这样BIOS就将CPU控制权交给了MBR了,而BIOS将会再次睡去.
此处的7c000就是MBR代码的开始位置,之所以是7C00是因为,DOS中要求最小内存是32KB,而MBR大小必须是512字节(1KB),所以选择32kB中的最后1KB的位置最为合适,32KB(0x8000)-1KB(0x400)0x7c00,这就是7C00的由来,同时还需要保证第510-511字节必须为0x55,0xaa才可以.
mbr的结束标志进入Bochs目录下执行bximage.exe生成一个映像文件,默认是a.img,你可以改名为其他的这里我定义为linux.img
convnotrunc在Bochs目录下新建并编辑bosh.src保存,然后执行bochs.exe
romimage:file$BXSHARE/BIOS-bochs-latest
vgaromimage:file$BXSHARE/VGABIOS-lgpl-latest
floppya:1_44linux.img,statusinserted
keymap$BXSHARE/keymaps/x11-pc-de.map上方屏幕会比较混乱这里我们先来进行清屏操作清屏中断调用也是int10
mbr的结束标志执行结果如下但是打印字符串在底部因为光标在底部。
romimage:file./BIOS-bochs-latest
vgaromimage:file./VGABIOS-lgpl-latest
0x10中断来实现打印字符操作但我们在后期必须要借助显卡来输出图像而显卡是外部设备必须通过总线来操作。
由于CPU使用的信号是TTL电平而外部设备都是机械设备故他们不会使用该电平驱动这就导致CPU与硬件设备没有办法实现沟通硬件工程师们提供的方法是在这两者之间架起一座桥也就是在CPU和外设之间加上一层IO接口该接口的作用就是实现CPU和外设之间相互做协调转换。
其次外部设备的种类也是多种多样的其输出的信号可能是数字信号也可能是模拟信号而我们的CPU只能处理数字信号数字信号需要经过数模转换器D/A成模拟量才能送到外设来驱动硬件工作模拟量也同样需要经过模数转换器A/D转换成数字量才能被CPU直接处理所以接口电路中需要包括A/D转换器和D/A转换器。
转换后的数字信号会经过总线进行传递总线的别名是BUS之所以叫做BUS是因为其是公共线路所有硬件设备都会走此线路但同一时刻CPU只能和一个IO接口(寄存器/端口)通信当有多个IO接口同时想和CPU通信时那么IO仲裁模块会对其进行竞争与选优仲裁模块固化到输入输出控制中心(ICH)也就是南桥芯片上的。
多数情况下南桥和北桥是成对出现的南桥主要负责连接PCI,PCI-Express,AGP等低速设备而北桥则用于链接高速设备如内存等。
IO接口都是串行口其在设计之初就是负责与CPU进行通信的我们想要与CPU通信其实是向这些接口中写入数据同时为了区别CPU中的寄存器所以把IO接口叫做端口某些外设可以通过内存映射来访问即把某些端口映射到指定内存中访问某个内存区域就相当于访问了指定的端口。
0x10;初始化数据段使其指向段基址0X7C0处即Boot代码被加载的地方mov
设置vb虚拟地址断点pb设置物理地址断点。
blist显示所有断点。
初始化,使SP寄存器指向段基址0X7C0处,GS指向显存基地址mov
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback