哪个 Windows 进程负责确定低级空间管理和分配?
例如,数据进入这个块、这个段等等。
答案1
似乎没有专门的文件系统管理进程,所以我很确定它是由内核管理的,所以它要么是“系统”进程,要么是系统进程管理的隐藏进程。由于文件系统需要在第一个服务启动之前进行管理,因此它应该位于系统核心深处。(但同样,我不知道 MS 源代码)
专用文件系统管理进程将是用于碎片整理的进程。
答案2
我猜是司机ntfs.sys
。
答案3
如果有权限,任何“进程”都可以通过 Windows API 访问磁盘。
数据最终在磁盘上的位置(块、段等)由大容量存储驱动程序(通常为内核级)和驱动器本身决定。
答案4
它是一系列的层——至少两层。
每个卷(例如 C:)内的块由文件系统驱动程序管理。(事实上,“卷”的良好定义是“文件系统元数据的一个实例”。每个卷定义一个且仅一个根目录\
。)
物理磁盘中的卷由分区驱动程序和卷驱动程序管理。动态磁盘的卷驱动程序还实现 RAID-1、RAID-5 或 RAID-0,即包含多个磁盘的卷。
这些驱动程序不是内核的一部分,尽管它们在内核模式下运行。
文件系统驱动程序确实在“系统”进程中运行一些线程,但并非文件系统驱动程序中的所有线程都在那里运行 - 其中一些(尽可能多)在请求线程的上下文中运行。在上述任何一种情况下,都没有单独的整个进程专门用于管理卷内的块。
对于存储空间、iSCSI 等,还有更多层。不过,最顶层是相同的:文件系统驱动程序在卷驱动程序定义的块范围内工作。同样,没有专门用于块管理的进程。