What happens to file systems during system boot

xiaoxiao2021-03-06  65

What happens to file systems during system boot

During the system boot process, the file system is initialized; especially during the I / O system initialization. I / O Manager creates Global File System Queue and initializes file system Filter Driver loaded by OS Loader and PNP Manager.

System (OS) Loader and The PnP Manager.

FOLLOWING IS A Summary of Slected Portions of The System Boot Process That of Interest To File System and Filter Driver Developers.

1 In the system boot process, OS Loader loads Boot File System, Raw File System, and all service_boot_start type drivers before its conversion controls to the kernel. These Driver is already in memory when the kernel gets control.

Driver is loaded in the order specified in Load ORDER Groups. In the file system file, those specified by a new file system Filter Driver Load ORDER Group program are loaded by other Filter Driver. See the File System Filter Driver Load ORDER Groups for details on these Load Order Groups.

Next (then), all the Filter specified in the Load ORDER Group is load. Note: "Filter" Groups also includes Storage Filter, not just file system Filter, but also includes third-party Filter Driver, not just build-in (built) Filter Driver.

2 IO Manager Create a global file system queue with 4 segments: CD-ROM, Disk, Tape, and Network File System. In the future, when each file system is registered, their ControlD Device Object is added to the Segment of the corresponding queue. However, here, there is no file system to be registered, so this is empty. Pnp Manager calls all service_boot_start types Drivers and RAW File System DriveRETRY routines. If the service_boot_start type Driver needs to rely on other Drivers, it is best to be loaded and started.

3 PNP Manager launches Boot Device by calling Boot Device Driver's AddDevice routine, if a boot device has a child device, these sub-device will be enumerated. If these sub-devices are boot-start type Driver, they will also be configured and started. If the driver of a device is not all Boot-Start type, PnP Manager creates a devNode for this device, but does not start it.

At this point, all Boot Driver is loaded, and Boot Device is started.

4 PNP Manager Checks the PNP Device Tree discovers and loads the Driver that is associated with devNode but has not yet run. When each PNP Device is started, the PNP Manager enumerates the sub-device of the device. PNP Manager configures these sub-devices, configures the child devices, loads their device drivers, and launches them. Pnp Manager loads each device driver does not depends on these Driver's StartType, LoadOrderGroup, or dependent VALUES. In this step, PNP Manager is only configured and started to be enumerated. If a device cannot be enumerated, PNP Manager will ignore these devices and will not enumerate their sub-devices, although their sub-devices can be enumerated by PNP.

5 PNP Manager loads and initializes the drivers of the service_system_start type that have not been loaded from this yet. FSREC is loaded at this time. Note that although FSREC is in "Boot File System" Load ORDER Group, FSREC is not boot file system, the actual boot file system is file system by mounted to Boot Volume. The file system is loaded during the boot process.

Later, in the service_system_start phase, those file systems in "File System" Load ORDER Group are loaded, they include the Name Pipe File System (NPFS) and Postal File System (MSFS), but does not include any media type file system, Such as NTFS, FAT, CDFS, UDFS.

The network file system is in "NetWord" Load ORDER Group, which is also loaded at this stage.

6 After all boot drivers are initialized, IO Manager calls all Driver's Reinitialization routines. The Reinitialization routine is a Callback routine registered by Boot Driver, one requires additional processing in this place during boot process. Reinitialization is registered by calling ioreGisterDriverReinitialization or ioreGisterDriverReInitialization.

7 The Service Control Manager loads the driver for the service_auto_start type that has been loaded.

FILE SYSTEM Recognizer (file system recognizer)

After the system boot, all Storage Device Driver, which is attached to the system's Volume is loaded and started, however, not all built-in file systems are loaded, nor

Some file system volume is mounted. FSREC executes these tasks and needs to process IRP_MJ_CREATE requests. FSREC is plus service_system_start during system startup

Loading, pay attention, although FSREC is in "Boot File System" Load ORDER Group, however, fsrec is not boot file system, actually boot file system is

Boot File Ststem mounted in the file system loaded during the boot process

转载请注明原文地址:https://www.9cbs.com/read-106515.html

New Post(0)