Skip to content

sysprog21/concurrent-programs

Repository files navigation

Complementary Programs for course "Linux Kernel Internals"

Project Listing

  • tpool: A lightweight thread pool.
  • tinync: A tiny nc implementation using coroutine.
  • fiber: A user-level thread (fiber) using clone system call.
  • picosh: A minimalist UNIX shell.
  • httpd: A multi-threaded web server.
  • ringbuffer: A lock-less ring buffer.
  • mbus: A concurrent message bus.
  • spmc: A concurrent single-producer/multiple-consumer queue.
  • map-reduce: word counting using MapReduce.
  • mpmc: A multiple-producer/multiple-consumer (MPMC) queue.
  • channel: A Linux futex based Go channel implementation.
  • redirect: An I/O multiplexer to monitor stdin redirect using timerfd and epoll.
  • rcu_list: A concurrent linked list utilizing the simplified RCU algorithm.
  • ringbuf_shm: An optimized lock-free ring buffer with shared memory.
  • qsbr: An implementation of Quiescent state based reclamation (QSBR).

License

The above projects are released under the BSD 2 clause license. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

About

Complementary Concurrency Programs for course "Linux Kernel Internals"

Topics

Resources

License

Stars

Watchers

Forks

Contributors 14

Languages