Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Which Windows process is responsible for determining the low level space management and allocation?

For example, that the data goes to this block, this segment etc.

share|improve this question

4 Answers 4

up vote 1 down vote accepted

There doesn't seem to be a dedicated file system management process, so I'm pretty sure it's being managed by the Kernel, so it would be the either the "System" process or something hidden managed by the System process. As the file system needs to be managed before the first service boots up, it should be deep in the systems core. (but them again, I don't know the MS source code)

Dedicated Filesystem Management processes would be those for defragmentation.

share|improve this answer

Any 'process' can access the disks via the Windows API if they have permission.

Where the data ends up on the disk (blocks, segments etc.) is determined by the mass storage drivers (which are (usually) kernel-level) and by the drives themselves.

share|improve this answer

I would guess it's the driver ntfs.sys.

share|improve this answer
    
That's the best "very short answer". :) Of course it could be fastfat.sys for a FAT32 partition. If you want to cover more bases, you can say "it's the file system driver, e.g. ntfs.sys or fastfat.sys". –  Jamie Hanrahan Mar 5 at 1:51

It's a series of layers - at least two.

Blocks within each volume (e.g. C:) are managed by the file system driver. (In fact, a good definition of "volume" is "one instance of file system metadata". Each volume defines one and only one root directory \.)

Volume(s) within a physical disk are managed by a partition driver and a volume driver. The volume driver for dynamic disks also implements RAID-1, RAID-5, or RAID-0, i.e. a volume that encompasses several disks.

These drivers are not part of the kernel, though they run in kernel mode.

File system drivers do run some threads in the "System" process, but not everything in a file system driver runs there - some of it (as much as possible) runs in the context of the requesting thread. In none of the above cases are there separate entire processes devoted to managing the blocks within a volume.

With things like Storage Spaces, iSCSI, etc., there are a few more layers. Near the top, though, it is the same: A file system driver that works within the ranges of blocks defined by a volume driver. Again there are no processes dedicated to block management.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.