Skip to content

sammo393/MutinyOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MutinyOS: A Mini Operating System

MutinyOS is a terminal-based Mini Operating System simulator designed for students, beginners, and enthusiasts who want to practice shell usage and explore OS-like utilities without installing a full operating system. It combines educational shell functionality with entertainment features such as games and TCP-based multiplayer chat.


Features

  • Interactive Shell

    • Built-in commands: help, cmd, cmds, prog, progs, clear, exit, etc.
    • Executes system commands via fork/exec if not recognized as a built-in command.
  • Built-in Programs

    • Calculator (calc)
    • Date utility (date)
    • Task manager, calendar (planned/future modules)
  • Entertainment

    • Console games using ncurses/pdcurses (Snake, Tetris, Pacman, Sudoku, Maze Runner, Car Racing)
    • TCP-based multiplayer group chat using CZMQ

Project Structure

MutinyOS/
├── Makefile          # Build rules
├── config.mk         # Compiler/linker configuration
├── shell.c           # Main shell loop
├── cmd.c / cmd.h     # Command/program definitions
├── calc.c            # Calculator frontend
├── date.c            # Date/time utility
├── help.c            # Help text
├── lib/
│   ├── tinyexpr.c    # Expression evaluation library
│   └── compatibility.c # Cross-platform helpers

Build & Run

Clone repository

git clone https://github.com/saifshahriar/MutinyOS.git
cd MutinyOS

Build MutinyOS

make

Run the shell

make run

Clean build artifacts

make clean

Usage

Example session:

saif@mutiny:$> help
saif@mutiny:$> calc
> 2 + 2 = 4

saif@mutiny:$> date
Sat Sep 6 18:00:00 2025
saif@mutiny:$> exit

Requirements

  • Hardware: Any modern PC (≥ 512 MB RAM)
  • Software: Linux or Windows with GCC and Makefile support
  • Libraries: ncurses / pdcurses, CZMQ

Limitations & Future Work

  • Currently terminal-based; depends on host OS
  • No GUI, kernel, or low-level hardware interaction
  • Networking limited to TCP in user-space
  • Future: custom kernel, native shell, system calls, full OS-level features

Current Status

───────────────────────────────────────────────────────────────────────────────
Language                 Files     Lines   Blanks  Comments     Code Complexity
───────────────────────────────────────────────────────────────────────────────
C                           22      2598      446       127     2025        497
C Header                    17       204       40        35      129          0
Makefile                     2       115       21        20       74          0
License                      1       674      121         0      553          0
Markdown                     1       163       46         0      117          0
Shell                        1        33        7         1       25          2
───────────────────────────────────────────────────────────────────────────────
Total                       44      3787      681       183     2923        499
───────────────────────────────────────────────────────────────────────────────
Estimated Cost to Develop (organic) $83,313
Estimated Schedule Effort (organic) 5.35 months
Estimated People Required (organic) 1.38
───────────────────────────────────────────────────────────────────────────────
Processed 110833 bytes, 0.111 megabytes (SI)
───────────────────────────────────────────────────────────────────────────────

See commit history for more information.


Contributors

  • Saif Shahriar
  • Abdullah Sammo
  • Imam Zafor Sadik
  • Sozib Hasan

Licence

See Licence


References

About

An Operating System from the past, for the future...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 97.5%
  • Makefile 2.0%
  • Shell 0.5%