linux 设备文件属性
来源:互联网 发布:js select 编辑:程序博客网 时间:2024/06/05 17:28
1.
cd /dev
设备文件(也叫设备节点)点如下:
1 charMemory devices
1 = /dev/memPhysical memory access
2 = /dev/kmemKernel virtual memory access
3 = /dev/nullNull device
4 = /dev/portI/O port access
5 = /dev/zeroNull byte source
6 = /dev/coreOBSOLETE - replaced by /proc/kcore
7 = /dev/fullReturns ENOSPC on write
8 = /dev/randomNondeterministic random number gen.
9 = /dev/urandomFaster, less secure random number gen.
10 = /dev/aioAsynchronous I/O notification interface
11 = /dev/kmsgWrites to this come out as printk's
12 = /dev/oldmemUsed by crashdump kernels to access
the memory of the kernel that crashed.
2.查看当前已经加载的设备驱动程序的主设备号
root@ubuntu:/dev# cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
5 ttyprintk
6 lp
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
99 ppdev
108 ppp
116 alsa
128 ptm
136 pts
180 usb
188 ttyUSB
189 usb_device
216 rfcomm
226 drm
251 hidraw
252 bsg
253 watchdog
254 rtc
Block devices:
1 ramdisk
2 fd
259 blkext
7 loop
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
252 device-mapper
253 virtblk
254 mdp
3.主设备号与次设备号的关系,阅读 linux - 3.1_TQ2416\Documentation\devices.txt文件。可以理解为分类,例如猫,然后分成短毛猫,加菲猫等。
例如:主设备号为19(应该是串口设备吧),设备类型是字符设备,次设备号=文件名
19 char Cyclades serial card
0 = /dev/ttyC0 First Cyclades port
...
31 = /dev/ttyC31 32nd Cyclades port
14 char Open Sound System (OSS)
0 = /dev/mixerMixer control
1 = /dev/sequencerAudio sequencer
2 = /dev/midi00First MIDI port
3 = /dev/dspDigital audio
4 = /dev/audioSun-compatible digital audio
6 =
7 = /dev/audioctlSPARC audio control device
8 = /dev/sequencer2Sequencer -- alternate device
16 = /dev/mixer1Second soundcard mixer control
17 = /dev/patmgr0Sequencer patch manager
18 = /dev/midi01Second MIDI port
19 = /dev/dsp1Second soundcard digital audio
20 = /dev/audio1Second soundcard Sun digital audio
33 = /dev/patmgr1Sequencer patch manager
34 = /dev/midi02Third MIDI port
50 = /dev/midi03Fourth MIDI port
有上面可以知道为什么要有主设备号和次设备号,为了更好的分类。
3.
类unix系统对设备的访问都是基于文件形式的。
在类unix系统中,你要访问一个硬件设备。一般和访问一个普通文件差不多。
因此,/dev下的设备节点就被作为这样的一类特殊文件来存在。
在驱动程序中同样需要实现各种文件的操作调用,如open,release,read,write,ioctl等。
应用程序通过open("/dev/xxx",O_RDWR)这样的代码来打开设备。
驱动程序通过这样的节点向应用程序提供各种服务:如read,write,ioctl等。
一般讲驱动程序开发的书都先讲字符设备驱动,通常是写一个简单的驱动,然后insmod加载模块,mknod创建设备节点。
但是讲到设备文件系统的时候,说2.6内核引进udev设备文件系统,实现动态创建和删除文件节点,就是不用手动去mknod。
为什么就节点,体会一下,例如竹子的节,关节等。
- linux 设备文件属性
- linux文件属性
- linux,文件属性
- Linux文件属性
- linux文件属性
- Linux文件属性
- Linux 文件属性
- Linux文件属性
- linux文件属性
- linux 文件属性
- linux 文件属性
- linux 文件属性
- linux 文件属性
- linux文件属性
- Linux文件属性
- linux文件属性
- Linux文件属性
- linux文件属性
- WebStorm下载地址及常用快捷键
- phpExcel中文帮助手册之常用功能指南
- ajaxfileupload.js在SpringMVC中使用笔记
- 从应用示例来认识Tiny框架
- 认识自己——我需要的2
- linux 设备文件属性
- Android Fragment 真正的完全解析(下篇)
- SVN更新被Locked,Can't open file 'folder/.svn/tmp/text-base/file.svn-base'
- Android中JNI的使用方法
- MATLAB获取“非免驱的相机或者摄像头”的图像数据
- 算法实现筛选出树上符合要求的某一条路径的节点
- android TranslateAnimation类:位置变化动画类
- innodb_data_file_path 参数忘记设置或者重新调整办法
- DBUS 编程总结