Proses dan Manajemen Proses


๐ŸŽฏ 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

https://images.openai.com/static-rsc-4/ZRdUsYvB1a67LKrbHFNWYoGDLuhUooAEynk25-D0E7VCkRWr3Y2FsTZVQcczQAtwDpJDrZMk1PRhmm_gY6T9ec1037yDPZFgooIH2Gmo-yDHDocRqmWABvWeGhDbF8gBnwbZu2GYbHWT8tkYK5w2M1QwPlxfey9Koz3B1TxBP1-tGC9t6BByKUg62UyXQgRI?purpose=fullsize
https://images.openai.com/static-rsc-4/eDhIWs_yC1tFsmTS9q7JJTNPRQ00HFp435TcpxeB1WUv3P5uof0b5sVaUfBF2mc9FhAZqlXeJIaurrG5dPf4ezYpBN75fnCgvprEFDbQ8s6HXbWqF4ujO39b8RRsL-d7U7aDSNc6rnFtw-_qYipyfHHry8hb37sClXqjzLQUaqs2-a_Bd5gwSKjTayrZ1PcH?purpose=fullsize
https://images.openai.com/static-rsc-4/I7rAA_9G54-bnqP4wAReshLAZlmqUf8zak_ERwGAvPx6ULosLP1S4e2k2-fd6oQkJIykDMEHxDEQDcYg8O5q1pGwDNK0OsFPM5GlVAtUJ7oJ4peGJtU4vVpMKKUSQhwBVRKFibPxPP-TXPQLsVA6f7ea-J8kFMJk-8bEKh7-EAPT_mnI5efuNCcWXdclKd6y?purpose=fullsize

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

https://images.openai.com/static-rsc-4/3nunsaIUstutxgSf59VM0Ff6Uhj8EIqpPjz-8iWbM_HhkE8aieGbi874c8I_Q_v-3FZ6Sd2AnK8UGVOedQ9GTQFugpiWAyuJKyTq1mHG6xdFOOmhc8l7KdXZTvwsfCN1BPXmUPZi0DFg_OnUALvXed4B9XTdzC6mkjb0mg8dxblK3TpAG8gHZV8nakxn0uYi?purpose=fullsize
https://images.openai.com/static-rsc-4/6lsj5b2Q-veR3O4T5q5XeStRR17OsDxrLceUNhn2-pMcvuj9YS8slanIdM-lQlhbBq7ofD5D343WOWozx9C3sbHi2Fcmx23y4l4kH2Mk1gsxEptOI22L6dnwDKngwbjS5c7N8J7c9mqvYdvGsLl3gMMYjtoVJYg75gkEEX0DWlLWKTVPgvfabhLSqwIU-m4Y?purpose=fullsize
https://images.openai.com/static-rsc-4/I7rAA_9G54-bnqP4wAReshLAZlmqUf8zak_ERwGAvPx6ULosLP1S4e2k2-fd6oQkJIykDMEHxDEQDcYg8O5q1pGwDNK0OsFPM5GlVAtUJ7oJ4peGJtU4vVpMKKUSQhwBVRKFibPxPP-TXPQLsVA6f7ea-J8kFMJk-8bEKh7-EAPT_mnI5efuNCcWXdclKd6y?purpose=fullsize

7

2.1 State Proses:

  1. New โ†’ proses dibuat
  2. Ready โ†’ siap dijalankan
  3. Running โ†’ sedang dieksekusi CPU
  4. Waiting (Blocked) โ†’ menunggu event/I-O
  5. 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

DariKePenyebab
NewReadyProses siap
ReadyRunningDijadwalkan CPU
RunningWaitingButuh I/O
WaitingReadyI/O selesai
RunningTerminatedProses selesai

3. ๐Ÿงพ Process Control Block (PCB)

3.1 Pengertian

PCB adalah struktur data yang menyimpan informasi penting tentang proses.


๐Ÿ–ผ๏ธ Struktur PCB

https://images.openai.com/static-rsc-4/Bw6kFDLlNH_jTLIIAKdswgjTnQfbIBxD-H4EnTgOZaekAWbsjW7OftacP9liwNnKX6U-IieBdKmZRiMecOqnqmXdfXGKmPboMcow7o3ZO5RKeMxGs6ecs7UnicwUmg2jvvIBqkB0j7_R83jB5bq_CMX-C7itkTOBLNljmv6WDdxt0TfvNfTLTUFKQl_Xa2hi?purpose=fullsize
https://images.openai.com/static-rsc-4/-oEYu-4Kqj_ylF6hCx3TEmMLGaBxM3JtIJM5Yel-CrWk6VIO8zYKvhdOO-XTxu4WVGfewTzAj87awFaJ4PnPyVNBEXfOiNfhYwJbVMdTVAN9wgK5aZhl_C-UtCDUxAB7CukFX3mfScc0Q_QjGZoHjXR9ABeYNXz9CmelBudagX1zkV9ipgfk60tgWA9fviAW?purpose=fullsize
https://images.openai.com/static-rsc-4/9alaepKCGm9duuPxWMWw26d-gvmacUxHtjRMwGjwXQEaQ99ZQootniuZRgu4jQkvNpaRo-B4h2S2lCPLDSebo3IhIEra_A0L-mL5qWFqKgjgdHX0gfY2XzJ4ZEinLWyDfiS-PvZvLcSPyRdq4-tpxPtQ5AbG2Z0A1ivgBvq6x_yKSdAunwY0YTCOJXzRXM2t?purpose=fullsize

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

https://images.openai.com/static-rsc-4/Kw8A0EYNMsX9P211MGQrStYLFOuyhXxc6DIrCwzHaHxp16rEf_B7QBKDU0O-dBmJpAtgJlgVee7Am__vC9skKOZMxqo-YfVJUxMDtvhIloM8RcO49q0u07G4lhBKHFJXv0AC1dmIxcfS4DSuT0XRJCcFdpWA1Z9Uz-qN4W-x3z7B7IQdXthfqAedLIoFDXhr?purpose=fullsize
https://images.openai.com/static-rsc-4/OSH-S7S7Pt0f4N-_pNosvBrwD0ozhFP8xq5Dk-x1bKTUkIYA0SaP-ZWTY3yw9CkHXPyUfsgz0_JQ7Qe9TDXlEF5VzlJQtBkMBp9EVzykEt4MCQZzLGTXSw6O3TiPRvBd4Tm_71NmaKjFJbKi2FC_8zI0t5P258pVlrXhBF4ZjfXRlhf1yn9L872aOSI5sfKQ?purpose=fullsize
https://images.openai.com/static-rsc-4/L6S-EwsDP8xBpNeEBnVrIf7OpBYN1cvhCtO43AIe5DhefpRZNW7ZKYB0gs8lBf449tlPHIHDdNzmU43jf6x2itkxA1DICZZNMWmtEGSxlDlnV-vjX6hGEXbdLpf9Nn96bPO-tNs8OQRlP14rejeomarhTQC5OteRY029Xk-Y9vffXb6HdjUdLUl9cYIB2eSr?purpose=fullsize

7

5.1 Pengertian

Context switching adalah proses pergantian CPU dari satu proses ke proses lain.


5.2 Prosesnya:

  1. Simpan state proses lama ke PCB
  2. Ambil state proses baru
  3. 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

AspekMultitaskingMultiprocessing
CPU1>1
EksekusiBergantianParalel
ContohLaptop biasaServer

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

  1. Apa perbedaan program dan proses?
  2. Jelaskan siklus hidup proses!
  3. Apa fungsi PCB?
  4. Mengapa context switching penting?
  5. 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