Skip to content

frankiehuangg/amongOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

amongos

os3.mp4
preview.mp4

Group Members

Name Nim
Irsyad Nurwidianto Basuki 13521072
Farizki Kurniawan 13521082
Frankie Huang 13521092
Muhammad Zaydan A 13521104

Technologies Used

  1. Window Subsytem for Linux
  2. Ubuntu 20.04 LTS
  3. Nasm
  4. Qemu
  5. genisoimage
  6. GNU Make

Setup

  1. Install all of the requirements
sudo apt update
sudo apt install gcc nasm make qemu-system-x86 genisoimage
  1. Clone this repository
  2. To compile the OS, run the following command
make clean
make disk
make insert-shell
make run
  1. qemu should spawn now, click Machine, then untick pause

Milestone

The features listed below is 100% completed and implemented.

Milestone 1

  1. Setup
  • ISO created succesfully
  • ISO can be run with GRUB
  • Makefile created and usable
  1. Framebuffer
  • framebuffer_write implemented to write into screen
  • framebuffer_clear implemented to clear the whole screen
  • framebuffer_set_cursor implemented to set the cursor location
  1. GDT and Protected mode
  • GDT struct is according to the Intel Manual
  • GDT is successfully read and segment register successfully changed
  • OS can enter protected mode properly

Milestone 2

  1. Interrupt
  • IDT struct is according to the Intel Manual
  • PIC remapping implemented
  • Interrupt handler / interrupt service routine implemented
  • IDT is successfully initialized and loaded
  1. Keyboard Device Driver
  • activate_keyboard_interrupt implemented to enable keyboard interrupt
  • Keyboard device interfaces implemented for user program access
  • keyboard_isr implemented to write characters into screen
  1. File System
  • Disk driver and disk image implemented on Makefile
  • FAT32 data structures implemented
  • initialize_filesystem_fat32 implemented to start CRUD operations
  • CRUD operations implemented (read_directory, read, write, and delete) to modify disk image
  1. Bonus
  • Unlimited DirectoryEntry to allow a folder having unlimited entries
  • CMOS implemented to add more information on file metadata

Milestone 3

  1. Paging
  • Paging Data Structures implemented
  • Higher Half Kernel implemented
  • Paging activated
  1. User Mode
  • Inserter implemented
  • User GDT & Task State Segment implemented
  • Simple Memory Allocator implemented
  • Simple User Program implemented
  • Launching User Mode implemented
  1. Shell
  • System Calls implemented according to shell's needs
  • Shell implemented
  • Built-in Utility Command
  1. Bonus
  • Relative Pathing
  • clear command to clear the shell terminal
  • added ascii art at startup

Note : Unlimited Directory redacted from Milestone 3 onwards

References

  1. Intel Manual
  2. wikiosdev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published