← Kembali ke Beranda / Praktikum & Tugas Koding
LABORATORIUM KOMPUTASI SISTEM

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.

Buku Panduan Praktikum Terpadu Kompilasi Modul Lengkap Paruh 1 & 2
TUGAS KODING TERSTRUKTUR

3 Tugas Besar Pemrograman POSIX C

Tiga proyek pemrograman sistem tingkat lanjut dengan total bobot 17% dari evaluasi akhir mata kuliah.

TUGAS 1 • Minggu 3 5% Total Nilai

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).

TUGAS 2 • Minggu 5 6% Total Nilai

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.

TUGAS 3 • Minggu 9 6% Total Nilai

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).

10 MODUL PRAKTIKUM

Katalog Lengkap 10 Modul Praktikum

Daftar seluruh modul praktikum laboratorium mandiri beserta topik kajian teknis dan panduan PDF.

MODUL-01 Minggu 1

Eksplorasi Linux CLI, Kernel Syscalls, & Strace

Fokus Praktik: Dual-mode, user space vs kernel space, strace utility, dmesg, uname, POSIX calls

MODUL-02 Minggu 2

Arsitektur Kernel & Kompilasi Linux Kernel Module (LKM)

Fokus Praktik: C kernel headers, printk, init_module, cleanup_module, insmod, rmmod, dmesg ring buffer

MODUL-03 Minggu 3

Tugas Koding 1: Custom Linux Command-Line Shell C

Fokus Praktik: fork(), execvp(), waitpid(), tokenizing input, I/O redirection, signal handling (SIGINT)

MODUL-04 Minggu 4

Simulator Penjadwalan CPU (FCFS, SJF, RR, MLFQ)

Fokus Praktik: CPU Burst, Arrival Time, Gantt chart construction, calculation of AWT and TAT metrics

MODUL-05 Minggu 5

Tugas Koding 2: Sinkronisasi Thread POSIX & ThreadSanitizer

Fokus Praktik: pthreads, pthread_mutex_t, sem_t, Producer-Consumer Bounded Buffer, -fsanitize=thread

MODUL-06 Minggu 6

Implementasi Algoritma Banker's Deadlock Avoidance C

Fokus Praktik: Resource Allocation Matrix, Max, Allocation, Available, Need matrix, Safe State verification

MODUL-07 Minggu 7

Simulasi Manajemen Memori & Translasi Alamat Paging 64-bit/TLB

Fokus Praktik: Address translation, page number, offset, Page Table Entries (PTE), TLB simulation & hit ratio

MODUL-08 Minggu 9

Tugas Koding 3: Simulator Virtual Memory Page Replacement

Fokus Praktik: FIFO, LRU, Optimal (OPT) replacement algorithms, page fault counter, trace simulation

MODUL-09 Minggu 10

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

MODUL-10 Minggu 15

Capstone Project: Linux Namespaces, Cgroups, & Docker Container

Fokus Praktik: unshare, clone(), cgroups v2 resource limits, Dockerfile, docker-compose multi-service container