LBA和CHS转换】的更多相关文章

磁盘填充,先填满一个柱面之后,再填下一个柱面.LBA是从0开始的. LBA = (C-CS)*HPC*SPT + (H-HS)*SPT + (S-SS) C, H, S: 当前的CHS值 CS, HS, SS: Cylinder, Head, Sector的起始编号.一般来说,CS=0,HS=0,SS=1 HPC: Heads Per Cylinder,每个柱面磁头数,也就是每个柱面磁道数 SPT: Sectors Per Track,每个磁道扇区数 SPT > (S-SS) 一定成立 HPC…
磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数 l         磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头:l         磁道(track)数:磁道是从盘片外圈往内圈编号0磁道,1磁道...,靠近主轴的同心圆用于停靠磁头,不存储数据:l         柱面(cylinder)数:同磁道数量:l         扇区(sector)数:每个磁道都别切分成很多扇形区域,每道的扇区数量相同:l         圆盘(platter)数:就是盘片的…
原理及介绍来自维基百科 http://zh.wikipedia.org/wiki/%E9%82%8F%E8%BC%AF%E5%8D%80%E5%A1%8A%E4%BD%8D%E5%9D%80 个人用的小程序 /* #lba=(#c*H+#h)*S+#s-1 #c=#lba/(S*H) #h=(#lba/S)%H #s=(#lba%S)+1 #c.#h.#s分别是磁柱.磁头.扇区的编号(起始值0.0.1) #lba是逻辑区块编号(起始值0) H=heads per cylinder,每个磁柱的磁头…
LBA简介 磁盘读取发展 IO操作读取硬盘的三种方式: chs方式 :小于8G (8064MB) LBA28方式:小于137GB LBA48方式:小于144,000,000 GB LBA方式访问使用了data寄存器,LBA寄存器(总共3个),device寄存器,command寄存器来完成的. LBA28和LBA48方式: LBA28方式使用28位来描述一个扇区地址,最大支持128GB的硬磁盘容量. LBA28的寄存器 寄存器 端口 作用 data寄存器 0x1F0 已经读取或写入的数据,大小为两…
读取磁盘:CHS方式 BIOS读取磁盘 读取磁盘也是调用BIOS: 中断命令: INT 13H 读取扇区的入口参数为 AH = 02H 功能参数,读取扇区 AL = 扇区数 CH = 柱面 CL = 扇区 DH = 磁头 DL = 驱动器号,00H~7FH:软盘驱动器号:80H~0FFH:硬盘驱动器号 ES:BX = 缓冲区的地址 出口参数 CF = 0: 操作成功,AH = 00H,AL = 传输的扇区数 否则,AH = 状态代码 定义磁盘读取函数 1. 读取一个扇区 ; ----------…
LBA简介 磁盘读取发展 IO操作读取硬盘的三种方式: chs方式 :小于8G (8064MB) LBA28方式:小于137GB LBA48方式:小于144,000,000 GB LBA方式访问使用了data寄存器,LBA寄存器(总共3个),device寄存器,command寄存器来完成的. LBA28和LBA48方式: LBA28方式使用28位来描述一个扇区地址,最大支持128GB的硬磁盘容量. LBA28的寄存器 寄存器 端口 作用 data寄存器 0x1F0 已经读取或写入的数据,大小为两…
[原创]Linux系统启动过程分析-wjlkoorey258-ChinaUnix博客http://blog.chinaunix.net/uid-23069658-id-3142047.html 经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究.这当中就包括系统的启动流程.文件系统的组成结构.基于动态库和静态库的程序在执行时的异同.协议栈的架构和原理.驱动程序的机制等等. 本人在综合了现有网上大家智慧的基础上,结合对2.6.32的内核代码的研读,基于CentOS 6.0系…
[转]Linux系统启动过程分析 转自:http://blog.chinaunix.net/uid-23069658-id-3142047.html 经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究.这当中就包括系统的启动流程.文件系统的组成结构.基于动态库和静态库的程序在执行时的异同.协议栈的架构和原理.驱动程序的机制等等. 本人在综合了现有网上大家智慧的基础上,结合对2.6.32的内核代码的研读,基于CentOS 6.0系统对Linux的启动流程做了些分析.由于才疏…
引言 ORPSoC的硬件平台是包含SD card controller控制器的,但是对应的linux里面却没有对应的linux的驱动程序,这使ORPSoC的SD card的使用收到了很大的限制.没有驱动,硬件是不能工作的,SD卡控制器的驱动,linux提供了非常好的framework,在写驱动时只要开发者=关心最底层的部分,就是和硬件直接打交道的部分,即linuxMMC framework的HOST部分. 本小节并不介绍linux的MMC的framework,而把注意力放在核心部分,即直接对硬件…
经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究.这当中就包括系统的启动流程.文件系统的组成结构.基于动态库和静态库的程序在执行时的异同.协议栈的架构和原理.驱动程序的机制等等. 本人在综合了现有网上大家智慧的基础上,结合对2.6.32的内核代码的研读,基于CentOS 6.0系统对Linux的启动流程做了些分析.由于才疏学浅,知识所限,有些地方分析不妥之处还请各位高手不吝赐教. OK,我们言归正传.对于一台安装了Linux系统的主机来说,当用户按下开机按钮时,一共要经…