Konsep Proses dalam Sistem Operasi
1. Pengantar
Sistem operasi (Operating System/OS) merupakan jantung dari komputer modern. Salah satu peran terpentingnya adalah mengelola proses — yaitu program yang sedang dieksekusi. Proses memungkinkan komputer menjalankan banyak tugas sekaligus, mulai dari membuka browser hingga menjalankan musik di latar belakang.
2. Dari Program Menjadi Proses
Sebuah program hanyalah kumpulan instruksi statis yang disimpan di disk, bersifat pasif. Namun, ketika pengguna menjalankannya, sistem operasi memuatnya ke dalam memori dan memberikan sumber daya seperti CPU, memori, dan struktur data. Pada titik inilah program berubah menjadi proses aktif.
3. Siklus Hidup Proses
Proses tidak berjalan terus-menerus; ia melalui beberapa tahap:
• New – proses baru dibuat
• Ready – siap dieksekusi oleh CPU
• Running – sedang dijalankan
• Waiting – menunggu sumber daya lain (misalnya I/O)
• Terminated – eksekusi selesai
4. Mekanisme Utama dalam OS
Untuk mengatur semua proses ini, sistem operasi memiliki beberapa komponen penting:
• Scheduler – menentukan proses mana yang akan dieksekusi berikutnya.
• Time Slice – durasi waktu CPU diberikan ke satu proses.
• Preemption – kemampuan OS menghentikan sementara proses yang berjalan untuk memberi giliran proses lain.
5. Context Switch
Ketika CPU berpindah dari satu proses ke proses lain, terjadi context switch. Data proses lama disimpan ke dalam Process Control Block (PCB), lalu data proses baru dimuat. Meskipun menambah overhead, hal ini penting agar sistem tetap responsif dan dapat menjalankan banyak aplikasi sekaligus.
6. Process Control Block (PCB)
PCB adalah struktur data yang menyimpan semua informasi penting tentang proses, seperti:
• State proses
• Process ID (PID)
• Program counter
• CPU register
• Prioritas
• Informasi memori
7. Proses vs Thread
Proses memiliki ruang memori dan sumber daya sendiri. Thread adalah unit eksekusi di dalam proses, berbagi memori dan data dengan thread lain. Thread membuat sistem lebih efisien dengan menjalankan beberapa tugas dalam satu proses secara paralel.
8. Klasifikasi Proses
Ada dua jenis utama proses:
• I/O-Bound Process – banyak menunggu operasi input/output (contohnya aplikasi database).
• CPU-Bound Process – lebih banyak melakukan perhitungan di CPU (contohnya simulasi ilmiah).
9. Algoritma Penjadwalan CPU
Kelompok 2 mengimplementasikan dua algoritma menggunakan Python:
1. FCFS (First Come, First Served) – proses dieksekusi berdasarkan urutan kedatangan.
2. SJF Preemptive (Shortest Job First / Shortest Remaining Time First) – CPU memilih proses dengan waktu tersisa paling singkat.
10. Simulasi Program
Program simulasi dibuat berbasis Command Line Interface (CLI) sederhana. Setelah pengguna memasukkan data proses, sistem menampilkan Gantt Chart dan menghitung otomatis waktu tunggu dan waktu eksekusi.
11. Sinkronisasi Proses
Dalam sistem multiproses, sering kali beberapa proses mengakses sumber daya yang sama. Tanpa sinkronisasi, hasilnya bisa kacau. Oleh karena itu OS menerapkan mekanisme seperti Mutex dan Semaphore.
12. Contoh Masalah Sinkronisasi
• Persimpangan tanpa lampu lalu lintas – risiko tabrakan jika semua kendaraan maju bersamaan.
• Printer kantor bersama – beberapa pegawai mencetak file bersamaan tanpa antrian, hasil cetak bisa tumpang tindih.
13. Kesimpulan
Proses, penjadwalan, dan sinkronisasi adalah fondasi utama sistem operasi. Proses menjadi inti eksekusi program, algoritma seperti SJF Preemptive meningkatkan efisiensi CPU, dan mekanisme seperti mutex serta semaphore memastikan sumber daya digunakan secara aman dan efisien.
14. Penutup
Terima kasih telah membaca! Semoga tulisan ini membantu memahami bagaimana sistem operasi bekerja di balik layar — dari menjalankan aplikasi, mengatur proses, hingga menjaga sinkronisasi antar tugas.
Komentar
Posting Komentar