# Operating System Design and Implementation ## Official Documentation - **Linux Kernel Documentation** - [Link](https://www.kernel.org/doc/html/latest/) - **FreeBSD Documentation** - [Link](https://docs.freebsd.org/en/) - **ReactOS Documentation** - [Link](https://reactos.org/wiki/Main_Page) - **seL4 Microkernel Documentation** - [Link](https://sel4.systems/Info/Docs/) ## Research Papers - **"Exokernel: An Operating System Architecture for Application-Level Resource Management" by Dawson R. Engler et al. (1995)** - [Link](https://pdos.csail.mit.edu/6.828/2008/readings/engler95exokernel.pdf) - **"The Performance of µ-Kernel-Based Systems" by Härtig et al. (1997)** - [Link](https://dl.acm.org/doi/10.1145/268998.266660) - **"Singularity: Rethinking the Software Stack" by Galen C. Hunt and James R. Larus (2007)** - [Link](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/osr2007_rethinkingsoftwarestack.pdf) ## Additional Online Resources - **OSDev.org** - [Link](https://wiki.osdev.org/Main_Page) - **The Little Book About OS Development** - [Link](https://littleosbook.github.io/) - **Writing a Simple Operating System from Scratch** - [Link](https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf) ## Books - **"Operating Systems: Design and Implementation" by Andrew S. Tanenbaum and Albert S. Woodhull** - ISBN: 0131429388 - A comprehensive guide to OS design and implementation, using MINIX as a case study. - **"Modern Operating Systems" by Andrew S. Tanenbaum and Herbert Bos** - ISBN: 013359162X - Covers both the principles and practice of modern operating systems design. - **"Operating System Concepts" by Abraham Silberschatz, Peter B. Galvin, and Greg Gagne** - ISBN: 1118063333 - Provides a comprehensive overview of operating system concepts and design. - **"The Design and Implementation of the FreeBSD Operating System" by Marshall Kirk McKusick et al.** - ISBN: 0321968972 - Offers an in-depth look at the design and implementation of the FreeBSD operating system. ## Standards - **POSIX (IEEE 1003.1-2017)** - Defines the standard operating system interface and environment - **Single UNIX Specification** - [Link](https://unix.org/what_is_unix/single_unix_specification.html) - Extends POSIX standards to include additional APIs for a standard Unix-like operating system ## Online Courses - **MIT 6.828: Operating System Engineering** - [Link](https://pdos.csail.mit.edu/6.828/2020/schedule.html) - **CS 162: Operating Systems and Systems Programming at UC Berkeley** - [Link](https://cs162.org/) - **Udacity: Introduction to Operating Systems** - [Link](https://www.udacity.com/course/introduction-to-operating-systems--ud923) - **edX: Computer Science 162, 001: Operating Systems and System Programming** - [Link](https://www.edx.org/course/operating-systems-and-system-programming) - **Coursera: Operating Systems and You: Becoming a Power User** - [Link](https://www.coursera.org/learn/os-power-user) ## Video Tutorials - **Operating Systems: Crash Course Computer Science** - [Link](https://www.youtube.com/watch?v=26QPDBe-NB8) - **Operating System Basics** - [Link](https://www.youtube.com/watch?v=9GDX-IyZ_C8) - **How to Make an Operating System** - [Link](https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M) ## GitHub Repositories - **The Linux Kernel** - [Link](https://github.com/torvalds/linux) - **xv6, a simple Unix-like teaching operating system** - [Link](https://github.com/mit-pdos/xv6-public) - **ToaruOS, a hobby operating system** - [Link](https://github.com/klange/toaruos) ## Forums and Communities - **Operating Systems: Three Easy Pieces** - [Link](http://pages.cs.wisc.edu/~remzi/OSTEP/) - **OS Dev Forums** - [Link](https://forum.osdev.org/) - **Reddit: r/osdev** - [Link](https://www.reddit.com/r/osdev/)