os3.mp4
preview.mp4
Name | Nim |
---|---|
Irsyad Nurwidianto Basuki | 13521072 |
Farizki Kurniawan | 13521082 |
Frankie Huang | 13521092 |
Muhammad Zaydan A | 13521104 |
- Install all of the requirements
sudo apt update
sudo apt install gcc nasm make qemu-system-x86 genisoimage
- Clone this repository
- To compile the OS, run the following command
make clean
make disk
make insert-shell
make run
- qemu should spawn now, click Machine, then untick pause
The features listed below is 100% completed and implemented.
- Setup
- ISO created succesfully
- ISO can be run with GRUB
Makefile
created and usable
- Framebuffer
framebuffer_write
implemented to write into screenframebuffer_clear
implemented to clear the whole screenframebuffer_set_cursor
implemented to set the cursor location
- 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
- Interrupt
- IDT struct is according to the Intel Manual
- PIC remapping implemented
- Interrupt handler / interrupt service routine implemented
- IDT is successfully initialized and loaded
- 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
- 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
, anddelete
) to modify disk image
- Bonus
- Unlimited DirectoryEntry to allow a folder having unlimited entries
- CMOS implemented to add more information on file metadata
- Paging
- Paging Data Structures implemented
- Higher Half Kernel implemented
- Paging activated
- User Mode
- Inserter implemented
- User GDT & Task State Segment implemented
- Simple Memory Allocator implemented
- Simple User Program implemented
- Launching User Mode implemented
- Shell
- System Calls implemented according to shell's needs
- Shell implemented
- Built-in Utility Command
- Bonus
- Relative Pathing
clear
command to clear the shell terminal- added ascii art at startup
Note : Unlimited Directory redacted from Milestone 3 onwards