????2.??????????
?????????????????????и????(format)??????????????????????????? ?????????????????????????????????????????????????????????????.
???????????????????????????????. ??windows 98 ???????????????????????????? FAT (?? FAT16)??windows 2000 ????汾????ν?? NTFS ??????????? Linux ????????????? Ext2 (Linux second extended file system?? ext2fs)?????????????????????£?windows ?????????????? Linux ?? Ext2 ???
????????????????????????У????????????????????????????????????????????????? filesystem ????? partition?????????????????????????????????????LVM?????????????(software raid)?? ??Щ??????????????????????????????(????LVM)??????????????????????????(LVM?? RAID)?? ????????????????????????????????? partition ?????????? ???????????????????????????????????????????????????
????????????????????е???????????????????????й?????μ?????????????????????????????? ??????з?????????????? Linux ??????????????(rwx)?????????(????????顢????????)?? ????????????????????????????????????飬????????????? inode ?У?????????????????? data block ?????С? ??????????????????? (superblock) ???????????????????????????? inode ?? block ???????????????????????
??????????????????????????????????????????????????????? 1024??2048 ?? 4096 ????С??顣???????????????????
??????????(Superblock): ????????????????????????????????????????????????С??inode/block??????????????????????????? inode ????????????????????
????inode??(??????????) : ???????????????????????????????????????????????????????κ????????κ??????????????????????????е???? inode ?顣???????????????????????????(???????????????????????????????)??????????λ?????????. ?? Linux ???????? “ls -li” ?????????? inode ???????????????????????? inode ??
?????????(Block) :????????????????????????????????? block??????????????Ч???Linux ????????·???? inode ???????? dentry ????????????·??????????????? inode?????????????????????????? inode ??????顣
????????????з??楨?????????????????????У?????????????棬??????????????????????? inode ??????????????????????????????λ?????????????????????????????????????
????Linux??????????(??ext2??3??)???????????????????顢inode Table?????data block????????????????????????顢inode?????????????ɡ?Inode?????????????(???д?????owner??????????????????)?????????????????????????????????????????inode table?в??????????????????????????ж???????

????ext2?????????
????????? inode ?? block ????????????????£???????????????????????? inode ?? block ?????飬???????????????????????????????? inode 4 ??(?????С??????)??????? inode ????????????????????? 2?? 7?? 13?? 15 ????? block ????????????????????????????д???????????????????????? block ??????????? ?????????????????е????????????????


????? inode/block ??????????

???????????????????????????????????(indexed allocation)???????????????????????????????°??? ?е??????????????????(????)??????????????????? FAT ?????FAT ?????????????????? inode ????????? FAT ??а??????????????? block ?????????????????? block ????????????? block ???У? ????????е?????????:


???????FAT???????????????

?????????????????????????????д??1->7->4->15??????? block ?????У? ????????????а???????????? block ??????????????????? block ????????????????? block ??δ??? ??????????????д??? block ????????????????????????????????????????????????е?????? ??????????ü?????????????????????????????
????????????????ν??“???????”??? ???????????????????д??? block ??????????????????????Ч?????????????? ???????????????????????????????? blocks ??????????????????????????????? ???????FAT ?????????????????????????£???? Ext2 ?????????????????
???????? Ext2 ????????????????????????????????????????????????????????????? ???????/??/??????????????????????????????????????????????????????????????????μ?? ??????????????絹??????? Linux ????????????й? Ext2/Ext3 ??????????????????????????????^_^
??????????ln????????????????????????????μ??????????????????????????????????????????????????????з??????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????
???????????????ln -s???????????????????????????linux????????????????????????????????????????????????·??????????windows?μ???????
?????????????е?????????????????????з????????????
????????ε????????????????????????????????????????????????????ü?????????????????????????????????????????????????????????????????????????????????????????????????????ɡ?
????3.6 ???????????е???
????????????
????Linux????VFS?????????????£?

?????????IO: ?????????PCB??Process Control Block???ж????????????????????????????????????????????????????????????????????????????????????£??????????????????file????????????????????е???????file???塣
??????file?????????File Status Flag??file???????f_flags????????дλ???file???????f_pos??????????У?????1?????2??????????????????????file???壬???????в????File Status Flag???дλ?á?file?????б?????????????f_count????????ü?????Reference Count?????????????????dup??fork?????????????????????????????file???壬??????fd1??fd2??????????file???壬??????????ü?????2????close(fd1)??????????file???壬?????????ü???????1???????close(fd2)?????ü????????0?????file???壬???????????????
???????file???嶼??????file_operations???壬?????????????????????????????????????????????????????????????read??????????????read????????y???????????????????????????????file???壬???file??????????file_operations???壬????????read?????????????????????????????????????е???lseek??read??write??ioctl??open??????????????????file_operations????????????????????????????
????file_operations?????е?release??????????????????close??????????release??????close????????????????????????????????ü???????????ü???????0??????????????????????????????????????read??write??????????????????????????????????????????????????????е????????????file???????????file_operations???塣????????????豸????????????read??write???????????????????????????д??????????????д????豸??????file?????????????file_operations???壬???е???????????????????豸??????????????