Dokumen ini membahas tentang penjadwalan proses di sistem operasi dan manajemen memori komputer. Ada tiga jenis penjadwalan proses yaitu jangka panjang, menengah dan pendek. Penjadwalan jangka panjang menentukan urutan proses, jangka menengah terkait swapping, dan jangka pendek menjalankan proses. Dokumen ini juga membahas tentang status proses, PCB, teknik partisi memori, virtual memory, paging, segmentasi, dan masalah trashing.
5. Penjadwalan Jangka Panjang
Menentukan program mana yang akan dilaksanakan
berdasarkan urutan
Ketika berada dalam urutan maka program akan masuk
pada penjadwalan jangka pendek
Jika tidak maka menjadi penjadwalan jangka menengah
6. Penjadwalan Jangka Menengah
Termasuk salah satu fungsi swapping
Biasanya tergantung pada pengaturan multi-programming
Pada sistem yang tidak menggunakan Virtual Memory,
manajemen memory dapat diterapkan
7. Penjadwalan Jangka Pendek
Job dijalankan
Menjalankan job rutin
Menentukan job mana yang akan dijalankan berikutnya
8. Status Proses
New
Program yang merupakan prioritas teratas namun belum siap dikerjakan. OS
menginisial menjadi proses
Ready
Proses siap dikerjakan namun masih menunggu untuk mengakses prosesor
Running
Proses dijalankan prosesor
Waiting
Proses ditunda ketika dijalankan karena menunggu sumber daya sistem
Halted
Proses dihentikan dan akan dihapus oleh OS
9. Process Control Blok (PCB)
Identifier
State
Priority
Program counter
Memory pointers
Context data
I/O status
Accounting information
10. Manajemen Memori
Uni-program
Memory dibagi menjadi dua
Satu untuk Operating System (monitor)
Satu untuk executing program
Multi-program
Bagian “User” dibagi dan dishare kepada proses yang
aktif
11. Fungsi Manajemen Memori
Mengelola informasi mengenai memori yang dipakai dan
tidak dipakai sistem
Mengalokasikan memori ke proses yang memerlukan
Mendealokasikan memori dari proses yang telah selesai
menggunakannya
Mengelola swapping antara memori utama dan harddisk
12. Swapping
Masalah: I/O terlalu lambat dibandingkan CPU
bahkan pada sistem multi-programming, CPU bisa
berada pada status idle hampir sepanjang waktu
Solutions:
Meningkatkan main memory
Mahal
Mengacu pada program yang besar
Swapping
13. What’s Swapping
Antrian panjang yang disimpan pada disk
Processes “swapped” in as space becomes available
Sebagai penyelesaian proses dikeluarkan dari main memory
Jika tidak ada proses dalam status ready di memory
Swap keluar blocked process menjadi antrian jangka menengah
Swap masuk ready process atau new process
Swapping adalah I/O process
14. Partisi
Membagi memori menjadi beberapa bagian untuk
mengalokasikan ke proses termasuk OS
Fixed-sized partitions
Mungkin tidak pada ukuran yang sama
Process ditempatkan pada bagian yang terkecil yang bisa
diberikan (best fit)
Terkadang menyia-nyiakan memory
Mengacu pada ukuran yang berbeda
15. Partisi Beragam Ukuran
Mengalokasikan dengan tepat memory yang dibutuhkan
untuk proses
Mengacu pada hole dibagian akhir memory, terlalu kecil
untuk digunakan
Only one small hole - less waste
Ketika semua proses blocked, swap keluar sebuah proses
dan membawa yang baru
Proses baru mungkin lebih kecil dari proses yang keluar
Another hole
16. Partisi Beragam Ukuran
Nantinya memiliki banyak hole (fragmentasi)
Solusi:
Coalesce - Menggabungkan hole yang berdekatan
menjadi hole yang lebih besar
Compaction – Dari waktu ke waktu melewati memori dan
memindahkan semua hole menjadi satu blok yang tidak
digunakan
17. Relokasi
Tidak ada garansi bahwa proses akan load ke tempat yang
sama di memori
Instruksi mengandung addresses
Lokasi data
Addresses untuk instruksi (branching)
Logical address – berhubungan ke permulaan dari program
Physical address – lokasi tepat pada memory
Automatic conversion menggunakan base address
18. Virtual Memory
Membutuhkan paging
Tidak membutuhkan semua page dari proses pada memori
Membawa page yang dibutuhkan
Page fault
Required page tidak didalam memori
Operating System harus swap in page yang dibutuhkan
Bisa membutuhkan swap out sebuah page untuk memberikan
jarak
Memilih page untuk dikeluarkan tergantung recent history
19. Paging
Membagi memory menjadi ukuran yang sama, small chunks
-page frames
Membagi program menjadi ukuran yang sama, small chunks
- pages
Mengalokasikan jumlah yang dibutuhkan page frames
menjadi proses
Operating System maintain daftar free frames
Sebuah proses tidak membutuhkan page frames yang
berdekatan
Menggunakan page table untuk menjaga jalur
20. Segmentasi
Paging tidak terlihat bagi programmer
Segmentation terlihat bagi programmer
Biasanya segmen yang berbeda dialokasikan untuk
program dan data
Bisa merupakan jumlah program dan segmen data
21. Keuntungan Segmentasi
Menyederhanakan penanganan struktur data yang
berkembang
Memperbolehkan program untuk diubah dan recompiled
tersendiri, tanpa re-linking dan re-loading
Meminjamkan untuk berbagi antar proces
Meminjamkan untuk proteksi
Beberapa sistem digabungkan segmentasi dengan paging
22. Trashing
Terlalu banyak proses pada memory yang kecil
Operating System menghabiskan seluruh waktunya untuk
swapping
Sedikit atau tidak ada work yang selesai
Disk light aktif sepanjang waktu
Solusi
Algoritma penggantian page yang baik
Mengurangi jumlah proses yang berjalan
Menambah memory
23. Refference
Stalling, William, Computer Organization
and Architecture, 10th Edition, Pearson,
2015
Abdurohman, Maman, Organisasi dan
Arsitektur Komputer revisi ke-4, Penerbit
Informatika, 2017