Linux内核设备模型(4)
译者:郭少悲
2009/12/02
原文:linux/Documentation/driver-model/class.txt
设备类
介绍
~~~~
一个设备类描述了一类的设备,例如语音设备或者网络设备。下面是已定义的设备类:
<Insert List of Device Classes Here>
每个设备类定义了一套语法和设备遵循的编程接口。设备驱动就是为特定总线上的
特定设备而完成的这套编程接口实现。
对于一个设备驻足在哪个总线上,设备类是不可知的。
编程接口
~~~~~~~~
设备类的数据结构如下:
typedef int (*devclass_add)(struct device *);
typedef void (*devclass_remove)(struct device *);
struct device_class {
char * name;
rwlock_t lock;
u32 devnum;
struct list_head node;
struct list_head drivers;
struct list_head intf_list;
struct driver_dir_entry dir;
struct driver_dir_entry device_dir;
struct driver_dir_entry driver_dir;
devclass_add add_device;
devclass_remove remove_device;
};
一个典型的设备类类似如下定义:
struct device_class input_devclass = {
.name = "input",
.add_device = input_add_device,
.remove_device = input_remove_device,
};
每个设备类数据结构放在一个头文件里导出,因此它能够被驱动,扩展程序和接口
使用。
内核里设备类的注册和注销函数接口如下所示:
int devclass_register(struct device_class * cls);
void devclass_unregister(struct device_class * cls);
设备
~~~~
当设备绑定到驱动上,它就会被添加
相关文档:
使用linux动态链接库:
在Unix上存在两种库:动态库(.so)和静态库(.a),采用动态库(共享对象)技术可以方便程序间共享,节省程序占有空间,增加程序的可扩展性和灵活性。
操作动态库的函数在dlfcn.h文件中定义,所以要在使用动态库时include <dlfcn.h>
&n ......
一.资源需要:
至少1024 MB物理内存
1024-2048 需1.5倍的交互空间
2048-8192 需1倍的交互空间
8192- 需0.75倍的交互空间
至少400 MB /tmp 临时目录空间
oracle软件需要1.5 GB 到 3.5 GB 磁盘空间
默认数据库需要1.2 GB
二.查看系统资源相关语 ......
Top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sleeping, 0 stopp ......