• 第十章 读书笔记


    1、像Linux 驱动这样的内核程序只能使用printk函数输出调试信息。printk函数在printk.c 文件中实现  Printk函数运行在内核空间,printf函数运行在用户空间。

    2、Linux 驱动只在开发阶段使用printk 函数输出消息,在正式友布Linux 驱动时将可能影响性能的printk 函数去掉。当然,最容易想到的方法就是挨个删

    printk 函数或注释printk 函数。但这样做很麻烦,而且以后想加上printk 函数也是同样麻烦。要想控制printk 函数的输出,而且实现起来很方便, 最好的方法无疑是利用C 语言中的编译指令。

        3.Printk函数在控制台显示消息是通过/dev/console设备文件实现的,该设备文件只在字符界面的控制台下才起作用,所以printk函数只有用在字符界面的控制台上才能正常输出消息。

        4.Linux文件系统中,/proc经常被用来作为内核空间与用户空间进行数据交互的工具。/proc文件系统的行为方式与设备文件系统C/dev )类似。/proc 是虚拟文件系统,也就是说了/proc 并不是真正的文件系统,而是内存映射。所有读写/proc操作都是对内存的读写,所以读写/proc 文件系统的速度要远比读写/dev 文件系统的速度快。因此,/proc 文件系统也可作为Linux 驱动与用户

    5.在Linux 系统中提供了一类工具。通过这些工具,可以逐行跟踪程序的代间,就好像可视化开发工具的step into step over 一样。这些工具包含用于调试用户空间程序的gdbgdbserver 和调试内核空间程序的kgdb。用gdb 调试用户空间程序,用kgdb 远程调试内核程序

    6.在Linux驱动程序中可以使用内核函数在/proc目录中创建和删除虚拟文件,也可以建立和删除虚拟目录。

    7.list 命令有如下3 种调用格式,

        (1list:显示上一次调用list 命令输出的最后一行后面的10 行。第一次调用list 命令会显示程序开头的10 行。

        (2list:显示上一次调用list 命令输出的第一行前面的IO 行。第一次调用list 命令什么都不会显示。

        (3list 显示第n 行附近的IO 行, 一般会显示第n 行前面5 行和后面4 行,加上第n 行,正好是10 行。如果前面或后面的行数不足,则只显示实际的行。

  • 相关阅读:
    最大流EK算法/DINIC算法学习
    hdu-3065-AC自动机
    51nod-1636-dp
    nyoj-1316-二分
    HDU-4510-日期
    HDU-2896-AC自动机
    51nod-1385-贪心-构造
    SpringMVC实现Restful风格的WebService
    SpringMVC使用中遇到的问题总结
    Boostrap(3)
  • 原文地址:https://www.cnblogs.com/yue-er/p/5649748.html
Copyright © 2020-2023  润新知