- Authors
- Program Description
- Required Program
- How to Run The Program
- How to Compile The Program
- Progress Report
- Folders and Files Description
Name | ID |
---|---|
Daniel Egiant Sitanggang | 13521056 |
Ryan Samuel Chandra | 13521140 |
Juan Christopher Santoso | 13521116 |
Antonio Natthan Krishna | 13521162 |
This program is an operating system development project on 32-bit architecture. In this milestone, we have developed OS interrupt system, keyboard and disk drivers, filesystem using "FAT32 - IF2230 Edition".
Here are the required programs you need to prepare to run the program in this repository:
Required Program | Reference Link |
---|---|
C | C Installation Guide |
Visual Studio Code | VSCode Installation Guide |
It is required to compile and run this OS-32bit from LINUX OS. You can use Windows Subsystems for Linux (WSL) to substitute the LINUX OS.
- Clone this repository (skip if the step is done)
git clone https://github.com/Sister20/if2230-2023-ded_os_is_ded.git
- Change the current directory into the cloned repository
cd if2230-2023-ded_os_is_ded
- Run command
make start
Under ideal circumstances, you just need to use the command make start
to run OS-32bit as listed in How To Run The Program. If you modify some of codes from the OS-32bit source code, you need to run the subsequent steps to compile the modified OS-32bit into the executables.
- Clone this repository (skip if the step is done)
git clone https://github.com/Sister20/if2230-2023-ded_os_is_ded.git
- Change the current directory into the cloned repository
cd if2230-2023-ded_os_is_ded
- To only compile OS-32bit source code without run the executables
make build
- To compile and run OS-32bit source code
make run
- To format disk used in OS-32bit
make disk
WARNING: Your OS-32bit source code must be warning-free since all warnings will be converted to errors.
Points | Done |
---|---|
IDT Data Structures | ✓ |
PIC Remapping | ✓ |
Interrupt Handler | ✓ |
Load IDT | ✓ |
IRQ1 - Keyboard Controller | ✓ |
Keyboard Driver Interfaces | ✓ |
Keyboard ISR | ✓ |
Disk Driver & Image - ATA PIO | ✓ |
FAT32 Data Structures | ✓ |
File System Initializer | ✓ |
File System CRUD Operation | ✓ |
Unlimited Directory Entry | |
CMOS Time for File System | |
Custom File System | |
Speedrun No Guidebook |
.
├─ bin # Executables
├─ other
├─ src # Source Code
├─ filesystem
├─ disk.c
├─ fat32.c
├─ interrupt
├─ idt.c
├─ interrupt.c
└─ intsetup.s
├─ keyboard
└─ keyboard.c
├─ lib-header
├─ disk.h
├─ fat32.h
├─ framebuffer.h
├─ gdt.h
├─ idt.h
├─ interrupt.h
├─ kernel_loader.h
├─ keyboard.h
├─ portio.h
├─ stdmem.h
└─ stdtype.h
├─ framebuffer.c
├─ gdt.c
├─ kernel_loader.s
├─ kernel.c
├─ linker.ld
├─ menu.lst
├─ stdmem.c
└─ portio.c
├─ makefile
└─ README.md