文件系统
系统安装的时候就应该根据磁盘分区表在各个分区上建立文件系统。
建立文件系统的过程其实就是对磁盘进行一次格式化。也就是上面提到的软格式化。
从哪里开始文件系统的工作?
在开发的时候,可以在开始的时候,初始化时根据磁盘分区信息在各个分区上建立文件系统,以便开始文件系统的工作,同时便于后面开始做些文件系统以及文件相关的操作。
磁盘分区
磁盘分区表
写道
| |
| ... |
------+-----+--- ~
^ ^ | | ^
| 64k+-----+ | 1048575:0xfffff
| v | ... | |
| ---+-----+ | 983040:0xf0000
| ^ | | |
| 64k+-----+ | 983039:0xeffff
| v | ... | |
| ---+-----+ | 917504:0xe0000
| | | |
| +-----+ | 917503:0xdffff
| | ... | |
| +-----+ | 851968:0xd0000
| | | |
| +-----+ | 851967:0xcffff
| | ... | |
| +-----+ | 786432:0xc0000
| | | |
| +-----+ | 786431:0xbffff
| | ... | |
| +-----+ | 753664:0xb8000
| | | |
| +-----+ | 753663:0xb7fff
| | ... | |
| +-----+ | 720896:0xb0000
| | | |
| +-----+ | 720895:0xaffff
| | ... | |
| +-----+ | 655360:0xa0000
| | | |
| +-----+ | 655359:0x9ffff
| | ... | |
| +-----+ | 589824:0x90000
| | | |
| +-----+ | 589823:0x8ffff
| | ... | |
| +-----+ 1M 524288:0x80000
| | | |
| +-----+ | 524287:0x7ffff
| | ... | |
| +-----+ | 458752:0x70000
| | | |
| +-----+ | 458751:0x6ffff
Low | ... | |
Memory +-----+ | 393216:0x60000
(1M) | | |
| +-----+ | 393215:0x5ffff
| | ... | |
| +-----+ | 327680:0x50000
| | | |
| +-----+ | 327679:0x4ffff
| | ... | |
| +-----+ | 262144:0x40000
| | | |
| +-----+ | 262143:0x3ffff
| | ... | |
| ---+-----+ | 196608:0x30000
| ^ | | |
| 64k+-----+ | 196607:0x2ffff
| v | ... | |
| ---+-----+ | 131072:0x20000
| ^ | | |
| 64k+-----+ | 131071:0x1ffff
| v | ... | |
| ---+-----+ | 65536:0x10000
| ^ | | |
| 64k+-----+ | 65535:0x0ffff
| | | ... | |
| | +-----+ | 32256:0x07e00 - -
| | |0xaa | | ^ ^
| | +-----+ | 32255:0x07dff, mbr to here. boot sector:512 bytes 0xaa55
| | |0x55 | | | v
| | +-----+ | 32254:0x07dfe | - -
| | | ... | | | ^ ^
| | +-----+ | 32239:0x07def | | the 4th partition:16 bytes -
| | | | | | | v Boot indicator
| | +-----+ | 32238:0x07dee | | - -
| | | ... | | | | ^
| | +-----+ | 32223:0x07ddf | | the 3rd partition:16 bytes -
| | | | | | | v Boot indicator
| | +-----+ | 32222:0x07dde | dpt - -
| | | ... | | | | ^
| | +-----+ | 32207:0x07dcf | | the 2nd partition:16 bytes -
| | | | | | | v Boot indicator
| | +-----+ | 32206:0x07dce | | - -
| | | ... | | | | ^ ^
| | +-----+ | 32203:0x07dcb | | | Number of sectors in the partition:4 bytes
| | | | | | | | v
| | +-----+ | 32202:0x07dca | | | -
| | | ... | | | | | ^
| | +-----+ | 32199:0x07dc7 | | | Number of sectors preceding the partition:4 bytes
| | | | | | | | v
| | +-----+ | 32198:0x07dc6 | | | -
| | | | | | | | Ending low cylinder number
| | +-----+ | 32197:0x07dc5 | | | -
| | | | | | | | Ending sector and high cylinder number
| | +-----+ | 32196:0x07dc4 | | | -
| | | | | | | | Ending head number
| | +-----+ | 32195:0x07dc3 | | | -
| | | | | | | | System indicator
| | +-----+ | 32194:0x07dc2 | | | -
| | | | | | | | Beginning low cylinder number
| | +-----+ | 32193:0x07dc1 | | | -
| | | | | | | | Beginning sector and high cylinder number
| | +-----+ | 32192:0x07dc0 | | | -
| | | | | | | | Beginning head number
| | +-----+ | 32191:0x07dbf | | the 1st partition:16 bytes -
| | | | | | v v Boot indicator
| | +-----+ | 32190:0x07dbe | - - -
| | | ... | | (512 bytes places mbr) v
| | +-----+ | 31744:0x07c00, 0x007c0:0x0000, 0x00000:0x7c00. mbr from here.-
| | | | |
| | +-----+ | 31743:0x07bff
| | | ... | |
| | +-----+ | 01280:0x00500
| | | | |
| | +-----+ |
| | | ... | |
| | +-----+ |
| | | | |
| | +-----+ |
| | | ... | |
| | +-----+ | 01024:0x00400
| | | | |
| | +-----+ | 01023:0x003ff
v v | ... | v
------+-----+--- 00000:0x00000
| ... |
------+-----+--- ~
^ ^ | | ^
| 64k+-----+ | 1048575:0xfffff
| v | ... | |
| ---+-----+ | 983040:0xf0000
| ^ | | |
| 64k+-----+ | 983039:0xeffff
| v | ... | |
| ---+-----+ | 917504:0xe0000
| | | |
| +-----+ | 917503:0xdffff
| | ... | |
| +-----+ | 851968:0xd0000
| | | |
| +-----+ | 851967:0xcffff
| | ... | |
| +-----+ | 786432:0xc0000
| | | |
| +-----+ | 786431:0xbffff
| | ... | |
| +-----+ | 753664:0xb8000
| | | |
| +-----+ | 753663:0xb7fff
| | ... | |
| +-----+ | 720896:0xb0000
| | | |
| +-----+ | 720895:0xaffff
| | ... | |
| +-----+ | 655360:0xa0000
| | | |
| +-----+ | 655359:0x9ffff
| | ... | |
| +-----+ | 589824:0x90000
| | | |
| +-----+ | 589823:0x8ffff
| | ... | |
| +-----+ 1M 524288:0x80000
| | | |
| +-----+ | 524287:0x7ffff
| | ... | |
| +-----+ | 458752:0x70000
| | | |
| +-----+ | 458751:0x6ffff
Low | ... | |
Memory +-----+ | 393216:0x60000
(1M) | | |
| +-----+ | 393215:0x5ffff
| | ... | |
| +-----+ | 327680:0x50000
| | | |
| +-----+ | 327679:0x4ffff
| | ... | |
| +-----+ | 262144:0x40000
| | | |
| +-----+ | 262143:0x3ffff
| | ... | |
| ---+-----+ | 196608:0x30000
| ^ | | |
| 64k+-----+ | 196607:0x2ffff
| v | ... | |
| ---+-----+ | 131072:0x20000
| ^ | | |
| 64k+-----+ | 131071:0x1ffff
| v | ... | |
| ---+-----+ | 65536:0x10000
| ^ | | |
| 64k+-----+ | 65535:0x0ffff
| | | ... | |
| | +-----+ | 32256:0x07e00 - -
| | |0xaa | | ^ ^
| | +-----+ | 32255:0x07dff, mbr to here. boot sector:512 bytes 0xaa55
| | |0x55 | | | v
| | +-----+ | 32254:0x07dfe | - -
| | | ... | | | ^ ^
| | +-----+ | 32239:0x07def | | the 4th partition:16 bytes -
| | | | | | | v Boot indicator
| | +-----+ | 32238:0x07dee | | - -
| | | ... | | | | ^
| | +-----+ | 32223:0x07ddf | | the 3rd partition:16 bytes -
| | | | | | | v Boot indicator
| | +-----+ | 32222:0x07dde | dpt - -
| | | ... | | | | ^
| | +-----+ | 32207:0x07dcf | | the 2nd partition:16 bytes -
| | | | | | | v Boot indicator
| | +-----+ | 32206:0x07dce | | - -
| | | ... | | | | ^ ^
| | +-----+ | 32203:0x07dcb | | | Number of sectors in the partition:4 bytes
| | | | | | | | v
| | +-----+ | 32202:0x07dca | | | -
| | | ... | | | | | ^
| | +-----+ | 32199:0x07dc7 | | | Number of sectors preceding the partition:4 bytes
| | | | | | | | v
| | +-----+ | 32198:0x07dc6 | | | -
| | | | | | | | Ending low cylinder number
| | +-----+ | 32197:0x07dc5 | | | -
| | | | | | | | Ending sector and high cylinder number
| | +-----+ | 32196:0x07dc4 | | | -
| | | | | | | | Ending head number
| | +-----+ | 32195:0x07dc3 | | | -
| | | | | | | | System indicator
| | +-----+ | 32194:0x07dc2 | | | -
| | | | | | | | Beginning low cylinder number
| | +-----+ | 32193:0x07dc1 | | | -
| | | | | | | | Beginning sector and high cylinder number
| | +-----+ | 32192:0x07dc0 | | | -
| | | | | | | | Beginning head number
| | +-----+ | 32191:0x07dbf | | the 1st partition:16 bytes -
| | | | | | v v Boot indicator
| | +-----+ | 32190:0x07dbe | - - -
| | | ... | | (512 bytes places mbr) v
| | +-----+ | 31744:0x07c00, 0x007c0:0x0000, 0x00000:0x7c00. mbr from here.-
| | | | |
| | +-----+ | 31743:0x07bff
| | | ... | |
| | +-----+ | 01280:0x00500
| | | | |
| | +-----+ |
| | | ... | |
| | +-----+ |
| | | | |
| | +-----+ |
| | | ... | |
| | +-----+ | 01024:0x00400
| | | | |
| | +-----+ | 01023:0x003ff
v v | ... | v
------+-----+--- 00000:0x00000
初始化分区
在引导扇区中有一块区域存放分区信息。在编写主引导程序的时候可以对分区进行初始化。当然也可以在主引导程序中不对磁盘分区进行初始化,而在后面,如进入内核程序执行时对它进行初始化。
读取分区信息
根据分区信息在分区上建立文件系统。
分区盘符
盘符是windows系统中常见的概念。它其实就是一个分区。
内核加载并执行后,最好将磁盘分区表将主引导扇区移动到内核位置,以便内核加载读取磁盘分区表,并根据磁盘分区表加载文件系统。移动到内核位置也比较安全。
文件系统
文件系统格式
FAT
https://www.iteye.com/blog/lobin-2433943
EXT
https://www.iteye.com/blog/lobin-2311779
什么时候建立文件系统?
系统安装的时候就应该根据磁盘分区表在各个分区上建立文件系统。
建立文件系统的过程其实就是对磁盘进行一次格式化。也就是上面提到的软格式化。
文件系统操作
FAT
EXT
文件系统接口
相关推荐
### Python文件批量重命名实战教程:os模块应用,高效办公技巧 #### 一、引言 随着数字化时代的到来,我们日常工作中需要处理大量的文件。如何有效地管理这些文件,特别是当涉及到大量的文件重命名时,成为了许多...
6. 备份与恢复:一些高级的文件系统会包含备份策略和恢复机制,以防止数据丢失。 7. 文件缓存:为了提高性能,文件系统通常会使用缓存技术,将最近或最常访问的文件内容暂存到内存中。 8. 日志记录:日志文件系统...
Mac OS X Lion(美洲狮)是苹果公司推出的一款操作系统,属于Mac OS X系列的第8个主要版本,其内部版本号为10.7。Lion在2011年发布,带来了许多新的特性和改进,旨在提升用户体验和性能。以下是关于Mac OS X Lion ...
6. **调整与优化**:在SSD上运行操作系统后,可能需要进行一些额外的优化,如禁用硬盘碎片整理(SSD不需要)、启用TRIM支持等,以充分利用SSD的性能。 标签“系统迁移”进一步确认了该软件的核心功能。在实际操作中...
Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。 ...
"基于Python批量修改文件后缀脚本"的主题聚焦于如何利用Python来高效地改变大量文件的扩展名,这对于数据处理、文件整理或者系统维护等工作场景非常有用。下面我们将详细探讨这个话题。 首先,Python提供了强大的...
这篇总结将围绕操作系统的核心知识点进行深入探讨,包括操作系统的基本概念、体系结构、进程管理、内存管理、文件系统、设备管理和调度算法等方面。 一、操作系统基本概念 操作系统(Operating System,简称OS)是...
3. 修理和备份属性文件:属性文件存储了系统和应用程序的配置信息。随着时间的推移,这些文件可能会损坏,导致系统或应用出现问题。定期备份这些文件,并在出现问题时进行修复或还原,是维护工作的一部分。 4. 清理...
"HCIA鸿蒙设备开发认证习题整理1" 本资源摘要信息对应的知识点主要涉及到HarmonyOS设备开发认证的相关知识领域,涵盖了操作系统、编程语言、开发工具、设备驱动、软件开发等方面。 一、操作系统 * HarmonyOS设备...
通过标签系统,用户可以更轻松地整理和查找文件,解决了文件管理混乱的问题。 3. 多显示支持:Mavericks改进了对多显示器的支持,让用户在第二个显示屏上能显示更多内容,提升了多任务处理能力,尤其适合需要大屏幕...
文档中包含了大量与嵌入式系统相关的专业术语和概念,以下是一些知识点的整理: 1. 嵌入式系统的基础知识:包括嵌入式系统的定义、特点、组成和开发流程。 2. 微处理器和微控制器:如8086、ARM7、MIPS、AVR、ARM9...
标题“OS_chapter1.rar”表明这是一份关于操作系统(Operating System, OS)的资料,章节为第一章。根据描述“笔记整理”,我们可以推测这可能是某位学习者或教师整理的操作系统基础理论的笔记,可能包括了概念解释...
根据给定文件的信息,以下是关于Galileo操作系统信号界面控制文档(Galileo_OS_SIS_ICD_v2.0)的知识点整理: 1. 文件背景与用途:文件标题为“Galileo_OS_SIS_ICD_v2.0.pdf”,代表这是一份关于欧洲伽利略全球导航...
尽管Mac OS X采用了先进的文件系统,通常不需要像Windows系统那样频繁地进行磁盘碎片整理,但在某些情况下还是有用的。例如,对于经常被频繁写入和删除的大文件,定期进行磁盘碎片整理可以提升性能。 #### 五、修复...
【标题】"精选_毕业设计_基于JAVA的文件系统_完整源码"是一个与Java编程相关的项目,旨在实现一个基于Java的文件系统。这个文件系统可能是为了模拟或增强操作系统的文件管理功能,允许用户创建、读取、更新和删除...
6. **整理硬盘碎片**:通过磁盘碎片整理工具,优化硬盘读写效率,有助于提升系统运行速度。 7. **清理注册表**:尽管注册表清理存在风险,但适当清理无用的注册表项可以帮助优化系统性能,不过操作时需谨慎。 进行...
4. **清理磁盘碎片 (Defragment)**: Mac OS X使用HFS+文件系统,通常不需要手动整理磁盘碎片。但是,如果你发现系统运行缓慢,可以使用磁盘工具进行“优化存储”,这有助于整理文件布局。 5. **修复磁盘权限**: ...
这本书的解答部分被整理成四个PDF文件,分别对应不同的章节,包括第1-2章、第3章、第4-5章以及第6-8章的内容。这些PDF文件为学习者提供了深入理解操作系统概念和机制的机会。 首先,让我们来探讨操作系统的基本概念...