Skip to content

XYFC128/NYCU-OSC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NYCU Operating System Capstone

This respository contains my implementation for the embeded kernel project in the Operating System Capstone course at NYCU.

Course Website

The kernel is divided into 7 labs and each lab implement the following functions:

  • Lab1: Hello World
    • Kernel initialization
    • IO through Mini UART
    • A simple shell to interact with
  • Lab2: Booting
    • A bootloader that loads kernel from the Mini UART
    • Parse ASCII Format Cpio Archive to load initramfs
  • Lab 3: Exception and Interrupt
    • Handle exception and interrupt
      • Concurrent I/O Devices Handling
      • Nested Interrupt
      • Preemption: High priority interrupts should preempt the handler of the lower priority handlers.
  • Lab 4: Allocator
    • Buddy System page allocator
    • Dynamic Memory Allocator for allocating memory less than a page
  • Lab 5: Thread and User Process
    • Implement user process and context switch
    • System call interface
  • Lab 6: Virtual Memory
    • Virtual memory in kernel space
    • Virtual memory in user space
    • Demand Paging
    • Copy-on-write
  • Lab 7: Virtual File System
    • Virtual file system interface
    • Multitask VFS
    • Access initramfs with VFS
    • Access Mini UART IO with VFS

About

Project of the course Operating System Capstone at NYCU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors