10 Modul Praktikum & Tugas Pemrograman C
Panduan lengkap aktivitas laboratorium sistem operasi: tracing syscalls, modul kernel LKM, tugas pemrograman POSIX C terstruktur, simulasi alokasi CPU & memori, hingga capstone project isolasi Docker Container.
3 Tugas Besar Pemrograman POSIX C
Tiga proyek pemrograman sistem tingkat lanjut dengan total bobot 17% dari evaluasi akhir mata kuliah.
Custom Linux Command-Line Shell
Bahasa C (POSIX System Calls)
Membangun program shell Linux kustom berbasis C yang mampu mengurai argumen perintah, melakukan `fork()` proses anak, mengeksekusi biner via `execvp()`, dan menunggu proses selesai via `waitpid()`. Dilengkapi penanganan signal interrupt (Ctrl+C).
POSIX Thread Synchronization (pthreads & Mutex)
Bahasa C (pthreads & Semaphores)
Mengimplementasikan solusi bebas Race Condition dan Deadlock untuk masalah Producer-Consumer (Bounded Buffer) & Dining Philosophers menggunakan `pthread_mutex_t`, `pthread_cond_t`, dan `sem_t` dengan validasi ThreadSanitizer.
Virtual Memory Page Replacement Simulator
Bahasa C / Python Simulator
Merancang simulator pergantian halaman memori fisik yang menerima deretan trace alamat halaman logika dan membandingkan rasio Page Fault antara algoritma FIFO, Least Recently Used (LRU), dan Optimal (OPT).
Katalog Lengkap 10 Modul Praktikum
Daftar seluruh modul praktikum laboratorium mandiri beserta topik kajian teknis dan panduan PDF.
Eksplorasi Linux CLI, Kernel Syscalls, & Strace
Fokus Praktik: Dual-mode, user space vs kernel space, strace utility, dmesg, uname, POSIX calls
Arsitektur Kernel & Kompilasi Linux Kernel Module (LKM)
Fokus Praktik: C kernel headers, printk, init_module, cleanup_module, insmod, rmmod, dmesg ring buffer
Tugas Koding 1: Custom Linux Command-Line Shell C
Fokus Praktik: fork(), execvp(), waitpid(), tokenizing input, I/O redirection, signal handling (SIGINT)
Simulator Penjadwalan CPU (FCFS, SJF, RR, MLFQ)
Fokus Praktik: CPU Burst, Arrival Time, Gantt chart construction, calculation of AWT and TAT metrics
Tugas Koding 2: Sinkronisasi Thread POSIX & ThreadSanitizer
Fokus Praktik: pthreads, pthread_mutex_t, sem_t, Producer-Consumer Bounded Buffer, -fsanitize=thread
Implementasi Algoritma Banker's Deadlock Avoidance C
Fokus Praktik: Resource Allocation Matrix, Max, Allocation, Available, Need matrix, Safe State verification
Simulasi Manajemen Memori & Translasi Alamat Paging 64-bit/TLB
Fokus Praktik: Address translation, page number, offset, Page Table Entries (PTE), TLB simulation & hit ratio
Tugas Koding 3: Simulator Virtual Memory Page Replacement
Fokus Praktik: FIFO, LRU, Optimal (OPT) replacement algorithms, page fault counter, trace simulation
Eksplorasi Virtual File System (VFS), Inode, Disk I/O & Ext4
Fokus Praktik: stat(), ls -i, hard links vs symlinks, inode structures, file descriptor table, ext4 journaling
Capstone Project: Linux Namespaces, Cgroups, & Docker Container
Fokus Praktik: unshare, clone(), cgroups v2 resource limits, Dockerfile, docker-compose multi-service container