linux device model之我见
纪晓岚曾经说:“世间的道理与事情,都在古人的书中说尽,现在如再著述,仍然超不过古人的范围,又何必再多著述。”于是他一生之中,从不著书,只是编书--整理前人的典籍,将中国文化作系统的分类,以便于以后的学者们学习。自己的著作只有『阅微草堂笔记』一册而已。
linux设备模型也是如此,这个东西本来就是老外发明的,而且英文相关资料也足够详实明了,我在此不多赘言,只将资料整理于此。
在Linux Kernel Development(Second Edition),linux device drivers(third edition),Understanding the Linux Kernel(third edition)中都有关于linux device model的章节,其中linux device drivers(third edition)中介绍最为详实,在第十四章。[这三本可以从这里下载]
其实所有关于linux device model的文章不过乎两点,一个是关于Kobjects, Ksets,Ktype,另一个就是关于sysfs,里面会介绍它的device,bus,class等目录。在linux device drivers还有一章14.6. Putting It All Together很好,使我们更加清晰的了解一个设备或驱动注册的整个过程发生了什么。
网路上fudan_abc的复旦人甲曾经在“我是u盘”里也讲过设备模型(在linux内核修炼之道里也有总结),不过感觉幽默有余,而逻辑不足,不如书中讲的好,虽然有些枯燥。
资源差不多都在上面,万千精彩还等你去发现。正巧我在lwn上面发现了一个不错的overview,建议你去看原文,因为上面有几个有用的链接,这里只作摘抄存档。
Driver porting: Device model overview
 
相关文档:
当两台LINUX主机之间要互传文件时可使用SCP命令来实现
复制文件:
(1)将本地文件拷贝到远程
scp 文件名 --用户名@计算机IP或者计算机名称:远程路径
(2)从远程将文件拷回本地
scp --用户名@计算机IP或者计算机名称:文件名 本地路径
复制目录:
(1)将本地目录拷贝到远程
scp -r 目录名 用户名@计 ......
一 三种类型的套接字:
1.流式套接字(SOCKET_STREAM)
提供面向连接的可靠的数据传输服务。数据被看作是字节流,无长度限制。例如FTP协议就采用这种。
2.数据报式套接字(SOCKET_DGRAM)
提供无连接的数据传输服务,不保证可靠性。
3.原始式套接字(SOCKET_RAW)
......
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下getch()和getche()
I would recommend never mixing input techniques in a program. Don't mix fgets() or scanf() with getchar(). Don't mix any standerd C library input function with a non-standard function that bypasses the C stream mechanism, be that getch(), getche(), bioskey(), or anything el ......
在Linux 2.6内核中,devfs被认为是过时的方法,并最终被抛弃,udev取代了它。Devfs的一个很重要的特点就是可以动态创建设备结点。那我们现在如何通过udev和sys文件系统动态创建设备结点呢?
用udev在/dev/下动态生成设备文件,这样用户就不用手工调用mknod了。
利用的kernel API:
&nb ......