易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux设备模型

看LDD3中设备模型一章,觉得思维有些混乱。这里从整体的角度来理理思路。
本文从四个方面来总结一些内容:
1.底层数据结构:kobject,kset.
2.linux设备模型层次关系:bus_type,device,device_driver.
3.集成:PCI设备驱动模型实例及设备,设备驱动注册源码的简单分析.
4.面向对象的思想在linux设备模型中的应用分析.
 
一、底层数据结构:kobject,kset
先说说模型的意义:
总体来说是为了系统地管理所有设备。
 
kobject 
结合面向对象的思维。这个kobject属于最基础的结构,也就是最高抽象层(有点像java中的Cobject类)。任何一个设备模型如总线,设备,驱动都属于一个kobject 。在实现上这种派生关系就是在结构体中包含一个kobject的变量。
这个在层次上处理最顶层的kobject结构提供了所有模型需要的最基本的功能:
1 引用计数  用于内核维护其存在与消亡
2 sysfs表示  每个sys/下的对象对应着一个kobject。
3 热拔插事件处理。 处理设备的热拔插事件。
Kobjects 在内核中对应有一套申请,初始化,添加,注册,计数操作,释放等函数
struct kobject {
 const char  * k_name; 名
 char   name[KOBJ_NAME_LEN];
 struct kref  kref; 计数
 struct list_head entry; 用于连接到同类kobjects的链表
 struct kobject  * parent;  用于实现层次,指向其父对象。
 struct kset  * kset; 用于实现层次,所属的集合
 struct kobj_type * ktype;  指向对象的类型。
 struct dentry  * dentry;  指示在sysfs 中的目录项
 wait_queue_head_t poll;
}; (linux 2.6.18)
Kset 和kobj_type struct kset {
 struct subsystem * subsys;  在最新内核中已经没有subsys概念了。统一用ksets
 struct kobj_type * ktype;   类型。
 struct list_head list;    同一kset的链表
 spinlock_t  list_lock;
 struct kobject  kobj; 自身


相关文档:

linux cpu 硬亲和 和 其他

现在嵌入式也玩多核了。
利用./mpstat -P ALL 1 100 可以来查看cpu的使用情况。
这个是转的一个例子:
在多CPU的趋势越来越大了. 有时候为了更好地操作机器, 需要将某个进程绑定到具体的CPU上去. 下面给出了一个进程绑定到具体的CPU上去的一个例子.
view plaincopy to clipboardprint?
···&midd ......

Linux软件包的安装


Linux软件包,常见的格式包括有rpm,deb,tar,gz,tgz,zip,bz2等等。几乎每个linux软件都会提供tar的格式的软件包,因为这种格式的软件包任何版本的linux都支持,所以大家至少要了解tar和rpm的使用方法。至于deb可用alien工具转换成tgz或rpm方式。bz2可用bunzip2解包即可。
一、RPM文件的安装 
RPM 是RedHat Package ......

当两台LINUX主机之间要互传文件时可使用SCP命令来实现

当两台LINUX主机之间要互传文件时可使用SCP命令来实现
 
复制文件:
(1)将本地文件拷贝到远程
scp 文件名 --用户名@计算机IP或者计算机名称:远程路径
(2)从远程将文件拷回本地
scp --用户名@计算机IP或者计算机名称:文件名 本地路径
复制目录:
(1)将本地目录拷贝到远程
scp -r 目录名 用户名@计 ......

linux下 jdk配置

1.java.sun.com/j2se/1.4.2/download.html">http://java.sun.com/j2se/1.4.2/download.html 下载一个Linux Platform的JDK,建议下载RPM自解压格式的(RPM in self-extracting file,j2sdk-1_4_2_06-linux-i586-rpm.bin); 
2. 上载到Linux服务器上,在shell下执行命令:
[root@ ......

【转】Linux虚拟机下如何共享ADSL拨号上网


 
 
 
【转】Linux虚拟机下如何共享ADSL拨号上网
2010-01-20 11:55
今天在vmware上装了一个Red Hat Enterprise Linux 5,装好之后,我想在虚拟机上共享我的adsl拨号上网,设置过程如下:
  1. 先在adsl连接属性上允许共享Internet连接:
  2.这样做后会弹出一个对话框,告诉你会把本地连接的ip地 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号