Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Weenix Kernel — Demonstration

This repository showcases the results of my work on Weenix, a Unix-like toy kernel.
We (Group of 2) implemented this toy OS as part of the semester long Kernel project of the course CSCI402 at USC.
The source code is not included (per course policy), but can be shared privately upon request.
Here you can find screenshots, recordings, and explanations of the kernel features.


Features Implemented

  • Processes & Threads

    • Full process lifecycle
    • Thread scheduling, synchronization
    • Mutexes & wait queues
  • Virtual File System (VFS)

    • System calls: open, close, read, write
    • File descriptor tables per process
    • Support for device files
  • Virtual Memory

    • Page fault handler
    • mmap() and brk() implementations
    • Copy-on-write and full fork() pipeline

Demo

User Shell

User Shell

User Shell help command

User Shell Help

User Shell cat command

User Shell cat

Kernel Shell help command

K Shell kshell_help

User Shell ls command

User Shell ls

User Shell stat command

User Shell stat

User Shell faber thread tests

User Shell cat

User Shell fork-and-wait

User Shell fork

forkbomb test - Upto 250 child threads

User Shell forkbomb250

forkbomb test - Upto 500 child threads

User Shell forkbomb500

memtest

User Shell memtest

stresstest

User Shell stress

About

Results of my work on building the "Weenix" toy OS

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors