
OSDev
This is an advanced graduate course focussed on synchronization-related topics in operating systems. The course is based on research papers, and will involve a lot of reading and assimilation of ideas. The reading list has been carefully selected from classical and recent research papers in order to introduce and develop the key concepts and developments in synchronization and shared memory multiprocessor operating system design. These concepts include various uses of locking in OS kernels, synchronization in interrupt and process contexts, issues in the design of scalable spin locks, scalable reader-writer locking, lock-free and non-blocking synchronization, software transactional memory, hazard pointers, read copy update, memory consistency models and their implications for the performance and correctness of synchronization, tools and techniques for checking for bugs in synchronization-related kernel code.
Advanced Operating Systems
OS Development Skeptically
Operating System Framework
Genode is a novel operating-system architecture that enables dynamic workload while retaining security and robustness. The fundamental difference of Genode compared to other OS architectures is its strict organizational structure, which allows the execution of sensitive applications with a trusted computing base of a few thousand lines of code beside high-complexity workload. With its organizational approach, the architecture facilitates a clean separation of policies and mechanisms, and enables the definition and application of system policies in a natural and distributed fashion. Genode's resource-management concept enables highly dynamic workload but still retains deterministic behaviour normally only found in statically configured systems. Learn more about the concepts of Genode... The Genode OS framework is the reference implementation of this architecture."Linux Gazette... making Linux just a little more fun! " By Krishnakumar R. This article is a hands-on tutorial for building a small boot sector.
Writing Your Own Toy OS (Part I)
(C) 2011 Mike Saunders and MikeOS Developers This document shows you how to write and build your first operating system in x86 assembly language. It explains what you need, the fundamentals of the PC boot process and assembly language, and how to take it further.

