【操作系统】实验十 设备驱动程序设计

简介: 【操作系统】实验十 设备驱动程序设计

😘欢迎关注:👍点赞🙌收藏✍️留言

🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢支持!!!

实验十 设备驱动程序设计(二)

一、实验目的

通过分析Linux的USB驱动框架程序(usb-skeleton.c)和USB大规模存储设备驱动程序(usb-storage)的源代码,结合前面的RAMDISK驱动程序,设计开发一个U盘驱动程序。

二、实验内容

(1) 用lsmod命令查询系统中是否已经加载usb-storage的模块,这是Linux系统自带的U盘驱动程序。如果已经加载,则用rmmod命令卸载这个模块。

(2) 编译改装后的radimo程序,要求能编译通过,允许出现编译警告。

(3) 用insmod命令加载改装后的radimo程序。

(4) 插入U盘。要求在用dmesg查看log文件时,能够看到改装的radimo程序发现了U盘。允许你的程序只认识一种或者有限的几种U盘,不要求能够认出市面上所有U盘。

(5) 能够在log文件中显示出U盘的容量。

(6) 用mknod命令建立设备文件,并用mount命令挂接这个U盘的文件系统到/mnt。你的U盘可以预先用Windows格式化好。

(7) 用df命令应该能够看到已经挂接好的U盘。

(8) 用ls /mnt命令应该能够看到U盘中的内容。用cp命令能够将U盘中的任意文件复制到硬盘上。

(9) 用umount命令和rmmod命令清理现场。

三、实验过程记录

  1. 编写驱动模块usb.c,如图1所示。

图1

  1. 编写Makefile文件

图2

  1. 编译 make,如图2所示。

图3

  1. 加载驱动模块 insmod usb.ko,,如图3所示。

图7

  1. 命令mount /dev/sdb /mnt将设备挂载到/mnt,df -h查看是否成功挂载到/mnt,使用 ls /mnt命令可以查看挂载点的内容,如图7所示。

图8

  1. 复制 U 盘中的文件到另一个目录/home/chen/文档/hxq中,可以看到成功复制到该目录下,如图8、9所示。

图9

图10

  1. 卸载模块,清理现场,如图10所示。

图11

四、实验小结

本次实验的目的是通过分析Linux的USB驱动框架程序和USB大规模存储设备驱动程序的源代码,设计开发一个U盘驱动程序。

在实验过程中,首先使用lsmod命令查询系统是否已加载usb-storage模块,如果已加载,则使用rmmod命令卸载该模块。然后编译改装后的radimo程序,要求能够编译通过,允许出现编译警告。接着使用insmod命令加载改装后的radimo程序。

在插入U盘后,使用dmesg命令查看log文件,可以看到改装的radimo程序已经发现了U盘。程序可以只认识一种或有限几种U盘,不要求能够识别所有U盘。同时,在log文件中能够显示出U盘的容量。

接下来,使用mknod命令建立设备文件,并使用mount命令挂载U盘的文件系统到/mnt目录下。U盘可以预先用Windows格式化好。使用df命令可以查看已经挂载好的U盘。

使用ls /mnt命令可以查看U盘中的内容,并使用cp命令将U盘中的任意文件复制到硬盘上。

最后,使用umount命令和rmmod命令清理现场,卸载模块。

通过本次实验,我对Linux的USB驱动程序和设备驱动程序的设计有了更深入的了解,并成功开发出了一个U盘驱动程序。通过这个实验,我进一步提升了我的驱动程序设计和开发能力。

