# Code-generation 1. [It’s Time for a Modern Synthesis Kernel](https://blog.regehr.org/archives/1676) # Intepreter 1. [Jitk: A Trustworthy In-Kernel Interpreter Infrastructure](https://css.csail.mit.edu/jitk/) # Architecture 1. [TabulaROSA: Tabular Operating System Architecture for Massively Parallel Heterogeneous Compute Engines](https://arxiv.org/abs/1807.05308) # Graphics | Rendering 1. [Text Rendering Hates You](https://gankra.github.io/blah/text-hates-you/) 1. https://fuchsia.googlesource.com/garnet/+/master/docs/ui/scenic.md # Exemplar ## Operating system 1. [CLOSOS: Specication of a Lisp operating system.](http://metamodular.com/lispos.pdf) 1. [CLOSOS: Specication of a Lisp operating system.](http://metamodular.com/closos.pdf) 1. https://medium.com/@jasonyuan/introducing-mercury-os-f4de45a04289 1. http://lsneff.me/why-nebulet/ ||| https://github.com/nebulet/nebulet 1. http://exposnitc.github.io/index.html 1. https://www.gocosmos.org/ 1. http://www.microkernel.info/ 1. http://webosose.org/ 1. https://ostree.readthedocs.io/en/latest/manual/introduction/ 1. http://www.helenos.org/ 1. http://nixos.org/ 1. https://github.com/klange/toaruos 1. http://greenteapress.com/thinkos/ 1. http://kolibrios.org/en/ 1. http://menuetos.net/ 1. https://sailfishos.org/ 1. http://www.barrelfish.org/index.html 1. https://samypesse.gitbooks.io/how-to-create-an-operating-system/ 1. https://lumina-desktop.org/ 1. 2015 01 GNU Guix The Emacs of Distros &&& https://www.youtube.com/watch?v=AzebnJkfdvM 1. The Synthesis Kernel &&& https://www.usenix.org/legacy/publications/compsystems/1988/win_pu.pdf 1. http://zoo.cs.yale.edu/classes/cs422/pios 1. https://fuchsia.googlesource.com/docs/+/HEAD/book.md 1. https://externos.io/ 1. http://www.shadowdefender.com/ 1. https://pureos.net/ 1. http://progmp.net/ 1. http://www.uruk.org/emu/Taos.html 1. http://www.dickpountain.co.uk/home/computing/byte-articles/the-taos-operating-system-1991?hn 1. https://www.redox-os.org/ 1. https://system76.com/pop 1. http://habitatchronicles.com/2017/05/what-are-capabilities/ &&& ( Start reading where it says "Embedded systems" ) 1. http://genode.org/documentation/general-overview/index 1. https://camlistore.org/ 1. https://opensource.com/article/17/10/flintos 1. https://sortix.org/ 1. https://www.kickstarter.com/projects/xiki/xikihub-the-social-command-line 1. https://www.tockos.org/ 1. http://hydros-project.org/ 1. Twizzler: An Operating System for Next-Generation Memory Hierarchies &&& https://www.ssrc.ucsc.edu/Papers/ssrctr-17-01.pdf 1. http://www.includeos.org/ 1. https://harvey-os.org/ 1. https://github.com/jvburnes/node9 1. http://unleashed-os.org/ 1. https://github.com/GreenteaOS/Greentea 1. https://xinu.cs.purdue.edu/ 1. https://browsix.org/ 1. https://github.com/frzb/coinboot 1. http://www.jbox.dk/sanos/index.htm 1. https://www.osrtos.com/ 1. [CLOSOS Specification of a Lisp operating system.](http://metamodular.com/lispos.pdf) 1. http://metamodular.com/Common-Lisp/lispos.html 1. http://riot-os.org/ 1. http://www.scs.stanford.edu/histar/ 1. http://sel4.systems/ ## Unikernel 1. https://hermitcore.org/2018/06/06/A-Rust-based-Unikernel/ 1. http://unikernel.org/ 1. https://xenproject.org/linux-foundation/80-developers/207-unikraft.html 1. https://fourlightyears.blogspot.com/2018/08/what-i-could-not-undiscover-about.html 1. https://mirage.io/ 1. [Unikernels: No Longer an Academic Exercise](http://250bpm.com/blog:138) 1. https://github.com/hermitcore/libhermit-rs 1. https://next.redhat.com/2018/11/14/ukl-a-unikernel-based-on-linux/ 1. https://github.com/joekoolade/JOE 1. https://ssrg-vt.github.io/hermitux/ 1. https://nanovms.com/dev/tutorials/running-forth-unikernels 1. [Unikernels: The Next Stage of Linux’s Dominance](https://www.cs.bu.edu/~jappavoo/Resources/Papers/unikernel-hotos19.pdf) 1. https://grapheneproject.io/ 1. https://ops.city/ ## Microkernel 1. [Snap: a Microkernel Approach to Host Networking](https://storage.googleapis.com/pub-tools-public-publication-data/pdf/36f0f9b41e969a00d75da7693571e988996c9f4c.pdf) ## Real-time 1. https://en.wikipedia.org/wiki/VxWorks # Reference 1. [The little book about OS development](http://littleosbook.github.io/) 1. [Rethinking files](https://www.devever.net/~hl/objectworld) 1. [Writing an OS in Rust (Second Edition)](https://os.phil-opp.com/) 1. https://archiveos.org/ 1. https://lwn.net/Articles/615809/ 1. https://www.tweag.io/posts/2018-03-15-bazel-nix.html 1. Type-Safe Operating System Abstractions &&& https://www.cs.dartmouth.edu/~trdata/reports/TR2004-526.pdf 1. https://www.hillelwayne.com/post/nix/ 1. https://github.com/pervognsen/bitwise 1. True parallelism, with no concept of threads - Alfred Bratterud - Meeting C++ 2017 &&& https://www.youtube.com/watch?v=9IXivbSA_5A 1. http://ccl.cse.nd.edu/software/parrot/ 1. http://greenteapress.com/wp/think-os/ 1. https://gustavus.edu/mcs/max/os-book/ 1. https://sywtwaosir.wordpress.com/ 1. https://communityblog.fedoraproject.org/modularity-dead-long-live-modularity/ 1. https://en.wikipedia.org/wiki/WinFS 1. An alternative device-tree source language &&& https://lwn.net/SubscriberLink/730217/556c557e8a3bf0a0/ 1. https://joshondesign.com/2017/08/18/idealos_essay 1. https://tuhdo.github.io/os01/ 1. https://www.usenix.org/legacy/events/usenix03/tech/full_papers/padioleau/padioleau_html/index.html 1. https://medium.com/@ifesdjeen/on-disk-io-part-3-lsm-trees-8b2da218496f 1. https://medium.com/@ifesdjeen/on-disk-storage-part-4-b-trees-30791060741 1. http://fare.tunes.org/LispM.html 1. http://queue.acm.org/detail.cfm?id=1317400 1. The Art of Unix Programming &&& http://www.catb.org/esr/writings/taoup/html/index.html 1. https://shivambharuka.wordpress.com/2017/10/25/arrakis-the-operating-system-is-the-control-plane/ 1. [Arrakis: The Operating System is the Control Plane](https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-peter_simon.pdf) 1. https://sortix.org/os-test/ 1. https://existentialtype.wordpress.com/2016/07/11/pclsring-in-semantics/ 1. Database/Operating System Co-Design &&& https://www.research-collection.ethz.ch/handle/20.500.11850/136 1. YOW! Lambda Jam 2017 Brian McKenna - Nix for Functional Systems &&& https://www.youtube.com/watch?v=mIxtBVKo7JE 1. [Mouse Programming with libgpm](https://www.linuxjournal.com/article/4600) 1. https://developer.apple.com/library/archive/documentation/DeviceDrivers/Conceptual/WritingDeviceDriver/CPluPlusRuntime/CPlusPlusRuntime.html 1. https://yarchive.net/comp/linux/everything_is_file.html 1. [Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/) 1. http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699 1. [The Jury Is In: Monolithic OS Design Is Flawed: Microkernel-based Designs Improve Security](http://ts.data61.csiro.au/publications/csiro_full_text/Biggs_LH_18.pdf) 1. https://medium.com/@enkiv2/composability-homogeneity-and-language-based-systems-fb00e2c2458 1. [Write your own Operating System](https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M) 1. [Light-weight Contexts: An OS Abstraction for Safety and Performance](https://people.mpi-sws.org/~druschel/publications/osdi16.pdf) 1. https://augustl.com/blog/2014/an_immutable_operating_system/ # Higher-Order 1. https://www.yoctoproject.org/ # Formats 1. http://iokit.racing/machotricks.pdf # Error-handling 1. http://joeduffyblog.com/2016/02/07/the-error-model/ 1. https://code.fb.com/production-engineering/open-sourcing-oomd-a-new-approach-to-handling-ooms/ 1. https://os.phil-opp.com/double-fault-exceptions/ # Tools 1. https://osquery.io/ 1. https://github.com/facebook/osquery # Shell 1. [Magritte: A Language for Pipe-Based Programming](http://files.jneen.net/academic/thesis.pdf) 1. https://latacora.singles/2018/06/21/loud-subshells.html 1. https://github.com/ipetkov/conch-runtime 1. https://www.spinellis.gr/sw/dgsh/ # File-system 1. https://medium.com/@siddontang/use-fuse-to-inject-failure-to-i-o-deb5f2e7800a 1. [Spiffy: Enabling File-System Aware Storage Applications](https://www.usenix.org/conference/fast18/presentation/sun) 1. https://github.com/bindh3x/libnicko 1. https://github.com/floyernick/fleep-py 1. https://brauner.github.io/2018/08/05/unprivileged-file-capabilities.html 1. http://louwrentius.com/the-sorry-state-of-cow-file-systems.html 1. https://www.notthewizard.com/2014/06/17/are-files-appends-really-atomic/ 1. https://medium.com/datadriveninvestor/writing-your-own-file-system-is-not-as-hard-as-you-may-think-aa4af09329cd 1. http://www.betrfs.org/ 1. https://docs.microsoft.com/en-us/windows/desktop/projfs/projected-file-system 1. [The Lustre Storage Architecture](https://arxiv.org/abs/1903.01955) # Shared libraries | Dynamic Loading 1. https://amir.rachum.com/blog/2016/09/17/shared-libraries/ 1. https://www.kix.in/2008/06/19/an-alternative-to-shared-libraries/ 1. https://www.akkadia.org/drepper/no_static_linking.html 1. https://amir.rachum.com/blog/2016/09/17/shared-libraries/ # Packages 1. [Piotr Gaczkowski - Nix -- the functional package manager - Lambda Days 2020](https://www.youtube.com/watch?v=6AvwC25fd_U) 1. https://snapcraft.io/ 1. https://code.fb.com/data-infrastructure/xars-a-more-efficient-open-source-system-for-self-contained-executables/ # System Calls 1. [1001 Ways of Implementing a System Call](https://x86.lol/generic/2019/07/04/kernel-entry.html) 1. https://eli.thegreenplace.net/2018/basics-of-futexes/ 1. [FlexSC: Flexible System Call Scheduling with Exception-Less System Calls](https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Soares.pdf) # Security 1. https://en.wikipedia.org/wiki/Reference_monitor 1. [FINE-CFI: Fine-grained Control-Flow Integrity for Operating System Kernels](http://www.cs.wayne.edu/fengwei/paper/fine-cfi-tifs18.pdf) 1. https://unsat.cs.washington.edu/projects/hyperkernel/ 1. [Capsicum](https://oshogbo.vexillium.org/blog/57/) 1. [OS-level Attacks and Defenses: from Software to Hardware-based Exploits](http://tuprints.ulb.tu-darmstadt.de/8482/1/gens_diss.pdf) 1. [Time Protection: The Missing OS Abstraction](https://ts.data61.csiro.au/publications/csiro_full_text//Ge_YCH_19.pdf) 1. [Light-weight Contexts: An OS Abstraction for Safety and Performance](https://www.usenix.org/system/files/conference/osdi16/osdi16-litton.pdf) 1. https://natsys-lab.blogspot.com/2019/05/goodbye-fast-system-calls.html # Driver 1. https://blogs.windows.com/buildingapps/2018/08/15/introducing-driver-module-framework/#J6CWEbpcH0OwgWbP.97 1. [Toward Compositional Verification of Interruptible OS Kernels and Device Drivers](http://flint.cs.yale.edu/flint/publications/device-journal.pdf) 1. [Writing Network Drivers in Haskell](https://www.net.in.tum.de/fileadmin/bibtex/publications/theses/2019-ixy-haskell.pdf) # Networking 1. [Computer Networks: A Systems Approach](https://github.com/SystemsApproach/book) # Kernel 1. [A new kernel polling interface](https://lwn.net/Articles/743714/) 1. [Composing Abstractions using the null-Kernel](https://people.mpi-sws.org/~dg/papers/hotosxvii.pdf) # I/O 1. [The block I/O latency controller](https://lwn.net/Articles/758963/) 1. [I/O Is Faster Than the CPU – Let’s Partition Resources and Eliminate (Most) OS Abstractions](https://penberg.org/parakernel-hotos19.pdf) # Init System 1. https://davmac.wordpress.com/2018/10/26/on-the-vagaries-of-init-systems/ # Homogeneous Operating Systems 1. https://ecc-comp.blogspot.com/2014/12/homogeneous-operating-systems-are-better.html # Update System 1. https://theupdateframework.github.io/overview.html # Signal 1. http://delyan.me/code-review-signals/ # Daemon 1. https://chaoticlab.io/c/c++/unix/2018/10/01/daemonize.html # Memory 1. [Memory Systems and Memory-Centric Computing Systems](http://people.inf.ethz.ch/omutlu/acaces2018.html) 1. https://en.wikipedia.org/wiki/Page_replacement_algorithm 1. [Compress Objects, Not Cache Lines:An Object-Based Compressed Memory Hierarchy](https://people.csail.mit.edu/poantsai/papers/2019.zippads.asplos.pdf) # Hardware 1. [There's No Such Thing as a General-purpose Processor](https://queue.acm.org/detail.cfm?id=2687011) # Reliability 1. [CuriOS: Improving Reliability through Operating System Structure](http://people.cs.ksu.edu/~danielwang/Investigation/System_Security/curios.pdf) # Booting | Bootstrapping 1. https://puri.sm/posts/pureboot-the-high-security-boot-process/ # Virtualization 1. [virtio: Towards a De-Facto Standard For Virtual I/O Devices](https://www.ozlabs.org/~rusty/virtio-spec/virtio-paper.pdf) # Separation kernel 1. [High-Assurance Separation Kernels: A Survey on Formal Methods](https://arxiv.org/abs/1701.01535)