没有合适的资源?快使用搜索试试~ 我知道了~
设备管理与模块机制.pptx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 110 浏览量
2021-10-10
17:49:45
上传
评论
收藏 212KB PPTX 举报
温馨提示
试读
26页
设备管理与模块机制.pptx
资源推荐
资源详情
资源评论
1
设备管理与模块机制
基本概念
传统方式的设备注册与管理
devfs 注册与管理
块设备的请求队列
网络设备
模块机制
Linux Device & Module
2
基本概念
字符设备、块设备、网络设备
字符设备以字节为单位进行数据处理,通常只允许按顺序访问
块设备将数据按可寻址的块为单位进行处理,可以随机访问,利用缓冲技
术
网络设备是一类特殊的设备,每块网卡有名字但没有设备文件与之对应
查看系统中的设备: /proc/devices
主设备号和次设备号
major number :相同的设备使用相同的驱动程序
minor number :用来区分具体设备的实例
查看设备及其类型“ ls -l /dev”
设备文件系统 devfs
/dev 目录过于庞大,很多设备文件没有对应系统中的设备
devfs 根据系统中的实际设备构建设备文件,并按目录存放,如 /dev/disk , /
dev/pts
Linux Device & Module
3
基本概念
用户空间
内核空间
I/O请求
设备驱动程序
设 备
ISR
系统调用
ret_from_sys_call
返回,进程继续
Linux Device & Module
4
基本概念
用户程序调用
Fd=fopen(“/dev/hda”,O_RDWR,0); read(buff,fd,size) write(fd,buff,size) close(fd)
Virtual file system
Generic_file_read() Generic_file_write()
块设备文件
建立设备:
#mknod /dev/dev_name type major_number
minor_number
Linux Device & Module
5
VFS 中的文件
include/linux/fs.h
struct file {
……
struct file_operations *f_op;
};
struct file_operations {
loff_t (*llseek)(struct file *,loff_t,int);
ssize_t (*read)(struct file *,char *,size_t,loff_t *);
ssize_t (*write)(struct file *,const char *,size_t,loff_t *);
int(*ioctl) (struct inode *,struct file *,unsigned int,unsigned long);
int(*mmap) (struct file *,struct vm_area_struct *);
int(*open) (struct inode *,struct file *);
int(*release) (struct inode *,struct file *);
int(*fsync) (struct file *,struct dentry *,int datasync);
int(*fasync) (int,struct file *,int); ……
};
Linux Device & Module
剩余25页未读,继续阅读
资源评论
资料大全
- 粉丝: 14
- 资源: 26万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功