linux内核开发程序风格

变量命名法

这里是linux不是windows,所以匈牙利命名法是不允许使用的,在内核中,局部变量只要可以明确表达自己的意思,可以使用idx,i这种名字的id,

全局函数和变量需要有表达性的名字例如get_active_name 之类的都是允许使用的。

空格的使用

在关键字周围使用空格

关于注释的使用

函数的注释应该表达这个函数做了什么,为什么做,而不是像以前一样写一大段这个程序怎么写的(这个问题我以前在写注释的时候出现过,实在是不应该)

关于测试内核

可以利用kgdb 来测试,这是一个补丁,运行了 这个补丁的机器可以通过电缆连接另一台机器,在另一台机器上对这台机器进行调试。

参考书籍

《LINUX内核设计与实现》

原文地址:https://www.cnblogs.com/DLLstart/p/10380986.html

时间: 2024-08-30 10:28:05

linux内核开发程序风格的相关文章

编码风格——linux内核开发的coding style

总结linux内核开发的coding style, 便于以后写代码时参考. 下面只是罗列一些规则, 具体说明可以参考: 内核源码(Documentation/CodingStyle) 01 - 缩进 缩进用 Tab, 并且Tab的宽度为8个字符 swich 和 case对齐, 不用缩进 switch (suffix) { case 'G': case 'g': mem <<= 30; break; case 'M': case 'm': mem <<= 20; break; cas

如何参与Linux内核开发(转)

本文来源于linux内核代码的Document文件夹下的Hoto文件.Chinese translated version of Documentation/HOWTO If you have any comment or update to the content, please contact theoriginal document maintainer directly.  However, if you have a problemcommunicating in English yo

Linux内核开发进阶书籍推荐(不适合初学者)

Linux内核开发进阶书籍推荐(不适合初学者) 很早之前就想写一篇文章总结一下Linux Kernel开发的相关资料,项目的原因,再加上家里的一些事情,一直没能找到闲暇,今天终于有些时间,希望可以完成这篇文章吧.首先需要说明的是不是所有的人都需要搞内核开发,因为据笔者了解,大部分的软件工程师的工作都在用户态开发,学习内核开发事倍功半,没什么实际意义,另外,初学编程的人也不太适合搞内核开发,因为信息量相对比较大,而且枯燥晦涩,很容易让初学者还没有入门,就已经放弃了,再有就是不想投入时间,总是试图走

Linux 内核开发—内核简单介绍

内核简单介绍 Linux 构成 Linux 为什么被划分为系统空间和内核空间 隔离核心程序和应用程序,实现对核心程序和数据的保护. 什么内核空间,用户空间 内核空间和用户空间是程序执行的两种不同的状态,Linux对自身软件系统进行了划分,一部分核心的软件独立于普通的软件,拥有特权级别,可以訪问平台的全部硬件和资源,称为"内核空间".而普通的软件执行在"用户空间",它仅仅拥有有限的系统资源,不能直接訪问内核空间和硬件资源. 将系统分为"内核空间"和

Linux内核开发 — 进程调度

本节简单介绍内核开发中,进程调度的相关知识点. 什么是进程调度 进程调度就是在已经就绪的进程中选择一个最合适的进程执行的过程. 进程调度策略 实时类调度策略 非实时类调度策略 进程调度时机 主动式抢占 当前进程因为需要等待资源等原因主动放弃执行权限,主动要求切换到下一个进程执行. 主动放弃CPU的例子: current->state = TASK_INTERRUPTIBLE;               schedule(); 被动式抢占 当前进程因为优先级.进程属性等原因被迫让出CPU执行权限

浅谈 Linux 内核开发之网络设备驱动

网络设备介绍 网络设备是计算机体系结构中必不可少的一部分,处理器如果想与外界通信,通常都会选择网络设备作为通信接口.众所周知,在 OSI(Open Systems Interconnection,开放网际互连)中,网络被划分为七个层次,从下到上分别是物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.我们所讲的网络设备也包括两个层次,一层叫做 MAC(Media Access Control)层,对应于 OSI 的数据链路层:另一层叫做 PHY(Physical Layer)层,对应于物

Linux内核开发基础

1.Linux内核简介 1.1.Linux系统如何构成 内核空间(Kernel Space)+用户空间(User Space) 用户空间 = 用户程序 + C语言库(例如:GNC C Library) 内核空间 = Kernel + 系统调用接口(System Call Interface) + 体系结构相关代码 Linux系统被划分用户空间 内核空间 原因? 现在CPU实现不同的工作模式,以ARM为例 A.用户模式(usr) B.系统模式(sys) C.外部中断模式(irq) D.管理模式(s

Linux 内核开发 - 进程空间

1.1 虚拟内存 Linux 是一个多任务的系统,如果每个任务都独立的占用内存,则实际的物理内存将很快消耗殆尽,实际上对于前台正在运行的任务来说,所需要要的内存并不多,很多任务基本不需要运行,也就没有必要一直占用内存,虚拟内存技术采用硬盘来充当一部分内存,当内存不足时就将不需要在内存中使用的数据搬移到硬盘中去,当任务需要运行时又将硬盘中的数据搬回物理内存. 虚拟内存技术不仅起到了保护操作系统的作用,而且使得用户程序可以使用到比实际物理内存更大的地址空间,屏蔽了实际物理内存对用户地址空间的影响.

Linux 内核开发——内核简介

内核简介 Linux 构成 Linux 为什么被划分为系统空间和内核控件 隔离核心程序和应用程序,实现对核心程序的保护,如保护操作系统本身的保护. 什么内核空间,用户空间 内核空间和用户空间是程序运行的两种不同的状态,Linux对自身软件系统进行了划分,一部分核心的软件独立于普通的软件,拥有特权级别,能够访问平台的所有硬件和资源,称为"内核空间".而普通的软件运行在"用户空间",它只拥有有限的系统资源,不能直接访问内核空间和硬件资源. 将系统分为"内核空间