标签:读取 一步 写入 LBA IO 寄存器 硬盘 操作系统
一、原理
cpu同外围设备打交道,其实是要通过中间的IO接口电路才行。我们读取硬盘的数据,其实也是同中间的IO接口电路打交道。操作硬盘的这个IO接口电路叫做硬盘控制器。我们通过操作硬盘控制器上的端口(寄存器)来读取硬盘数据。
主要端口介绍:
- setctor count寄存器:设置读取或写入的扇区数
- LBA low,LBA mid,LBA high寄存器:分别指定LBA地址的0~7,8~15,16~23位
- device寄存器: 0代表主盘,1代表从盘
- command寄存器:写入命令,包括identify(0xEC),read sector(0x20),write sector(0x30)
- status寄存器
- data寄存器:读取或写入的寄存器
二、代码实现
思路:读取硬盘数据到指定位置,然后跳转到那个位置执行。
标签:读取,一步,写入,LBA,IO,寄存器,硬盘,操作系统 来源: https://blog.csdn.net/sstraybird/article/details/120101932
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。