zoukankan      html  css  js  c++  java
  • Linux设备驱动程序学习笔记(一)

    1.设备驱动程序扮演的角色:
           设备程序是一个独立的“黑盒子”,使其某个特定硬件响应一个定义良好的内部编程接口,这些接口完全隐藏了设备的工作细节。用户的操作通过一组标准化的调用执行,而这些调用独立于特定的驱动程序。将这些调用映射到作用于实际硬件的设备特有操作上,则是设备驱动程序的任务。
    2.驱动程序的作用:
            驱动程序应该处理如何使用硬件可用的问题,而将怎样使用硬件的问题留给上层应用。(提供机制,而不是策略)
    3.内核功能划分:
            进程管理    内存管理    文件系统    设备控制    网络功能
    4.设备的分类:
            字符设备    块设备        网络接口
    5.安全策略:
            驱动程序编写者应当尽量避免在代码中实现安全策略。安全策略问题最好在系统管理员的控制之下,由内核的高层来实现。
    6.内核栈:
            内核具有非常小的栈,它可能只和一个4096字节大小的页一样。
    7.模块相关:
            make       编译模块
            insmod    加载模块
            rmmod    移除模块
            dmesg    显示printk打印的数据

    8.两个make教程:

      1).http://blog.csdn.net/haoel/article/details/2886

      2).http://www.gnu.org/software/make/manual/make.html

    9.Linux设备驱动程序第三版实例:

          https://github.com/alants56/ldd3-examples-3.x

    10.一些感受:

      学习了差不多有一周的时间了,总体感觉有些模糊。主要的原因是对于一些linux相关知识和经验的欠缺。但相比于去年(去年看了前几章就放弃了)有很大的进步了。不管什么方面的技术,入门是需要一些时间的。如果有相关的好一点的入门视频或者有老师指点,会事半功倍的。

      

  • 相关阅读:
    CCF-CSP-201803-3 URL映射
    CCF-CSP-201803-2 碰撞的小球
    CCF-CSP-201803-1 跳一跳
    SSH协议基础学习
    关于Kali-linux2019.4系统安装后乱码问题
    git版本控制工具学习--修改分支名字
    Git版本控制工具操作学习系列-克隆项目
    python函数int()转型报错
    Centos关机与重启命令收集学习
    Git commit 提交规范 & 规范校验
  • 原文地址:https://www.cnblogs.com/alants/p/4385616.html
Copyright © 2011-2022 走看看