All Projects → gfreewind → Kernel_comment

gfreewind / Kernel_comment

Licence: other
中文注释说明内核源码

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Kernel comment

Inspector
The Inspector tool is a privilege escalation helper (PoC), easy to deployed on web server, this tool can list process running with root, check kernel version, check history file, get possible exploit ...
Stars: ✭ 119 (-17.93%)
Mutual labels:  kernel
Build
Armbian Linux build framework
Stars: ✭ 1,827 (+1160%)
Mutual labels:  kernel
Knetstat
Simple kernel module to inspect socket options
Stars: ✭ 134 (-7.59%)
Mutual labels:  kernel
Bsodsurvivor
This project aims to facilitate debugging a kernel driver in windows by adding support for a code change on the fly without reboot/unload, and more!
Stars: ✭ 122 (-15.86%)
Mutual labels:  kernel
Mbp Fedora
Stars: ✭ 129 (-11.03%)
Mutual labels:  kernel
Djy Oneplus6 Or Oneplus6t Nethunter Andrax Kernel
DJY Nethunter And Andrax Kernel Oneplus6-Oneplus6T
Stars: ✭ 132 (-8.97%)
Mutual labels:  kernel
Android Usb Gadget
Convert your Android phone to any USB device you like! USB Gadget Tool allows you to create and activate USB device roles, like a mouse or a keyboard. 🛠🛡📱
Stars: ✭ 118 (-18.62%)
Mutual labels:  kernel
Neu Os
Based on linux0.11, break it down, then reassemble (For NEU Lab use)
Stars: ✭ 143 (-1.38%)
Mutual labels:  kernel
Spylon Kernel
Jupyter kernel for scala and spark
Stars: ✭ 129 (-11.03%)
Mutual labels:  kernel
Symstore
The history of Windows Internals via symbols.
Stars: ✭ 133 (-8.28%)
Mutual labels:  kernel
Releases
dahliaOS ISO releases
Stars: ✭ 125 (-13.79%)
Mutual labels:  kernel
Proton Clang
Proton Clang toolchains builds in the form of a continuously updating Git repository. Clone with --depth=1.
Stars: ✭ 126 (-13.1%)
Mutual labels:  kernel
M5p01 muprokaron
A tiny real-time kernel focusing on formal reliability and simplicity.
Stars: ✭ 132 (-8.97%)
Mutual labels:  kernel
Uc Os2
µC/OS-II is a preemptive, highly portable, and scalable real-time kernels. Designed for ease of use on a huge number of CPU architectures.
Stars: ✭ 120 (-17.24%)
Mutual labels:  kernel
Ds4vita
Stars: ✭ 135 (-6.9%)
Mutual labels:  kernel
Emerald
An operating system written in C
Stars: ✭ 118 (-18.62%)
Mutual labels:  kernel
Blizzard Jailbreak
An Open-Source iOS 11.0 -> 11.4.1 (soon iOS 13) Jailbreak, made for teaching purposes.
Stars: ✭ 130 (-10.34%)
Mutual labels:  kernel
Cfb
Canadian Furious Beaver is a tool for hijacking IRPs handler in Windows drivers, and facilitating the process of analyzing Windows drivers for vulnerabilities
Stars: ✭ 146 (+0.69%)
Mutual labels:  kernel
Hodlr
A fast, accurate direct solver and determinant computation for dense linear systems
Stars: ✭ 140 (-3.45%)
Mutual labels:  kernel
Os One
一个自制的树莓派操作系统
Stars: ✭ 132 (-8.97%)
Mutual labels:  kernel

Linux内核中文注释版

版权说明

本项目为开源项目,开源许可遵守GPL协议,项目所有权属于参与该项目的所有活跃人员。

禁止他人或者机构将本项目用于商业用途,如收费栏目,出版等。

概述

首先感谢Linus为世界贡献了Linux kernel这个伟大的项目,解决了多少码农的生计啊~~~ :D

我本身就是一个内核爱好者,从事网络开发十余年了。平时没事的时候,就研究一下内核代码,收获良多。

  1. 大部分内核代码的质量很高,可以学到不少知识,如设计、架构,技巧等;
  2. 可以深入理解OS是怎么组织运行的;
  3. 提交patch,回馈社区;在提交patch的过程中,既有成就感,也可以获得和世界级优秀工程师交流的机会;
  4. 可以锻炼自己阅读和掌控大型软件的能力;

在学习内核代码的过程中,经常会做些笔记。而在使用笔记的过程中,还经常需要对照源码,重新回忆。与其这样麻烦,还不如直接在内核源码中做笔记和注释呢。再深入的想一想,为什么不把这个做成一个开源项目呢?这样便于更多同学参与进来,那怕只是注释一个结构。就算没有几个人参与进来,把自己做的注释和笔记公开出来,也算给国内的同学做些奉献,推动内核在国内的发展:)

因为自己的领域是网络,所以一直关注和熟悉的也只是内核的网络模块。所以以我个人而言,初期会聚焦于内核网络模块代码的注释和笔记。深切希望有其他领域的大牛同学来负责其它内核模块。

欢迎各路大牛贡献merge request~~

本项目会紧跟由David负责的网络主线版本net.git,即git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git

commit要求

注释提交

每次注释提交,需要是一个完整的注释,如以下几种情况:

  1. 完整注释一个功能;
  2. 完整注释一个关键struct;
  3. 完整注释一个关键函数;
    注:提交日志参考内核的commit格式;

示例:

commit 5b883739c194c943ebedbc00078f11bddd6ef54d
Author: GaoFeng <gfree.wind at gmail.com>
Date:   Fri May 11 08:47:16 2018 +0800

    net: 增加对struct softnet_data的注释和说明  

    struct softnet_data是内核收包的关键结构。本次提交除xfrm_backlog成员外,  
    全部进行了注释和说明。  

合并内核代码提交

这个项目会跟踪最新的内核代码,所以要有合并内核代码的提交。

  1. 每1~2周合并一次内核代码
  2. 合并内核代码,不能用merge的方式,而是一次性提交所有内核改动;
  3. 提交说明注明跟踪到了内核哪个commit;
  4. 合并内核代码后,必须保证项目可以成功编译;(x86或者x64);

经过一个多月的实践,发现同步所有最新的内核代码不太必要,而且很费时间。因为目前就我一个人在做网络模块的注释和说明,所有目前只同步最新的网络模块的代码,主要是net、include和driver目录。

项目活跃成员

net:高峰(gfree.wind at gmail.com)
driver: 高峰(gfree.wind at gmail.com)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].