English

eXpOS: A Simple Pedagogical Operating System for Undergraduate Instruction

Operating Systems 2020-08-11 v1

Abstract

An operating system project suitable for undergraduate computing/electrical sciences students is presented. The project can be used as a course project in a one semester course, or as a self-study project for motivated students. The course is organized such that a student with a basic background in programming and computer organization can follow the implementation road map available online, and build the OS from scratch on her personal machine/laptop, with minimal instructional supervision. The student is provided with a simulated abstract machine, an application interface specification, specification and design of the OS, and a step by step project implementation road map. The functionalities of the OS include multitasking, virtual memory, semaphores, shared memory, an elementary file system, interrupt driven disk and console I/O, and a limited multi-user support. The final stage of the project involves porting the OS to a two-core machine. An independent one semester compiler design project, where the student builds a compiler for a tiny object oriented programming language that generates target code that can be loaded and executed by the OS is also briefly discussed.

Keywords

Cite

@article{arxiv.2008.03563,
  title  = {eXpOS: A Simple Pedagogical Operating System for Undergraduate Instruction},
  author = {K. Murali Krishnan},
  journal= {arXiv preprint arXiv:2008.03563},
  year   = {2020}
}
R2 v1 2026-06-23T17:43:26.094Z