首页 理论教育 操作系统实现之路:设备对象类型

操作系统实现之路:设备对象类型

时间:2023-10-21 理论教育 版权反馈
【摘要】:DEVICE_TYPE_NORMAL:普通设备对象,所有不属于上述类别的设备,都属于普通设备对象。当设备驱动程序加载完毕,IOManager会根据设备的类型来决定是否进行进一步的初始化。针对存储设备,IOManager会尝试使用系统中已安装的文件系统来初始化这个设备。比如,针对硬盘,操作系统会调用已安装文件系统的CheckPartition函数,让文件系统驱动程序去检查该存储设备是否被格式化成了对应的文件系统。

操作系统实现之路:设备对象类型

为了方便管理,把物理设备根据其功能划分成特定的类别,这样就可以对一种设备进行更细致的划分,进而提供更细致的管理和监控。在Hello China当前版本的实现中,把设备分成以下几类:

(1)DEVICE_TYPE_STORAGE:存储设备,能够提供永久存储功能的功能部件,比如软盘、硬盘(基于IDE或SCSI接口)、光盘、USB接口的存储设备等,之所以这样划分,是因为这些设备都需要有文件系统进行支撑。

(2)DEVICE_TYPE_FILE_SYSTEM:文件系统对象,针对系统中存在的每个文件系统,操作系统都创建一个文件系统设备对象。

(3)DEVICE_TYPE_NORMAL:普通设备对象,所有不属于上述类别的设备,都属于普通设备对象。(www.xing528.com)

(4)DEVICE_TYPE_FILE,文件对象,任何打开的文件系统中的文件都被赋予这个对象属性。

当设备驱动程序加载完毕,IOManager会根据设备的类型(存储设备或非存储设备)来决定是否进行进一步的初始化。针对存储设备,IOManager会尝试使用系统中已安装的文件系统来初始化这个设备。比如,针对硬盘(严格来说,应该是硬盘的每个分区),操作系统会调用已安装文件系统的CheckPartition函数,让文件系统驱动程序去检查该存储设备是否被格式化成了对应的文件系统。如果是,则文件系统驱动程序(CheckPartition函数)会调用IOManager提供的AddFileSystem函数,向系统中添加一个文件系统。具体的内容,在第12章中会有详细介绍。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