Skip to content

pratulyab/weenix

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Weenix OS

  • This repository is a placeholder for Weenix Operating System which I implemented as part of the graduate level course, CSCI 402 (Spring 2021), taught at USC by Prof. Bill Cheng.
  • The end "product" of the working Weenix OS is a user-space terminal (like any other OS), behind which all the magic happens!

Note: The actual repository, which contains the source code, has been made private so as to honour the code of conduct of the University. It will only be available to potential employers who want to assess my capabilities in similar domains (and also who will agree not to share it with anyone else too). If you want to look at the code, contact me at https://pratulyab.github.io
For more info about the instructor, see: http://merlot.usc.edu/william/usc/

  • The goal of the course was to familiarise students with the internals of operating system - starting from the abstractions of processes and threads, to all the way up to virtual memory. (course website: http://merlot.usc.edu/cs402-s21/)

Project Goals, Concepts, Challenges and Learnings

  • Abstraction of threads, processes, and mutex
  • Context switching
  • Interrupts
  • Understanding the boot process of the kernel
  • Reference counting in the file system
  • System call wrapper
  • Case study of S5FS (system V file system)
  • Demand paging
  • Virtual memory map and the address space representation of a process
  • Copy on write mechanism and shadow objects
  • Memory allocation strategies
    • First fit & Best fit (both of which suffer from external fragmentation)
    • Buddy system (which is relatively new and chooses internal fragmentation as its design strategy)
    • Slab allocation (for pre-defined storage requirements)
  • Memory layout of a program (text, data, stack and heap sections)
  • Write through and write back caches
  • Benfits of log structured file system
  • File system consistency/fault tolerance: Soft updates vs Shadow paging
  • And much more...! (in private repository)

About

Weenix OS | CSCI 402 | USC

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published