相关文章
|
3月前
|
监控 Linux 开发者
理解Linux操作系统内核中物理设备驱动(phy driver)的功能。
综合来看,物理设备驱动在Linux系统中的作用是至关重要的,它通过与硬件设备的紧密配合,为上层应用提供稳定可靠的通信基础设施。开发一款优秀的物理设备驱动需要开发者具备深厚的硬件知识、熟练的编程技能以及对Linux内核架构的深入理解,以确保驱动程序能在不同的硬件平台和网络条件下都能提供最优的性能。
172 0
|
11月前
|
算法
数据结构实验之操作系统打印机管理器问题
本实验旨在通过实现操作系统中的打印机管理器问题,掌握队列的基本操作如入队、出队等,利用队列的先进先出特性解决先申请先打印的问题。实验包括队列的初始化、入队、出队、打印队列内容等功能,并通过菜单式界面进行交互。实验结果显示基本功能可正常执行,但在连续操作时存在执行失败的情况,需进一步优化。
146 4
|
弹性计算 运维
阿里云操作系统智能助手OS Copilot实验测评报告
**OS Copilot 产品体验与功能反馈摘要** 运维人员发现OS Copilot易上手,文档清晰,助其高效排查故障(8/10分)。愿意推荐并参与开源开发。亮点在于知识问答,能快速筛选答案。相较于竞品,优点是新手友好、文档清晰,但功能扩展性待增强。期望增加系统错误排查与解决方案,并集成ECS等,以优化系统安装流程。
阿里云操作系统智能助手OS Copilot实验测评报告
|
弹性计算 运维 自然语言处理
阿里云操作系统智能助手OS Copilot实验测评报告
OS Copilot是针对Linux的智能助手,助力学习、运维及编程。用户界面直观,自然语言交互方便新手。官方文档详尽,但初次配置略复杂,适合学生和开发者。在提高代码编写和调试效率、系统学习上得分高,功能亮点包括代码生成、问答和命令执行。用户期待更多操作系统支持、自动错误分析和系统排查功能。
299 3
|
弹性计算 人工智能 运维
阿里云操作系统智能助手OS Copilot实验测评报告
阿里云操作系统智能助手OS Copilot实验测评报告
180 2
|
存储 缓存 算法
OS—设备独立性软件
OS—设备独立性软件
414 0
智能卡系统工程是一个涉及多个方面的复杂系统,包括硬件(如读卡器、智能卡)、软件(如读卡器驱动程序、智能卡操作系统和应用软件)以及网络通信等。
智能卡系统工程是一个涉及多个方面的复杂系统,包括硬件(如读卡器、智能卡)、软件(如读卡器驱动程序、智能卡操作系统和应用软件)以及网络通信等。
|
弹性计算 运维
阿里云操作系统智能助手OS Copilot的实验测评报告
OS Copilot 产品体验摘要 用户角色与场景:一位计算机学生使用辅助学习和解决问题,特别是通过代码解释功能加深理解。 易用性与文档:初者可能会觉得有些细节不明确。 帮助程度:用户给予极高评价,对学习帮助大,评分10分,快速定位和解决代码问题,提升学习效率。 推荐与参与:用户愿意推荐给他人。 功能体验:用户尝试了所有功能,对知识问答、辅助编程和命令执行特别感兴趣,尤其是命令执行帮助大。 对比其他产品:OS Copilot优点是便捷、准确。 期望功能:用户希望增加自动报错分析和系统错误排查。 联动体验:用户期待,以实现更全面的工具集。 总结:整体体验积极,用户看好其潜力,期待改进和未来联动。
|
弹性计算 运维 Python
阿里云操作系统智能助手OS Copilot实验测评报告
**OS Copilot 产品测评摘要** - 学生使用,用于学习和编码,发现上手难度较高,指引文档不清晰,特别是Access ID设置和代码复制流程。 - 功能上,评分9分,辅助编程和知识问答功能显著提升了学习效率,减少了错误。 - 愿意推荐,并有兴趣参与开源开发以提升自我。 - 希望增强错误排查,提供具体错误原因和位置。 - 联动ACK智能助手可增强学习效果。 [链接]: https://developer.aliyun.com/topic/instructions-for-os-copilot
|
2月前
|
Web App开发 缓存 Rust

热门文章

最新文章

  • 1
    【独家揭秘2025】VMware Workstation Pro虚拟机:免费安装教程大放送,一键解锁操作系统模拟神器!
    500
  • 2
    【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
    285
  • 3
    追踪隐式资源,巧解内存难题!阿里云操作系统控制台上线
    160
  • 4
    云产品评测|操作系统智能助手OS Copilot新功能获奖名单公布!
    231
  • 5
    Harmony OS开发-ArkTS三
    345
  • 6
    docker快速部署OS web中间件 数据库 编程应用
    211
  • 7
    【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    324
  • 8
    操作系统控制台体验测评
    336
  • 9
    【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    359
  • 10
    【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
    367
  • 推荐镜像

    更多