基本概念:
字符设备 : 以字节为单位进行数据处理,通常只允许按顺序访问 打印机 键盘
块设备 :将数据按可寻址的块为单位进行处理,可以随机访问,利用缓冲技术
网络设备 :每块网卡有名字但没有设备文件与之对应
查看系统中的设备:/proc/devices
主设备号和次设备号:
major number : 相同的设备使用相同的驱动程序 主设备号
minor number : 用来区分具体设备的实例 次设备号
查看设备及其类型“ls -l /dev”
设备文件系统devfs
/dev目录过于庞大,很多设备文件没有对应系统中的设备
devfs根据系统中的实际设备构建设备文件,并按目录存放,如/dev/disk,/dev/pts
用户程序调用:
Fd=fopen("dev/hda",O_RD WR,0);
read(buff,fd,size);
write(buff,fd,size);
close(fd);
Virtual file system General_file_read(); General_file_write();--->块设备文件
建立设备:
#mknod /dev/dev_name type major_number minor_number
见 include/linux/fs.h
PCI设备