Process Management & Windows Scheduling Architecture
A. Tujuan Pembelajaran
- Memahami perbedaan hierarki Program, Process, dan Thread.
- Menguasai parameter evaluasi CPU: Waiting Time (WT) dan Turn Around Time (TA).
- Membedah logika dasar FIFO/FCFS, SJF, HRN, dan Round Robin.
- Memahami cara kerja Priority-Driven Preemptive Multilevel Feedback Queue (MLFQ) di Windows.
- Mampu menganalisis korelasi Core Fisik vs Logical Processors pada perangkat komputer/laptop riil.
B. Program vs Process vs Thread
1. Program
Entitas pasif. Berupa berkas instruksi kode yang tersimpan diam di media penyimpanan.
Contoh: python.exe, chrome.exe.
2. Process
Entitas aktif. Program yang sedang dimuat ke memori RAM dan dieksekusi CPU. Memiliki ruang alamat memori mandiri.
3. Thread
Unit terkecil eksekusi di dalam proses. Satu proses dapat memiliki banyak thread yang berbagi memori secara paralel.
C. Bedah Spesifikasi Laptop (DxDiag)
• Memory : 16384MB RAM (16 GB)
• Page file : 9548MB used, 11137MB available
Perbedaan antara 10 Core dan 12 CPUs pada laporan DxDiag disebabkan oleh perbedaan antara Core Fisik (Physical Cores) dan Prosesor Logis (Logical Processors / Threads) pada arsitektur hybrid Intel Generasi ke-12.
D. Rincian 10 Core Fisik vs 12 CPUs
1. Core Fisik (Total: 10 Core)
- 2 P-Cores: Inti performa tinggi untuk kompilasi dan kalkulasi AI.
- 8 E-Cores: Inti hemat daya untuk background & system services.
2. Mengapa di DxDiag (12 CPUs)?
- P-Cores Hyper-Threading: 2 core × 2 = 4 Thread.
- E-Cores non Hyper-Threading: 8 core × 1 = 8 Thread.
E. Apakah 10 Core = Maksimal 10 Aplikasi?
True Parallelism
Pada 1 mikrodetik yang persis sama, prosesor mampu memproses 12 instruksi simultan tanpa antre.
Multitasking & Time Slicing
CPU Scheduler membagi jatah waktu milidetik secara bergantian sangat cepat sehingga ratusan program terasa berjalan serempak.
F. Penerapan Process Management & CPU Scheduling di Windows
G. Observasi Langsung Task Manager
Silakan seluruh mahasiswa menekan kombinasi tombol: CTRL + SHIFT + ESC
Buka tab Processes dan amati aplikasi yang sedang berjalan di laptop Anda masing-masing.
- Sebutkan 3 proses yang sedang berjalan di komputer Anda saat ini!
- Menurut Anda, proses mana yang paling banyak membutuhkan penggunaan CPU?
- Jika semua proses meminta CPU secara bersamaan, bagaimana Sistem Operasi menentukan siapa yang mendapatkan giliran CPU?
H. Apa Itu CPU Scheduling?
CPU Scheduling adalah mekanisme sistem operasi untuk memilih proses mana di antrean siap (*ready queue*) yang berhak mendapatkan alokasi waktu eksekusi prosesor.
I. Non-Preemptive vs Preemptive
1. Non-Preemptive
Proses yang sedang berjalan di CPU tidak dapat diinterupsi secara paksa sampai selesai (*terminate*) atau sukarela melepaskan CPU (*I/O wait*).
2. Preemptive
Proses yang sedang berjalan dapat dihentikan sementara oleh OS untuk memberikan giliran ke proses berprioritas lebih tinggi atau habis jatah kuantumnya.
J. Parameter & Rumus Utama
- Arrival Time (T / AT): Saat proses tiba di antrean (*ready queue*).
- Burst Time (BT): Durasi waktu komputasi yang dibutuhkan proses di CPU.
- Waiting Time (WT): Total waktu yang dihabiskan proses menunggu giliran di antrean.
- Turn Around Time (TA): Total waktu dari saat proses datang sampai tuntas selesai.
• Waiting Time (WT) = Turn Around Time (TA) - Burst Time (BT)
• Prioritas HRN = (Waiting Time + Burst Time) / Burst Time
K. Algoritma FIFO / FCFS
First Come First Served: Proses yang tiba paling awal akan dilayani pertama kali hingga tuntas (Non-Preemptive).
| Process | AT | BT | Selesai | WT | TA |
|---|---|---|---|---|---|
| P1 | 0 | 5 | 5 | 0 | 5 |
| P2 | 0 | 4 | 9 | 5 | 9 |
| P3 | 0 | 2 | 11 | 9 | 11 |
| P4 | 2 | 3 | 14 | 9 | 12 |
| P5 | 6 | 2 | 16 | 8 | 10 |
L. Shortest Job First (SJF)
SJF: Proses dengan Burst Time paling kecil diprioritaskan dieksekusi lebih awal untuk meminimalkan rata-rata antrean.
| Process | AT | BT | Selesai | WT | TA |
|---|---|---|---|---|---|
| P3 | 0 | 2 | 2 | 0 | 2 |
| P4 | 2 | 3 | 5 | 0 | 3 |
| P2 | 0 | 4 | 9 | 5 | 9 |
| P5 | 6 | 2 | 11 | 3 | 5 |
| P1 | 0 | 5 | 16 | 11 | 16 |
M. HRN dan Round Robin
Highest Ratio Next (HRN)
Menggunakan prioritas dinamis. Proses yang lama menunggu nilai rasio prioritasnya akan terus meningkat sehingga mencegah *starvation* (kelaparan proses besar).
Round Robin (Preemptive Time Quantum)
Setiap proses diberi jatah waktu (*quantum time*, misal: 2 detik). Jika proses belum tuntas dalam 2 detik, proses digeser ke antrean belakang dan CPU diserahkan ke proses berikutnya.
N. Priority-Driven Preemptive MLFQ di Windows
Windows tidak memakai FIFO/SJF murni, melainkan 32 Level Prioritas (0–31) Multilevel Feedback Queue:
O. CPU Scheduling pada Beban Kerja AI
Mengapa Training AI Mengunci CPU 100%?
Saat program Python melatih model deep learning, thread pemrosesan data (*data loader*) dan kalkulasi matriks memonopoli seluruh core prosesor.
Jika scheduler tidak menerapkan *preemption* secara ketat, proses web server atau database yang melayani pengguna lain akan terhambat (*starvation*), menyebabkan latensi melonjak tajam.
P. Tugas: Simulasi Spesifikasi Laptop Sendiri
Langkah Pengerjaan:
- Buka DxDiag (Win + R > ketik
dxdiag) dan Task Manager (Ctrl + Shift + Esc). - Tangkap layar (*screenshot*) tab System di DxDiag serta tab CPU Performance di Task Manager.
- Catat spesifikasi: Jumlah Cores, Logical Processors, kapasitas RAM, dan Page File.
Laporan Analisis yang Wajib Dijawab:
• Jelaskan korelasi antara jumlah core fisik dan logical processor pada laptop Anda!
• Amati nilai Processes dan Threads di Task Manager saat membuka 5 aplikasi bersamaan. Berapa jumlahnya?
• Simulasikan jika ada 5 proses dengan Burst Time berbeda (misal: 10, 6, 2, 4, 8 detik), hitung perbandingan Waiting Time jika dijadwalkan dengan FCFS vs SJF!
Q. Bahan Diskusi Kelas
Kasus: Mahasiswa menjalankan Chrome, VS Code, MySQL, dan melatih model AI di laptop hingga utilisasi CPU menyentuh angka 100%.
- Apakah angka CPU 100% menandakan prosesor rusak secara fisik?
- Mengapa SJF menguntungkan pekerjaan pendek tetapi rentan memicu *starvation* pada pekerjaan panjang?
- Bagaimana cara Windows mencegah aplikasi berat membekukan aplikasi ringan lainnya?
R. Kesimpulan & Materi Selanjutnya
Materi Pertemuan 4: Thread, Concurrency & Multithreading
Kita akan membedah secara mendalam bagaimana satu aplikasi mampu memecah pekerjaannya ke dalam puluhan thread paralel di atas prosesor multi-core.
