Knowledgebase

Kernel Development and Contribution Print

  • specialisedtechnology, specialised, guide, howto, solution, zillionkinghost, hosting, support
  • 0

Working on existing kernels.

WHAT KERNEL CODE IS LIKE

C, with strict conventions No standard library No floating point, generally Extremely careful about memory and concurrency

WHY CONCURRENCY MATTERS SO MUCH

The kernel is interrupted and runs on many processors simultaneously.

WHAT THAT REQUIRES

Correct locking, everywhere Understanding which contexts may sleep Awareness of interrupt context restrictions

WHAT HAPPENS WHEN IT IS WRONG

Deadlocks, corruption, and faults that appear randomly.

WHAT MODULES PROVIDE

Code loaded into a running kernel, typically drivers.

WHAT THAT ENABLES

Development without rebuilding and rebooting constantly.

WHAT TO LEARN FIRST

Building the kernel The coding style, which is enforced The development and review process How to read existing subsystem code

WHAT CONTRIBUTION REQUIRES

Patches in the expected format Submission to the correct maintainers Response to review, which is direct

WHAT TO START WITH

Something small in a subsystem you use.

WHAT TO TEST ON

A virtual machine, never a machine you need.

WHAT TO EXPECT

Thorough review, and rejection of anything not meeting the standard.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot