自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mark

日常总结

  • 博客(16)
  • 收藏
  • 关注

原创 【OS】11 - 实模式到保护模式(中)【从16位代码段进入到32位代码段,从实模式进入到保护模式】

123段寄存器和通用寄存器都升级为32位,意味着无论使用什么寄存器,理论上可以访问内存的任意角落;相当于4G的内存空间就是一个段;这就是传说中的内存平坦模式;45x86的"x"指的是处理器在这个系列里的排名,越往后排的处理器越新。x86指的是一种基于Intel 8086微处理器的指令集架构(ISA),最初由Intel公司在1978年发布。这个术语通常用来描述一系列兼容的微处理器,包括从原始的8086到现代的高性能处理器如Intel的Core系列和AMD的Ryzen系列。

2024-05-10 18:48:58 711

原创 【OS】10 - 实模式到保护模式【8086/80286的历史】

段地址指的是一段内存的起始地址,偏移地址指的是相对于段地址偏移了多少,如果实地址发生了冲突,那就改一下段地址的位置就可以了。段界限:表示段内偏移地址的最大值,实际物理地址=段基地址+段偏移地址(也就是段界限)在运算时,需要检查一下段偏移是否在合法的范围内。A程序和外设交互,这时处理器是空转的,另外的B程序就能在处理上运行,为什么会有障碍呢?相当于一个数组,放到了内存里,在80286中把描述符表放到了gdt_ptr寄存器中了;换一台电脑运行,内存变小了256k,那么原来的程序就不能再这一台电脑上运行了;

2024-04-11 21:42:31 798

原创 【OS】09 - 主引导程序控制权的转移

迭代的思想,首先验证加载文件内容的代码是正确的。bp指向目标文件的第一个簇。

2024-03-31 19:33:10 314 1

原创 【OS】08 - 突破512字节的限制(下)

前面已经查到了目标文件的起始地址了,真正有用的信息只有32字节(根目录区每一项32字节),如果把根目录区全部加载到内存,就存在资源浪费,为了更有效的利用内存,只拷贝需要用到的32字节这个目标项。第二步:调用 ReadSector 函数加载Fat表到内存,查找Fat表中的每个表项,挨个把目前文件存储到扇区中的所有内容加载到内存;拷贝完成后,就知道了目标文件的信息,知道目标文件从哪里开始存储的,就可以通过Fat表具体加载目标文件的内容了;fat表项表示逻辑结构。偶数走第一个处理关系式。奇数走第二个处理关系式。

2024-01-29 14:52:56 207

原创 【OS】07 - 突破512字节的限制(中)

1、根目录区加载到内存,上篇文章的 ReadSector 函数,bios中软盘数据读取。3、如果目标文件不存在,调用上篇文章的 Print 函数,打印错误信息。2、在根目录中查找是否存在目标文件(本篇文章要处理的事情)***辅助函数的作用:完成这个流程图,突破512字节的限制。根目录中是很多文件项,文件项记录了文件关键信息。比对文件名,完全一样就是查找成功了;前11个字节是文件名。

2024-01-27 08:37:42 178

原创 【OS】06 - 突破512字节的限制(上)

如何读取软盘上的数据?拆分逻辑扇区, 那么怎么去读?逻辑扇区转换为磁盘上的具体位置(磁头号、柱面号、扇区号)

2023-11-20 07:26:11 47 1

原创 【OS】01 :进阶操作系统

bios扫描介质,发现主引导程序,把主引导程序的代码加载到内存里去(加载OS),主引导程序加载到0x7c00;编译软件是一种特殊的用户软件,使用人群是程序员;如果没有OS,编译软件就无法运行。入口地址类似于C语言的入口地址。开机之后直接就运行加载bios。ROM上电的时候会被映射地址。

2023-11-12 10:14:40 55 1

原创 【OS】02 - Hello,DTOD!

01主引导程序,没有固化于硬件当中,没有在出厂的时候烧录到硬件设备里,必然是软件;主引导程序被归为OS的一部分,是负责开发OS的人开发主引导程序;这就需要考虑如何编写主引导程序了;0203040506070809编写操作系统的一部分代码,主引导程序代码10111213。

2023-11-11 07:51:08 56 1

原创 【OS】03 - bochs环境搭建

/configure : 配置虚拟机需要支持断电调试。

2023-11-10 07:17:57 51 1

原创 【OS】04 - 主引导程序的拓展(上)

用freedos对虚拟软盘data.img格式化,格式化之后的文件系统就是FAT12, 挂载到linux中,方便写入文件;但是现在,没有操作系统哎。

2023-11-09 07:43:22 52 1

原创 深入浅出的处理器(续)

0102030405060708091011121314伪代码:问题发现伪代码:问题发现void process(Message* msg){ Parser* p = find_parser(msg->type); if (p != NULL) { p->handle(msg); }}分析:每一条信息过来,就要查找,性能的瓶颈在这里:Parser* p =

2023-11-08 05:24:13 49 1

原创 深入浅出的处理器(下)

0102030405060708091011121314。

2023-11-08 05:19:50 43 1

原创 深入浅出的处理器(中)

0103040506070809101112131415161718。

2023-11-08 05:14:13 48 1

原创 深入浅出的处理器(上)

01>0203040506070809101112。

2023-11-08 05:07:11 55 1

原创 嵌入式C语言编译器

嵌入式C语言编译器

2023-11-06 21:31:34 55

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

操作系统

2023-09-29 17:33:24 58 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除