Skip to content

CalmSystem/CalmOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CalmOS

About The Project

Shell help screenshot

CalmOS is a toy operating system created during an Ensimag project. It is minimal and designed only for x86 32bit (IA32) architecture.

Built With

  • Make
  • GCC
  • Qemu
  • Love and Calm

Features

  • Priority based scheduler
  • Message queue synchronization
  • Dynamic stack allocation
  • User-space protection
  • Basic shell
  • FAT16 filesystem
  • Floppy disk drive
    • 1.44MB disk read/write
  • Mouse support
    • Click to paint on screen
  • PC Speaker music
    • Custom Music files player
      • play imperial.mbp
    • Keyboard synthesizer
      • Toggle with Ctrl+P

Getting Started

Prerequisites

  • Make
  • GCC 9+
  • qemu-system-i386
  • udisksctl (for floppy disk)

Installation

  1. Clone the repo
    git clone https://github.com/CalmSystem/CalmOS.git
  2. Compile system and user-space
    make build
  3. Compile floppy disk image
    make all

Usage

  • Start with floppy disk
    make run-now
  • Start without disk
    make run-raw
  • Compile and start
    make now

Contributors

Code template created by Ensimag teachers (Gregory Mounie et al.)

Features implemented by 3 students during a 3 weeks project.

Resources

License

Distributed under the GPLv3 License. See LICENSE for more information.

About

Toy Operating System created during Ensimag project

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •