Loading and Initialization

As mentioned previously, all of the file I/O components will be loaded in high memory and will execute in protect mode. The ability to allocate high memory and switch in and out of protected mode will be supported through the VMM.

Windows 95 will support the loading of VxDs that are compatible with Windows 3.x. It will also support an enhanced VxD module that may be dynamically loaded and unloaded, and supports swappable memory objects.

The IFS components are started by loading the module that contains the IFS Manager. The FSDs must be loaded after the IFS Manager. There is no direct linkage from the IFS Manager to the FSDs. Instead the FSDs are linked to a registration entry point in the IFS Manager when they are loaded. The FSDs are required to call this registration routine during their initialization and pass a list of their entry points. The IFS Manager entry point is exported as a VxD service. The FSDs are linked to this entry point through a delayed runtime linkage mechanism.

The FSDs will be loaded and initialized when the system starts up. Once they are loaded they will remain loaded until the system hardware is shutdown or rebooted. As discussed above, the swapping of pages in virtual memory is expected to occur.

The IFS Manager and FSDs are initialized through the VxD initialization routine. These routines allow multiple levels of initialization. The FSD does not provide an initialization entry point to the IFS manager.