OS
Kwo0D
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
I/O设备
标准设备(不真的存在,理解用)从图中可以看到一个包含两部分的重要组件的设备。第一部分是向系统其他部分展现的接口。第二部分是它的内部结构。这部分包含设备相关的特定实现,负责具体实现设备展示给系统的抽象接口。非常简单的设备通常用一个或者几个芯片来实现它们的功能。标准协议在上图中,一个设备接口包含三个寄存器,一个状态寄存器(status)寄存器,可以读取并查看当前设备的状态;一个命令(command)寄存器,用于通知设备执行某个具体任务;一个数据(data)寄存器,将数据传给设备或从设备接受数据。通过原创 2021-06-20 15:27:42 · 216 阅读 · 0 评论 -
关于软盘:(
磁盘被分成若干个磁道,每个磁道又分为若干个扇区,每个扇区存储512个字节。磁道是一组同心圆,一个磁道大约有零点几个毫米的宽度,数据就存储在这些磁道上。我们不需要记住那么多,只要知道每个扇区间隔512kb就行,可以用java中的流库将东西loader写入nasm生成的img文件中,每个扇区是以512kb作为单位 的。...原创 2021-06-17 21:23:52 · 196 阅读 · 0 评论 -
读取硬盘(个人笔记)
mbr只有512字节,不能装下整个内核,所以我们要读取loader,把loader放到内存中哪里?在实模式下0x5000x7bff和0x7e0009fbff是可以使用的内存。注意,在loader中要存放一些数据结构,loader被加载后就不能覆盖,内核也会越来越大,所以loader要较低位,这里就选择0x900吧。SECTION MBR vstart = 0x7c00LOADER_BASE_ADDR equ 0x900LOADER_START_SECTOR equ 0x2mov ax,csmo原创 2021-06-17 21:09:33 · 443 阅读 · 0 评论 -
更新MBR(个人笔记)
注意:gs是控制显示器的!SECTION MBR vstart = 0x7c00mov ax,csmov ds,axmov es,axmov ss,axmov fs,axmov sp,0x7c00mov ax,0xb800mov gs,axmov ax,0600hmov bx,0700hmov cx,0mov dx,184fhint 10h ;清屏mov byte [gs:0x00],'1'mov byte [gs:0x01],0xA4mov b原创 2021-06-16 00:15:07 · 374 阅读 · 2 评论 -
操作系统的引导(个人笔记)
计算机在接电后,运行的是bios,bios是运行在主板的一个小程序,然后bios将找到MBR(Main Boot Record 主引导程序),MBR存在于硬盘最开始的扇区,0盘0道1扇区,MBR引导扇区中内容:446字节引导程序以及参数;64字节的分区表;2字节结束标记0x55 和 0xaaMBR负责找次引导程序。每个分区占16字节,故有4个分区表,这四个分区中有次引导程序,MBR遍历这四个分区,将系统控制权交给次引导程序。次引导程序是操作系统提供的的加载器,由加载器完成操作系统的自举。注原创 2021-06-13 15:21:04 · 504 阅读 · 0 评论
分享