高级OS(十四) - 编写字符设备驱动程序

本文详细解答了关于Linux字符设备驱动程序的6个关键问题,包括系统调用如何陷入内核、file_operations结构体成员含义、设备读写方式、主次设备号的作用、驱动注册注销函数的功能以及simple_char_init方法的用途。实验中,作者通过编写和调试驱动程序,展示了从用户进程到设备控制器的数据传输过程,并提供了调试结果。
摘要由CSDN通过智能技术生成

一.题目

做实验楼的实验21(https://www.lanqiao.cn/courses/2610/learning/?id=43496),编写并调试一个驱动程序,从用户进程–>系统调用–>文件系统–>驱动程序–>设备控制器–>设备,这几个层次,把几个方面穿起来,一环套一环请提出6个问题,一定要深入到内核代码,不能是表面的概念性的问题,尤其涉及到驱动程序的执行流程,并给予回答。最后给出驱动程序的调试结果并截图。

二.解答

实验

(1)make并通过insmod插入模块
在这里插入图片描述
dmesg查看,可以看到已经成功注册字符设备,my_demo_dev是设备名,主设备号是237,次设备号是0。
在这里插入图片描述
生成的设备需要在/dev下生成对应的节点,使用mknod,并通过ll查看dev目录。
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值