摘要: ll_rw_block()是块设备驱动层,向上提供按block读写块设备到某个内存地址的(是以page为目标单位)方法. bread()是块设备缓冲层,磁盘上的block用页缓存.先从这个缓存里找,找不到再调用ll_rw_block()读进来. 各个文件系统,要向vfs层提供read_inode() 阅读全文
posted @ 2019-12-24 22:18 相印 阅读(478) 评论(0) 推荐(0)
摘要: super block这个数据结构,乃至super block在磁盘上的位置,是哪里的规定? 没规定,1k偏移只是ext文件系统.但是像fat,它们第0扇区后就是保留扇区,但linux一样要识别它们. 知道这个现象就能搞清楚了:双系统的ntf分区,在linux下一样是可以识别并正常操作的,但那些文件 阅读全文
posted @ 2019-12-24 21:56 相印 阅读(599) 评论(0) 推荐(0)
摘要: 在主引导区后面就是FAT表。从上面可以得知一个FAT表是229个扇区。它里边的内容很简单,里边的内容就是指出下一个簇在哪里。你的盘有多少个簇,那么它的FAT表就要有多少个项来描述它们。因为FAT16是用2个字节(16位)来描述一个簇的,所以这时FAT表的大小就应该是2位的簇数个字节。FAT表中,第4 阅读全文
posted @ 2019-12-24 20:28 相印 阅读(1082) 评论(0) 推荐(0)
摘要: 1980s早期,把硬盘的物理扇区制作成512字节成为主流标准. 1956年硬盘发明的时候扇区容积更小. 1998年,NSIC提出使用更大容积的物理扇区,因为传统的512字节的扇区标准对日益增长的磁盘密度已经是限制了. 随之而来的是Advanced Format. 第一代Advanced Format 阅读全文
posted @ 2019-12-24 14:02 相印 阅读(828) 评论(0) 推荐(0)