博客专栏  >  架构   >  秒扒Linux

秒扒Linux

Linux源码学习与研究,共享知识

关注
0 已关注
20篇博文
  • Linux内核头文件

    Linux内核根据与体系结构的关系,可以分为以下三大类头文件:1.<linux/xxx.h>:Linux内核标准头文件,与体系结构无关,位于内核源码顶层include目录中...

    2018-06-13 11:54
    16
  • linux/init/main.c(一)

    include头文件部分#define DEBUG /* Enable initcall_debug */ #include <linux/types.h> #incl...

    4天前 17:07
    16
  • Linux __setup与early_param

    #define __setup_param(str, unique_id, fn, early) / static char __setup_str_##unique_i...

    4天前 17:25
    10
  • Linux源码研究 - 初识Linux

    官网https://www.kernel.org/源代码结构arch目录:包含了所有硬件体系结构特定的内核代码,每种硬件平台占一个相应的目录。在x86体系结构下,包括kernel、mm、lib等子目录...

    2018-05-04 08:44
    77
  • Linux源码研究-Documentation/process/stable-api-nonsense.rst

    这里会解释为什么Linux没有二进制的内核接口,也没有稳定的内核接口。注意这描述的是内核内部的接口,而不是内核面向用户空间的接口,而面向用户空间的内核接口是非常稳定的。只有古怪的人才会想写一个不用担心...

    2018-05-04 09:45
    27
  • Linux源码研究-用户和管理员手册-release 4.x

    什么是LinuxLinux是Unix操作系统的克隆,由Linus Torvalds及通过网络组织在一起的团队开发,目标是遵循POSIX和单一Unix规范。它有Unix的所有特性,包括多任务、虚拟内存、...

    2018-05-04 13:18
    20
  • Linux源码研究-用户管理员手册-内核命令行参数

    下面的列表是__setup(), core_param()和module_param()宏实现的内核参数,内核从命令-开始解析参数,如果参数不被识别,也不包含“.”,参数会被用来启动,含“=”的参数会...

    2018-05-04 15:40
    49
  • Linux源码研究-内核开发-内核编码风格

    1) 缩进--------------制表符是 8 个字符,所以缩进也是 8 个字符。有些异端运动试图将缩进变为 4 (甚至2!) 字符深,这几乎相当于尝试将圆周率的值定义为 3。理由:缩进的全部意义...

    2018-05-04 17:07
    23
  • Linux内核研究-内核开发-PGP

    Linux内核开发中的PGP角色PGP帮助确保Linux内核社区的代码完整性,通过PGP签名邮件交换来在开发者间建立可信通信。Linux内核代码发布成两种主要格式:分布式源码库(git)周期性发布的快...

    2018-05-07 09:37
    17
  • Linux源码研究-内核开发-原理相关文档索引

    Linux内核树中的文档Sphinx book , make {htmldocs | pdfdocs | epubdocs}在线文档Linux内核邮件列表索引https://kernelnewbies...

    2018-05-07 10:10
    23
  • Linux源码研究-内核开发-魔数

    使用魔数来保护内核数据结构是一个非常好的主意,这就允许你在运行期检查一个结构是否已经被攻击,或者你已经给一个例行程序通过了一个错误的结构。使用魔数值的方法是在结构的开始处声明的,如下:struct t...

    2018-05-07 10:44
    34
  • Linux源码研究-内核开发-volatile类型

    C程序员通常认为volatile表示某个变量可以在当前执行的线程外被改变,因此在内核中用到共享数据结构时,常常会有C程序员使用volatile这类变量,然而在内核中使用volatile几乎总是错误的。...

    2018-05-07 11:14
    28
  • Linux源码研究-内核开发工具-Coccinelle

    Coccinelle是一个文本模式转换的正则式匹配的工具。获取Coccinelle大部分Linux分支版本都有这个工具。DebianFedoraUbuntuOpenSUSEArch LinuxNetB...

    2018-05-07 13:31
    38
  • Linux内核研究-内核开发工具-Sparse

    Sparse是C语言的语义检查器。类型检查"__bitwise"是一个类型属性,所以你需要这么做:typedef int __bitwise pm_request_t; enum...

    2018-05-07 15:15
    21
  • Linux内核研究-内核开发工具-kcov

    代码覆盖率(Code Coverage)是反映测试用例对被测软件覆盖程序的重要指标,kcov是用于随机测试中合适表达代码覆盖率的一种工具。前置需求内核需要配置CONFIG_KCOV=yCONFIG_K...

    2018-05-08 15:13
    29
  • Linux内核研究-内核开发工具-gcov

    gcov是一个GCC使用的覆盖测试的工具,为了获得特定文件的覆盖结果,需要改变内核编译的目录和使用-o选项。# cd /tmp/linux-out # gcov -o /sys/kernel/debu...

    2018-05-08 16:05
    28
  • Linux内核研究-内核开发工具-KASAN

    Kernel Address Sanitizer是一个动态内存错误检测工具,常用来发现用后释放和越界的bug。使用在内核中启用KASANCONFIG_KASAN = y然后从CONFIG_KASAN_...

    2018-05-08 16:22
    39
  • Linux源码研究-内核开发工具-UBSAN

    Undefined Behavior Sanitizer,用于运行时未定义行为检测。UBSAN使用编译时指令来获取未定义行为。编译器插入代码,在可能引起UB的操作之前运行某类检查,如果失败,会调用__...

    2018-05-08 16:28
    32
  • Linux源码研究-内核开发工具-Kmemleak

    Kmemleak提供一种类似追踪垃圾回收的方式进行内存泄露检测方法。用法需要启用CONFIG_DEBUG_KMEMLEAK显示所有可能的内存泄露:# mount -t debugfs nodev /s...

    2018-05-08 16:42
    20
  • Linux源码研究-内核开发工具-gdb

    gdb提供了一个python的脚本接口,内核提供了一些有用的脚本用来简化内核的调试步骤。设置为QEMU/KVM创建一个虚拟机。编译内核时启用CONFIG_GDB_SCRIPTS,但不要启用CONFIG...

    2018-05-08 16:53
    24

秒扒GIS
4103
秒扒Dubbo
5348123
秒扒Spring
5616378
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部