Tugas Besar IF2230 - Sistem Operasi 2023
Tugas ini akan membuat sebuah Sistem operasi yang akan berjalan pada arsitektur x86 32 bit yang nanti akan dijalankan dengan emulator QEMU.
- Menyiapkan alat & repository
- Pembuatan build script
- Menjalankan sistem operasi
- Membuat output dengan text
- Memasuki Protected Mode
Milestone ini akan berfokus kepada interrupt, simple hardware device driver untuk keyboard & disk, dan file system “FAT32 - IF2230 edition”
- Interrupt & IDT
- Keyboard Driver
- Disk Driver
- File System
- CMOS Filesystem
Milestone ketiga akan berfokus kepada Shell yang berjalan pada User Mode.
- Paging
- User Mode
- Shell
- Window Subsytem for Linux
- Ubuntu 20.04 LTS
- Netwide assembler
- GNU C Compiler
- GNU Linker
- QEMU - System i386
- GNU Make
- genisoimage
- XServer
- Kernel
- Keyboard
- Filesystem
- Shell
- For Windows users, install WSL
- Using WSL or Linux, install all the requirements in the technologies section
sudo apt update
sudo apt install gcc nasm make qemu-system-x86 genisoimage
-
For WSL, we recommend installing XServer and creating a shortcut to the XServer binaries with launch configs such as
"C:\Program Files\VcXsrv\vcxsrv.exe" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl -dpi auto
-
Clone the github repository by using
git clone https://github.com/Sister20/if2230-2023-sosis
- Open WSL or Linux terminal
- If using XServer, open XServer using the created shortcut, and run
echo ‘export DISPLAY=`grep -oP "(?<=nameserver ).+" /etc/resolv.conf`:0.0’ >> ~/.bashrc
in the terminal - run these two commands to enter the user program into the operating system
make disk
make insert-shell
- If the OS is unable to start, try opening this repository in Visual Studio Code and start
Run and Debug
or pressF5
.
Name | NIM |
---|---|
Wilson Tansil | 13521054 |
Eugene Yap Jin Quan | 13521074 |
Alexander Jason | 13521100 |
Jimly Firdaus | 13521102 |
Checkpoint | Status |
---|---|
Milestone 1 | ✔️ |
Milestone 2 | ✔️ |
Milestone 3 | ✔️ |