Skip to content

Latest commit

Β 

History

History
187 lines (164 loc) Β· 5.43 KB

README.md

File metadata and controls

187 lines (164 loc) Β· 5.43 KB

rOSes_are_red

Credit to Best Anime Movie 2025: Chainsaw Man – The Movie: Reze Arc

(Source)

IF2130 Sistem Operasi - 2025/2026

Terminal image BadApple image

Daftar Isi

Struktur

root
β”œβ”€β”€ Makefile
β”œβ”€β”€ README.md
β”œβ”€β”€ bin
β”‚   β”œβ”€β”€ OS2025.iso
β”‚   β”œβ”€β”€ clock
β”‚   β”œβ”€β”€ clock_elf
β”‚   β”œβ”€β”€ cmos.o
β”‚   β”œβ”€β”€ context-switch.o
β”‚   β”œβ”€β”€ disk.o
β”‚   β”œβ”€β”€ ext2.o
β”‚   β”œβ”€β”€ framebuffer.o
β”‚   β”œβ”€β”€ gdt.o
β”‚   β”œβ”€β”€ graphics.o
β”‚   β”œβ”€β”€ idt.o
β”‚   β”œβ”€β”€ inserter
β”‚   β”œβ”€β”€ interrupt.o
β”‚   β”œβ”€β”€ intsetup.o
β”‚   β”œβ”€β”€ kernel
β”‚   β”œβ”€β”€ kernel-entrypoint.o
β”‚   β”œβ”€β”€ kernel.o
β”‚   β”œβ”€β”€ keyboard.o
β”‚   β”œβ”€β”€ paging.o
β”‚   β”œβ”€β”€ portio.o
β”‚   β”œβ”€β”€ process.o
β”‚   β”œβ”€β”€ scheduler.o
β”‚   β”œβ”€β”€ shell
β”‚   β”œβ”€β”€ shell_elf
β”‚   β”œβ”€β”€ storage.bin
β”‚   └── string.o
β”œβ”€β”€ other
β”‚   β”œβ”€β”€ grub1
β”‚   └── terminal-reze.jpeg
β”œβ”€β”€ packages.microsoft.gpg
β”œβ”€β”€ reze.gif
└── src
    β”œβ”€β”€ cmos
    β”‚   └── cmos.c
    β”œβ”€β”€ context-switch.s
    β”œβ”€β”€ cpu
    β”‚   β”œβ”€β”€ gdt.c
    β”‚   β”œβ”€β”€ idt.c
    β”‚   β”œβ”€β”€ interrupt.c
    β”‚   β”œβ”€β”€ intsetup.s
    β”‚   └── portio.c
    β”œβ”€β”€ crt0-echo.s
    β”œβ”€β”€ crt0.s
    β”œβ”€β”€ driver
    β”‚   β”œβ”€β”€ disk.c
    β”‚   └── keyboard.c
    β”œβ”€β”€ external
    β”‚   β”œβ”€β”€ clock.c
    β”‚   β”œβ”€β”€ external-inserter
    β”‚   β”œβ”€β”€ external-inserter.c
    β”‚   β”œβ”€β”€ hello-world.c
    β”‚   └── spinner.c
    β”œβ”€β”€ filesystem
    β”‚   └── ext2.c
    β”œβ”€β”€ graphics
    β”‚   └── graphics.c
    β”œβ”€β”€ header
    β”‚   β”œβ”€β”€ cmos
    β”‚   β”‚   └── cmos.h
    β”‚   β”œβ”€β”€ cpu
    β”‚   β”‚   β”œβ”€β”€ gdt.h
    β”‚   β”‚   β”œβ”€β”€ idt.h
    β”‚   β”‚   β”œβ”€β”€ interrupt.h
    β”‚   β”‚   └── portio.h
    β”‚   β”œβ”€β”€ driver
    β”‚   β”‚   β”œβ”€β”€ disk.h
    β”‚   β”‚   └── keyboard.h
    β”‚   β”œβ”€β”€ filesystem
    β”‚   β”‚   └── ext2.h
    β”‚   β”œβ”€β”€ graphics
    β”‚   β”‚   β”œβ”€β”€ font.h
    β”‚   β”‚   β”œβ”€β”€ graphics.h
    β”‚   β”‚   └── wallpaper.h
    β”‚   β”œβ”€β”€ kernel-entrypoint.h
    β”‚   β”œβ”€β”€ memory
    β”‚   β”‚   └── paging.h
    β”‚   β”œβ”€β”€ process
    β”‚   β”‚   β”œβ”€β”€ process.h
    β”‚   β”‚   └── scheduler.h
    β”‚   β”œβ”€β”€ stdlib
    β”‚   β”‚   └── string.h
    β”‚   └── text
    β”‚       └── framebuffer.h
    β”œβ”€β”€ kernel-entrypoint.s
    β”œβ”€β”€ kernel.c
    β”œβ”€β”€ linker.ld
    β”œβ”€β”€ memory
    β”‚   └── paging.c
    β”œβ”€β”€ menu.lst
    β”œβ”€β”€ process
    β”‚   β”œβ”€β”€ process.c
    β”‚   └── scheduler.c
    β”œβ”€β”€ stdlib
    β”‚   └── string.c
    β”œβ”€β”€ text
    β”‚   └── framebuffer.c
    β”œβ”€β”€ user-linker.ld
    └── user-shell.c

Requirements

Sebelum menjalankan rOSes_are_red, pastikan anda telah mengunduh dan melakukan pengaturan pada kebutuhan berikut:

untuk mengunduh kebutuhan file tersebut, jalankan kode berikut pada terminal WSL

$ sudo apt update
$ sudo apt install -y nasm gcc qemu-system-x86 make genisoimage gdb

Cara Run

Pada terminal WSL, buka direktori tempat anda menyimpan proyek ini dan jalankan

$ make restart

Setelah perintah berhasil, inisialisasi program dengan menekan f5 atau fn + f5. Perintah ini akan menjalankan shell untuk proses inisialiasi. Setelah proses telah berhasil diinisialisasi(telah muncul jendela QEMU), hentikan proses dengan kembali menekan f5 atau fn + f5.

Setelahnya, lakukan perintah berikut pada terminal WSL,

$ make insert-shell

Setelah perintah berhasil, jalankan program dengan kembali menekan f5 atau fn + f5.

Untuk menambahkan fungsionalitas, lakukan perintah berikut sebelum menjalankan program,

$ make insert-clock

Fitur yang Dibuat

Pada projek ini, terdapat 13 fungsionalitas yang dapat digunakan antara lain,

Perintah Fungsionalitas
cd <direktori> Ganti direktori saat ini
ls Daftar isi direktori saat ini
cat <file> Tampilkan isi file
mkdir <nama_dir> Buat direktori baru
cp <sumber> <tujuan> Salin file atau direktori
rm <file> Hapus file
mv <sumber> <tujuan> Pindah atau ganti nama file/direktori
grep <pola> <file> Cari pola dalam file
find <nama> Cari file atau direktori secara rekursif
exec <path_program> Jalankan program baru
ps Tampilkan daftar proses berjalan
kill <nama> Hentikan proses berdasarkan PID atau nama
clear Bersihkan layar terminal
help Tampilkan menu bantuan