OS

  • Basics
  • Reference 1 Memory Management Reference 1 Layout of FreeBSD process in memory and on disk: ![figure-3-3. Layout of FreeBSD process in memory and on disk] To begin execution of a binary file, kernel: Text portion of the binary is mapped into the low part of the process’s address space. (The first page of the address space is marked as invalid, so that attempts to read or write through a null pointer will fault) Initilized data portion of the file is mapped into the address space following the text.

  • Unikernels
  • Reference 1 Demikernel Reference 1 The Demikernel is a library operating system architecture designed for use with kernel-bypass I/O devices. The Demikernel architecture offers a uniform system call API across kernel-bypass technologies (e.g., RDMA, DPDK) and OS functionality (e.g., a user-level networking stack for DPDK). Demikernel: kernel-bypass IO abstraction for data centers. Github: Demikernel ↩ reference ↩

  • Freertos
  • References: FreeRTOS Implementation FreeRTOS Implementation Building Blocks Detailed Example More

  • L4
  • Reference: L4 wiki, L4 kernel projects; seL4: from Data61 OKL4: from Open Kernel Lab Coyotos: from John Hopkins, Nova: from Dresden, L3: seL4 References: About seL4 seL4 Documentation Klein, Gerwin, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe et al. “seL4: Formal verification of an OS kernel.” In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles (SOSP), pp. 207-220. 2009.

  • OS in Rust
  • Reference: Writing an OS in Rust

  • Gnu Hurd
  • GNU Hurd Reference1 reference ↩

  • Freebsd
  • Reference1 reference ↩

  • Minix 3
  • Minix Minix 3 Reference1 reference ↩

  • Linux
  • Reference1 reference ↩

  • Windows
  • References: reference More Heap Protection References: Windows 8 Heap Internals, BlackHat, USA, 2012. Software Defense: Mitigating Heap Corruption Vulnerabilities Heap for Windows Vista/Server2008/Windows7 The following features are enabled by default: Randomized heap base address The base address of a heap region is randomized as part of ASLR; 5 bits of entropy; Function pointer encoding Function pointers in heap data structures are encoded with a random value; This will prevent them from being replaced with an untrusted value; Algorithm variation

Created Jul 5, 2019 // Last Updated Jul 8, 2021

If you could revise
the fundmental principles of
computer system design
to improve security...

... what would you change?