Go Kernel

Open-source Go projects categorized as Kernel

Top 13 Go Kernel Projects

  • cilium

    eBPF-based Networking, Security, and Observability

    Project mention: Falsehoods programmers believe about TCP | news.ycombinator.com | 2024-09-14

    The rate limiter in question: https://github.com/cilium/cilium/issues/29083

  • InfluxDB

    Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.

    InfluxDB logo
  • gvisor

    Application Kernel for Containers

    Project mention: Unfashionably secure: why we use isolated VMs | news.ycombinator.com | 2024-07-25

    If you think about it virtualization is just a narrowing of the application-kernel interface. In a standard setting the application has a wide kernel interface available to it with dozens (ex. seccomp) to 100's of syscalls. A vulnerablility in any one of which could result in complete system compromise.

    With virtualization the attack surface is narrowed to pretty much just the virtualization interface.

    The problem with current virtualization (or more specifically, the VMM's) is that it can be cumbersome, for example memory management is a serious annoyance. The kernel is built to hog memory for cache and etc. but you don't want the guest to be doing that - since you want to overcommit memory as guests will rarely use 100% of what is given to them (especially when the guest is just a jailed singular application), workarounds such as free page reporting and drop_caches hacks exist.

    I would expect eventually to see high performance custom kernels for a application jails - for example: gVisor[1] acts as a syscall interceptor (and can use KVM too!) and a custom kernel. Or a modified linux kernel with patched pain points for the guest.

    [1] <https://gvisor.dev/>

  • syzkaller

    syzkaller is an unsupervised coverage-guided kernel fuzzer

    Project mention: Automated Unit Test Improvement Using Large Language Models at Meta | news.ycombinator.com | 2024-02-17

    https://arxiv.org/abs/2402.09171 :

    > This paper describes Meta's TestGen-LLM tool, which uses LLMs to automatically improve existing human-written tests. TestGen-LLM verifies that its generated test classes successfully clear a set of filters that assure measurable improvement over the original test suite, thereby eliminating problems due to LLM hallucination. [...] We believe this is the first report on industrial scale deployment of LLM-generated code backed by such assurances of code improvement.

    Coverage-guided unit test improvement might [with LLMs] be efficient too.

    https://github.com/topics/coverage-guided-fuzzing :

    - e.g. Google/syzkaller is a coverage-guided syscall fuzzer: https://github.com/google/syzkaller

    - Gitlab CI supports coverage-guided fuzzing: https://docs.gitlab.com/ee/user/application_security/coverag...

    - oss-fuzz, osv

    Additional ways to improve tests:

    Hypothesis and pynguin generate tests from type annotations.

    There are various tools to generate type annotations for Python code;

    > pytype (Google) [1], PyAnnotate (Dropbox) [2], and MonkeyType (Instagram) [3] all do dynamic / runtime PEP-484 type annotation type inference [4] to generate type annotations. https://news.ycombinator.com/item?id=39139198

    icontract-hypothesis generates tests from icontract DbC Design by Contract type, value, and invariance constraints specified as precondition and postcondition @decorators:

  • gophernotes

    The Go kernel for Jupyter notebooks and nteract.

    Project mention: Go: What We Got Right, What We Got Wrong | news.ycombinator.com | 2024-01-04

    https://github.com/gopherdata/gophernotes

    I've had this bookmarked for some time and just havent gotten around to it.

  • tetragon

    eBPF-based Security Observability and Runtime Enforcement

    Project mention: Linux runtime security agent powered by eBPF | news.ycombinator.com | 2023-10-19
  • u-root

    A fully Go userland with Linux bootloaders! u-root can create a one-binary root file system (initramfs) containing a busybox-like set of tools written in Go.

    Project mention: Monogon: A Linux userland in pure Go | news.ycombinator.com | 2024-03-28

    It looks similar to u-root https://github.com/u-root/u-root, yes, used as part of host firmware. There's a description of u-root in chapter 6 of https://link.springer.com/book/10.1007/978-1-4842-7939-7, too.

  • eggos

    A Go unikernel running on x86 bare metal

    Project mention: Let's Embed a Go Program into the Linux Kernel | news.ycombinator.com | 2024-04-28
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • KubeArmor

    Runtime Security Enforcement System. Workload hardening/sandboxing and implementing least-permissive policies made easy leveraging LSMs (BPF-LSM, AppArmor).

  • procfs

    procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc.

  • schedviz

    A tool for gathering and visualizing kernel scheduling traces on Linux machines

    Project mention: The Linux Scheduler: A Decade of Wasted Cores (2016) [pdf] | news.ycombinator.com | 2023-12-13

    I'd like to wager that EEVDF has been tested less methodologically than how this paper investigates CFS. The primary author of EEVDF and maintainer of the subsystem has been dismissing alternative approaches and plethora of robustly tested patches from Google and Facebook over the years, with mostly replies boiling down to "meh I don't like it".

    I'd take a patch of CFS and its millions of broken knobs from Google over newly released EEVDF any day, because I trust scheduler AB testing by Google over millions of machines and every single scheduling pattern under the sun way more than whatever synthetic micro-benchmark a single kernel dev (as competent as they might be) ran.

    If you're interested in quantitative analysis of schedulers & tooling around it, these 2 projects are very interesting:

    https://github.com/google/schedviz

    https://fuchsia.dev/fuchsia-src/concepts/kernel/fair_schedul...

  • btfhub

    BTFhub, in collaboration with the BTFhub Archive repository, supplies BTF files for all published kernels that lack native support for embedded BTF. This joint effort ensures that even kernels without built-in BTF support can effectively leverage the benefits of eBPF programs, promoting compatibility across various kernel versions.

  • nhi

    :tv: Automatically capture all potentially useful information about each executed command (as well as its output) and get powerful querying mechanism

  • xpid

    Linux Process Discovery. C Library, Go bindings, Runtime.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go Kernel discussion

Log in or Post with

Go Kernel related posts

  • How to Reproduce Kubernetes Node-pressure Eviction Locally

    2 projects | dev.to | 15 Aug 2024
  • Linux runtime security agent powered by eBPF

    5 projects | news.ycombinator.com | 19 Oct 2023
  • Is there a Linux user-space program that causes execution through every kernel function path and context?

    1 project | /r/kernel | 5 Jun 2023
  • Those scary warnings of juice jacking in airports and hotels? They’re nonsense

    1 project | /r/technology | 1 May 2023
  • GoNB, a new Jupyter Notebook Kernel for Go

    3 projects | /r/golang | 9 Feb 2023
  • O que vocês acham da linguagem Goolang?

    1 project | /r/programacao | 28 Nov 2022
  • In Praise of Plan 9

    3 projects | news.ycombinator.com | 12 Nov 2022
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 14 Sep 2024
    InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards. Learn more →

Index

What are some of the best open-source Kernel projects in Go? This list will help you:

Project Stars
1 cilium 19,708
2 gvisor 15,535
3 syzkaller 5,293
4 gophernotes 3,819
5 tetragon 3,531
6 u-root 2,578
7 eggos 2,216
8 KubeArmor 1,444
9 procfs 765
10 schedviz 516
11 btfhub 364
12 nhi 300
13 xpid 217

Sponsored
Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com

Did you konow that Go is
the 4th most popular programming language
based on number of metions?