NENG4D | Sistem Operasi Penjadwalan Proses Manajemen Memori Berkas
NENG4D menyediakan rangkuman lengkap mengenai Sistem Operasi Penjadwalan Proses Manajemen Memori Sistem Berkas yang sering menjadi pertanyaan mahasiswa, profesional IT, dan penggemar teknologi. Artikel ini menjelaskan bagaimana keempat komponen utama sistem operasi bekerja bersama, apa perbedaannya, serta contoh implementasinya dalam lingkungan modern.
Penjadwalan Proses: Mengatur Urutan Eksekusi
Penjadwalan proses merupakan inti dari multitasking. Sistem operasi harus memutuskan proses mana yang akan dijalankan pada CPU pada setiap saat. Ada tiga kategori utama algoritma penjadwalan:
- Penjadwalan berorientasi batch – cocok untuk pekerjaan tanpa interaksi pengguna, menggunakan algoritma First‑Come‑First‑Served (FCFS) atau Shortest Job First (SJF).
- Penjadwalan interaktif – mengutamakan responsivitas, biasanya memakai Round‑Robin (RR) dengan kuantum waktu yang pendek.
- Penjadwalan real‑time – memastikan batas waktu (deadline) terpenuhi, contoh algoritma Rate‑Monotonic Scheduling (RMS) dan Earliest Deadline First (EDF).
Setiap algoritma memiliki trade‑off antara throughput, latency, dan fairness. Pada sistem modern, kombinasi algoritma sering dipakai: kernel Linux, misalnya, menggunakan Completely Fair Scheduler (CFS) untuk proses umum dan menambahkan kelas real‑time untuk tugas kritis.
Manajemen Proses: Dari Penciptaan hingga Terminasi
Manajemen proses meliputi siklus hidup proses: create, ready, running, blocked, terminated. Sistem operasi menyimpan kontrol blok (PCB – Process Control Block) yang berisi:
- Identitas proses (PID)
- Status eksekusi
- Register CPU dan pointer stack
- Informasi memori (page table, segment)
- Prioritas dan informasi penjadwalan
Fungsi penting lainnya adalah fork dan exec pada UNIX‑like OS, yang memungkinkan proses anak menyalin konteks induk lalu mengganti image program. Pada Windows, konsep serupa diwakili oleh CreateProcess. Manajemen proses yang baik memastikan isolasi, stabilitas, dan kemampuan multitasking yang efisien.
Manajemen Memori: Mengoptimalkan Penggunaan RAM
Memori utama bersifat terbatas, sehingga sistem operasi harus mengalokasikan, melindungi, dan mengganti memori secara dinamis. Tiga teknik utama yang sering dibahas:
Paging
Memori virtual dibagi menjadi halaman berukuran tetap (biasanya 4 KB). Page table mencatat pemetaan antara halaman virtual dan frame fisik. Paging menghilangkan fragmentasi internal dan memungkinkan swapping ke disk ketika memori fisik penuh.
Segmentation
Berbeda dengan paging, segmentasi menggunakan unit logis yang bervariasi (kode, data, stack). Setiap segmen memiliki basis dan limit, sehingga memudahkan proteksi berbasis logika program.
Hybrid (Paged Segmentation)
Beberapa OS, seperti Windows, menggabungkan kedua teknik: segmen dibagi menjadi halaman, sehingga mendapat keuntungan proteksi segmentasi dan manajemen halaman yang efisien.
Selain itu, algoritma penggantian halaman (LRU, FIFO, Clock) menentukan halaman mana yang dipindahkan ke swap ketika memori hampir penuh. Kebijakan ini berpengaruh besar pada performa aplikasi berat.
Sistem Berkas: Menyimpan dan Mengakses Data
Sistem berkas (file system) menyediakan abstraksi hierarkis untuk data yang disimpan pada media penyimpanan. Beberapa konsep penting:
- Struktur direktori – mengorganisir file dalam pohon folder.
- Metadata – menyimpan informasi seperti ukuran, timestamp, izin akses.
- Alokasi blok – cara file data ditempatkan pada disk; contoh teknik contiguity, linked allocation, dan indexed allocation.
- Journaling – mencatat perubahan sebelum menulis ke disk untuk meningkatkan keandalan (misalnya ext4, NTFS).
Keamanan sistem berkas diatur melalui permission (rwx) pada UNIX atau ACL pada Windows. Selain itu, mekanisme mount point memungkinkan beberapa perangkat penyimpanan di‑integrasikan ke dalam satu namespace.
Hubungan Antara Keempat Komponen
Penjadwalan proses, manajemen proses, manajemen memori, dan sistem berkas tidak berdiri sendiri. Contohnya, ketika sebuah proses melakukan I/O pada file, kernel harus:
- Menangkap permintaan I/O melalui sistem berkas.
- Menempatkan proses ke state blocked hingga data tersedia.
- Menjadwalkan proses lain yang siap dijalankan.
- Jika memori tidak cukup, melakukan paging atau swapping sebelum menyalin data ke buffer.
Integrasi yang mulus memastikan respons cepat, penggunaan sumber daya optimal, dan perlindungan data yang solid.
Pertanyaan yang Sering Diajukan
Apa perbedaan utama antara penjadwalan preemptive dan non‑preemptive?
Penjadwalan preemptive memungkinkan kernel menghentikan proses yang sedang berjalan untuk memberi CPU kepada proses lain yang memiliki prioritas lebih tinggi. Non‑preemptive hanya memberi CPU kembali ketika proses selesai atau secara sukarela menyerah (misalnya melalui sistem call yield). Preemptive meningkatkan responsivitas, sementara non‑preemptive lebih sederhana dan mengurangi overhead konteks switch.
Bagaimana sistem operasi menentukan kapan harus melakukan swapping?
Ketika jumlah halaman yang aktif mendekati batas memori fisik, algoritma penggantian halaman (seperti LRU) menandai halaman yang paling jarang dipakai. Jika tidak ada ruang cukup, halaman‑halaman tersebut dipindahkan ke area swap pada disk, sehingga RAM dapat menampung halaman yang lebih dibutuhkan.
Apakah semua sistem berkas mendukung journaling?
Tidak. Journaling merupakan fitur tambahan yang tidak ada pada semua file system. Contoh file system yang tidak memiliki journaling adalah FAT32. Sebaliknya, ext4, NTFS, dan XFS menyediakan journaling untuk meningkatkan integritas data setelah kegagalan sistem.
Dengan memahami cara kerja penjadwalan proses, manajemen proses, manajemen memori, dan sistem berkas, pembaca dapat lebih mudah mengoptimalkan aplikasi, melakukan troubleshooting, atau bahkan mendesain sistem operasi sederhana. Jika ingin mendalami topik lebih lanjut, kunjungi NENG4D untuk sumber belajar tambahan dan diskusi komunitas.