eXpOS: A Simple Pedagogical Operating System for Undergraduate Instruction

08/08/2020
by   K. Murali Krishnan, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/15/2020

User-Centered Programming Language Design: A Course-Based Case Study

Recently, user-centered methods have been proposed to improve the design...
research
01/17/2011

The "psychological map of the brain", as a personal information card (file), - a project for the student of the 21st century

We suggest a procedure that is relevant both to electronic performance a...
research
10/01/2018

Trial by Flyer: Building Quadcopters From Scratch in a Ten-Week Capstone Course

We describe our experience teaching an intensive capstone course in whic...
research
11/01/2018

Senior Project Management System: Requirements, Specification, and Design Issues

Senior project is a typical essential course in computing educational pr...
research
05/27/2020

Making Lab Sessions Mandatory – On Student Work Distribution in a Gamified Project Course on Market-Driven Software Engineering

Unfair work distribution in student teams is a common issue in project-b...
research
12/29/2022

Deep R Programming

Deep R Programming is a comprehensive course on one of the most popular ...
research
07/26/2022

Reimplementing the Wheel: Teaching Compilers with a Small Self-Contained One

We report on a one-semester compiler construction course based on the id...

Please sign up or login with your details

Forgot password? Click here to reset