๐ฏ Capaian Pembelajaran
Setelah mempelajari materi ini, mahasiswa diharapkan mampu:
- Memahami konsep proses dalam sistem operasi
- Membedakan proses dan program
- Menjelaskan siklus hidup proses
- Memahami Process Control Block (PCB)
- Menjelaskan context switching
- Menganalisis manajemen proses dalam OS modern
1. ๐ Konsep Dasar Proses
1.1 Apa itu Proses?
Proses adalah program yang sedang dieksekusi.
๐ Narasi:
- Program = file statis (misalnya .exe, .py)
- Proses = program yang sedang berjalan di memori
Contoh:
- Membuka browser โ menghasilkan satu atau lebih proses
- Membuka Word โ proses baru dibuat
๐ผ๏ธ Ilustrasi Program vs Proses
7
๐ Penjelasan:
- Program berada di disk
- Proses berada di RAM dan CPU
- OS bertanggung jawab mengelola proses
2. ๐ Siklus Hidup Proses (Process State)
๐ผ๏ธ Diagram State Proses
7
2.1 State Proses:
- New โ proses dibuat
- Ready โ siap dijalankan
- Running โ sedang dieksekusi CPU
- Waiting (Blocked) โ menunggu event/I-O
- Terminated โ selesai
๐ง Narasi:
Sistem operasi terus memindahkan proses antar state:
- Saat CPU kosong โ proses dari ready dipilih
- Saat menunggu I/O โ pindah ke waiting
- Setelah selesai โ terminated
๐ Tabel Transisi State
| Dari | Ke | Penyebab |
|---|---|---|
| New | Ready | Proses siap |
| Ready | Running | Dijadwalkan CPU |
| Running | Waiting | Butuh I/O |
| Waiting | Ready | I/O selesai |
| Running | Terminated | Proses selesai |
3. ๐งพ Process Control Block (PCB)
3.1 Pengertian
PCB adalah struktur data yang menyimpan informasi penting tentang proses.
๐ผ๏ธ Struktur PCB
5
3.2 Isi PCB:
- Process ID (PID)
- State proses
- Program counter
- CPU registers
- Informasi memori
- Informasi I/O
๐ง Narasi:
PCB ibarat โKTPโ proses.
Tanpa PCB, OS tidak bisa:
- Melacak proses
- Menghentikan atau melanjutkan proses
- Melakukan multitasking
4. โ๏ธ Operasi pada Proses
4.1 Pembuatan Proses (Process Creation)
Contoh:
- User membuka aplikasi
- OS membuat proses baru
4.2 Terminasi Proses
Proses selesai atau dihentikan:
- Normal exit
- Error
- Dibunuh (kill)
4.3 Hierarki Proses
- Parent process
- Child process
๐ง Narasi:
Saat Anda membuka browser:
- Browser utama = parent
- Tab-tab = child process
5. ๐ Context Switching
๐ผ๏ธ Diagram Context Switching
7
5.1 Pengertian
Context switching adalah proses pergantian CPU dari satu proses ke proses lain.
5.2 Prosesnya:
- Simpan state proses lama ke PCB
- Ambil state proses baru
- CPU menjalankan proses baru
๐ง Narasi:
Context switching memungkinkan:
- Multitasking
- Banyak aplikasi berjalan โseolah bersamaanโ
๐ Tapi:
Semakin sering context switching โ semakin besar overhead
6. ๐งต Multitasking dan Multiprocessing
6.1 Multitasking
Satu CPU menjalankan banyak proses secara bergantian.
6.2 Multiprocessing
Lebih dari satu CPU menjalankan proses secara paralel.
๐ Perbandingan
| Aspek | Multitasking | Multiprocessing |
|---|---|---|
| CPU | 1 | >1 |
| Eksekusi | Bergantian | Paralel |
| Contoh | Laptop biasa | Server |
7. ๐ง Penjadwalan Proses (Pengantar)
Sistem operasi menggunakan scheduler untuk memilih proses mana yang dijalankan.
Jenis Scheduler:
- Long-term scheduler
- Short-term scheduler
- Medium-term scheduler
๐ง Narasi:
Scheduler seperti โmanajer antrianโ yang:
- Menentukan siapa dapat CPU
- Mengoptimalkan performa
8. ๐ Masalah dalam Manajemen Proses
8.1 Race Condition
Dua proses mengakses data bersamaan โ hasil tidak konsisten
8.2 Starvation
Proses tidak pernah mendapat CPU
8.3 Deadlock (pengantar)
Proses saling menunggu โ tidak ada yang berjalan
9. ๐ป Studi Kasus Nyata
Kasus:
Mahasiswa membuka:
- Browser
- Spotify
- Word
Analisis:
- OS membuat 3+ proses
- CPU berganti-ganti proses (context switching)
- Memori dibagi ke masing-masing proses
10. ๐งช Contoh Implementasi (Linux)
Perintah:
ps
top
htop
๐ Fungsi:
- Melihat proses aktif
- Monitoring CPU dan memori
11. ๐ Latihan / Diskusi
- Apa perbedaan program dan proses?
- Jelaskan siklus hidup proses!
- Apa fungsi PCB?
- Mengapa context switching penting?
- Apa dampak terlalu banyak proses?
๐ฏ Kesimpulan
- Proses adalah program yang sedang berjalan
- OS mengelola proses melalui state dan PCB
- Context switching memungkinkan multitasking
- Manajemen proses sangat penting untuk performa sistem
๐ Pengembangan Materi Selanjutnya
โก Penjadwalan CPU (algoritma scheduling)
โก Sinkronisasi proses
โก Deadlock