3.2. Kobj的工作流程
上一页 | 第 3 章 内核对象 | 下一页

## 3.2. Kobj的工作流程

### 译者注:

这一小节两段落中原作者的用词有些含混， 请参考我在括号中的注释阅读。

Kobj工作时，产生方法的描述。每个描述有一个唯一的标识和一个缺省函数。 某个描述的地址被用来在一个类的方法表里唯一的标识方法。

构建一个类，就是要建立一张方法表，并将这张表关联到一个或多个函数(方法)； 这些函数(方法)都带有方法描述。使用前，类要被编译。编译时要为这个类分配一些缓存。 在方法表中的每个方法描述都会被指派一个唯一的标识， 除非已经被其它引用它的类在编译时指派了标识。对于每个将要被使用的方法， 都会由脚本生成一个函数(方法查找函数)，以解析外来参数， 并在被查询时给出方法描述的地址。被生成的函数(方法查找函数) 凭着那个方法描述的唯一标识按Hash的方法查找对象的类的缓存。 如果这个方法不在缓存中，函数会查找使用类的方法表。如果这个方法被找到了， 类里的相关函数(也就是某个方法的实现代码)就会被使用。 否则，这个方法描述的缺省函数将被使用。

这些过程可被表示如下：

对象->缓存<->类

上一页 | 上一级 | 下一页
第 3 章 内核对象 | 起始页 | 3.3. 使用Kobj

本文档和其它文档可从这里下载： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读 文档，如不能解决再联系 <questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.