操作系统实验—设备管理

操作系统实验—设备管理

所有实验源码:

gitee:https://gitee.com/infiniteStars/os-project

github:https://github.com/helloworldzsq/OSproject

1. 实验内容

1、分析、设计与实现一个可读写的字符设备驱动程序,并作为可装入模块加载到系统中去。

2、设计相应的示例程序,在用户进程中对该设备驱动程序进行的功能进行测试验证。

2. 实验要求

(1)Linux 设备驱动程序的设计与实现(包括内核模块初始化/退出函数以及设备各类操作功能函数);

(2)相应的设备驱动测试例程的设计实现,或设备驱动测试所用的现有应用程序的相关功能关联分析说明;

(3)设备驱动的测试验证,包括设备驱动加载和卸载操作、设备基本信息显示、设备驱动运行全过程内核信息输出以及测试例程自身运行的结果截屏。

3. 实现方法

1.第一种方法

参考文章:https://blog.csdn.net/sandalphon4869/article/details/105900817

缺点

  • 需要修改代码(已经在下面给出了修改方法)
  • 写的时候不能从键盘上输入
1. 修改 rwbuf.c
//参考文章代码
static int __init rwbuf_init()
static void __exit rwbuf_exit()

//修改之后
static int __init rwbuf_init(void)
static void __exit rwbuf_exit(void)
2.实验结果
  • Makefile编译完产生的文件

image-20211216145857123

  • 运行读写测试程序

image-20211216150023370

  • 卸载设备驱动程序

image-20211216150219394

​ 在写操作成功之后,卸载驱动程序。再进行读操作就会报错。

  • 使用dmesg命令来查看驱动程序的状态

image-20211208205231412

2.第二种方法(推荐)

参考文章:https://blog.csdn.net/oax_knud/article/details/117125865

这篇博客解决了上一篇博客的缺点,既不用修改代码,也能从键盘输入。

1. 实验结果
  • Makefile编译完产生的文件

image-20211222112417909

  • 测试写程序

image-20211222112621106

  • 测试读程序

image-20211222112642113

  • 测试删除文件

image-20211222112745863

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值