首页 > 编程语言 >【OS】05 - 主引导程序的扩展(下)

【OS】05 - 主引导程序的扩展(下)

时间:2023-01-06 07:33:42浏览次数:60  
标签:引导 读取 05 程序 扩展 文件系统 存储介质 文件 OS

mycode : mycode

思考

突破引导程序方法:

再写一个程序,并且把这个程序放到存储介质中;

主引导程序要加载这个新的程序,将控制权转交给新的程序;

遇到的问题:怎么在存储介质中找这个新的程序呢?

那就需要借助于一个文件系统,有了文件系统,就可以很方便的把写好的程序放到软盘里了,也可以根据文件系统数据组织的方式,来放便的找到新的程序;

实验: 读取根目录信息

先读取文件项,再读取目标文件内容

实验: 加载FAT12中的文件数据

实验: 读取指定文件内容

ret[j] = static_cast<ushort>((fat[i+1] & 0x0F) << 8) | fat[i];
ret[j+1] = static_cast<ushort>(fat[i+2] << 4) | ((fat[i+1] >> 4) & 0x0F);

标签:引导,读取,05,程序,扩展,文件系统,存储介质,文件,OS
From: https://www.cnblogs.com/awmking/p/17029372.html

相关文章

  • fastposter v2.11.0 天花板级的海报生成器
    fastposterv2.11.0天花板级的海报生成器......
  • macOS darwin/amd64 vs Darwin/x86_64 All In One
    macOSdarwin/amd64vsDarwin/x86_64AllInOneuname#uname$unameDarwin$uname-aDarwinxgqfrms-mm.local22.2.0DarwinKernelVersion22.2.0:FriNov11......
  • centos7.9+mssql
    1、sudoyumupdate2、gcc8.xyum-yinstallcentos-release-sclyum-yinstalldevtoolset-8-gccdevtoolset-8-gcc-c++devtoolset-8-binutilssclenabledevtoolset-......
  • 1.6.2 /chosen
    chosen{ bootargs="console=ttyUL0,115200highres=on"; linux,stdout-path="/plb@0/serial@84000000"; };1.6.2/chosen/chosen节点应当用作根节点的孩子节点,......
  • 代码随想录算法训练营第八天 |344.反转字符串 541. 反转字符串II 题目:剑指Offer 05.替
    344.反转字符串文章:代码随想录(programmercarl.com)视频:字符串基础操作!|LeetCode:344.反转字符串_哔哩哔哩_bilibiliclassSolution{public:voidreverseStri......
  • cocos creator知识点总结
    1:比较常见的加载一个纹理  bundle.load('imgs/cocos',cc.SpriteFrame),为什么要加载个类型?从直接方面来说的话,没有类型的话,得到的是不唯一东西.举例,一个spine资源......
  • 山泽Typec扩展坞M.2移动固态硬盘盒拓展 - 我的硬件配置
    ......
  • x210-2023-01-05
    1、给交叉编译工具链创建符号链接,由于需要修改的内容比较多,所以先在windows下弄好了脚本,再共享到ubuntu会由于两个系统编码方面的问题,导致执行结果达不到想要的效果(win底下......
  • agc059 A - My Last ABC Problem
    题意:排列可视为映射给定一个A,B,C字符串str。每次操作选择一个子串并对其应用一个ABC的排列对应的映射。每次询问至少要多少次操作才能让子串str[l..r]中的全部......
  • 230105_05_RPC底层原理
    返回值一定是一个对象,当前是把user拆分成1个id,1个name返回,当user变了,比如增加了属性,则需要再次修改相应代码,因此需要进一步优化直接将这个对象返回,不进行拆分Stub:返回......