OS development project

Goals

This course is a project along the semester. The project is to write an operating system for x86 (PC 32 bits) minimalist yet using the main concepts at the core of the Oss.


Content

  • Interrupts handling, design of device drivers
  • Internal kernel structure (monolithic)
  • Scheduling
  • Inter processus synchronisation and communication
  • Virtual memory handling
  • Memory protection


Prerequisites

  • Operating systems and concurrent programming.
  • Operating System conception project - Basics.
  • C
  • Assembly language
  • Basics in processor architecture


Results

This project was quite complexe because of all the understanding of the system that is require. At the end, the project was working all the features that are listed in the content part. The evaluation of our kernel was with standard tests provided with the requirement of it. Driven by tests passing development our group was one of the few who managed to implement virtual memory. My personal contribution on this project was with scheduling, Interrupts handling and Inter processus synchronisation and communication.

Programming Skills

C

95%

Scheduling

80%

Interruption

80%

Bash script

95%

Git

80%

Tools

GitHub
Atom

Skills

This project allowed me to develop the following skills :

  • Software development
  • Software testing
  • Project management

4

Months

5

Team