更新时间:2023-01-02 19:34
操作系统资源用名叫对象的抽象型数据来代表。对象可以代表文件目录和线程进程等任何东西。每个对象含有标识对象描述、访问对象方法等信息。
操作系统的资源都用对象来表示。完成对象的创建、管理、删除等功能的就是对象管理器。操作系统通过对象管理器对资源进行统一的管理,并使用共同的代码操纵它们。
进程、线程和Windows Server 2003执行体的其他部件在需要时可创建对象。而WindowsServer 2003的对象管理器在接到创建对象的系统服务要求后,则要做以下处理:
1、为对象分配内存;
2、给对象分配一个安全描述体,以控制哪些用户可以对该对象访问以及可以进行的操作;
3、创建和维护对象目录表目;
4、创建一个对象句柄并返回调用者。
Windows Server 2003对于对象的管理、组织和操作的模型是基于文件系统的模型。对于对象管理的一个主要方面是对对象名空间的管理。为了管理对象名空间,对象管理器维护一个对象目录系统,每个对象在对象目录中均有相应的表目,整个对象目录是个树形结构。树的根用反斜杠“\u201d表示。叶节点是对象,每个对象有对象名,对象名是供共享进程查询对象句柄使用的,中间节点是对象目录名。对象目录也是个对象。所有进程都可以访问对象名空间。一个进程在创建对象或打开对象句柄时指定对象名,此后进程通过对象句柄访问对象。对象句柄是一个指向进程指定的对象表的索引,该对象表是进程资源集的描述,对象表表目序号为句柄,另外,对象表的表目中还包含有认可的存取权限以及由该进程创建的进程能否继承对象的句柄的信息以及指向对象的指针。由于可以跳过查找对象名的工作,因此使用对象句柄要比使用对象名快。当一个进程打开一个共享对象的句柄时,还需说明操作类型,对象管理器会根据对象的安全描述体审查是否允许该进程使用以及是否允许它进行此类操作。
对象名空间类似文件系统的符号名空间。访问一个对象也使用路径名,路径名的表示方法也与文件系统相同。而且也允许一个对象目录(中间节点)与其他分支上的某个对象(叶节点)进行符号连接,以便于访问。
对象管理器主要具有以下功能:
1、对象管理器提供使用系统资源的公共、一致的机制。
2、把对象保护孤立到操作系统的一个位置,实现安全保护,以达到美国政府的C2安全级。
3、它提供了一种机制来控制进程使用对象,实现了资源的访问控制。
4、对象管理器有一套对象命名方案,能够容易地合并现有对象(比如设备、文件以及文件系统目录等)。
5、对象管理器能支持各种操作系统环境的需要。
6、建立统一的保留规则(也就是说,在所有进程都结束使用某一个对象后,才释放该对象)。