分享
 
 
 

What Happens to File Systems During System Boot

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

What Happens to File Systems During System Boot

系统引导过程中,文件系统被初始化;特别是在I/O系统初始化过程中。I/O manager建立global file system queue以及初始化被OS loader和PnP Manager加载的文件系统filter driver。

system (OS) loader and the PnP Manager.

Following is a summary of selected portions of the system boot process that are of interest to file system and filter driver developers.

1 系统boot过程中,OS loader在其转换 控制 到内核之前加载boot file system、RAW file system、以及所有SERVICE_BOOT_START类型的驱动程序,当内核获得控制权的时候这些driver已在内存当中了。

Driver被按照在load order groups中被指定的顺序加载。在文件系统filter中,那些被一个新的文件系统filter driver load order groups指定的filter被先于其他的filter driver加载。关于这些load order groups详细描述,见File System Filter Driver Load Order Groups。

接下来(then),所有在load order group中指定的filter 被load。 注意:“filter” groups还包括storage filter而不仅仅是文件系统filter,而且,还包括第三方的filter driver而不仅仅指build-in(内建)的filter driver。

2 IO Manager 创建一个有4个segment的全局文件系统队列:CD-ROM,disk,tape以及network file system各一个。以后,当每个文件系统被注册时,他们的Controld device object被添加到相应的队列的segment中。然而,至此,还没有文件系统被注册,所以这个对列是空的。PnP Manager呼叫所有SERVICE_BOOT_START类型drivers和RAW file system的DriverEntry例程。如果有SERVICE_BOOT_START 类型的driver需要依赖其他的drivers,最好是这些被依赖的drivers已经被加载并启动了。

3 PnP manager通过呼叫boot device driver的AddDevice例程来启动boot device,如果一个boot device还有子device的话,这些子device会被枚举。假如这些子devices是boot-start类型driver的,他们也会被配置并启动。如果一个设备的驱动程序并不是所有都是boot-start类型的,PnP Manager就会为这个设备创建一个devnode,但并不启动它.

至此,所有的boot driver被加载,boot device被启动。

4 PnP manager检查PnP device tree 发现并加载每个与 devnode 相关联但还没有运行的driver,当每个PnP Device启动后,PnP manager枚举该设备的子设备。PnP Manager配置这些子设备,configures the child devices, 加载他们的设备驱动程序,并启动他们。

PnP Manager加载每个设备的驱动程序并不去管这些driver的Starttype,loadordergroup或者依赖的values。在这一步骤中,PnP manager只配置和启动能被枚举到的device。如果一个设备不能被枚举,PnP Manager将忽略这些设备而且不会再去枚举他们的子设备,尽管他们的子设备能够被PnP枚举到。

5 PnP Manager加载并初始化那些至此还没被加载的SERVICE_SYSTEM_START类型的驱动程序。FsRec就是在此时被加载的。注意,尽管FsRec是在“boot file system”load order group中, FsRec却不是boot file system,实际的引导文件系统是被mounted到boot volume的文件系统。该文件系统在引导过程中被加载。

以后,在SERVICE_SYSTEM_START阶段,那些在”file system“load order group中的文件系统被load,他们包括命名管道文件系统(NPFS)和邮槽文件系统(MSFS),但不包括任何介质类型的文件系统,诸如NTFS,FAT,CDFS,UDFS.

网络文件系统处于“netword” load order group中,也是在这个阶段被load。

6 在所有引导时被加载的驱动程序被初始化后,IO Manager呼叫所有driver都拥有的reinitialization 例程。reinitialization 例程是一个被boot driver注册的callback例程,一个需要在引导过程中的这个地方被附加的处理. Reinitialization通过调用 IoRegisterBootDriverReinitialization or IoRegisterDriverReinitialization来注册。

7 The service Control Manager加载已经被加载的SERVICE_AUTO_START类型的驱动程序。

File System Recognizer(文件系统识别器)

系统引导后,所有被attach到系统的volume的storage device driver被加载并启动,然而,并不是所有的内建的文件系统被加载了,也不是所

有的文件系统volume被mounted了。FsRec执行这些任务还需要处理IRP_MJ_CREATE请求。FsRec在系统启动过程中的SERVICE_SYSTEM_START被加

载,注意,虽然FsRec是在“Boot File System”load order group中,然而,FsRec并不是boot File system,实际的boot file system却是

在引导过程中被加载的文件系统mounted的boot file ststem

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有