Penjadwalan Proses
Penjadwalan proses adalah aktivitas manajer proses yang menangani penghapusan proses yang berjalan dari CPU dan pemilihan proses lain berdasarkan strategi tertentu.
Penjadwalan proses adalah bagian penting dari sistem operasi Multiprogramming. Sistem operasi semacam itu memungkinkan lebih dari satu proses untuk dimuat ke dalam memori yang dapat dieksekusi pada suatu waktu dan proses yang dimuat berbagi CPU menggunakan penggandaan waktu.
Antrian Penjadwalan Proses
Sistem operasi memelihara semua PCB dalam Antrian Penjadwalan Proses. Sistem operasi memelihara antrian yang terpisah untuk masing-masing status proses dan PCB dari semua proses dalam keadaan eksekusi yang sama ditempatkan dalam antrian yang sama. Ketika status suatu proses diubah, PCB-nya tidak terhubung dari antrian saat ini dan dipindahkan ke antrian status baru.
Sistem Operasi mempertahankan antrian penjadwalan proses penting sebagai berikut;
- Job queue - Antrian ini menyimpan semua proses dalam sistem.
- Ready antrian - Antrian ini menyimpan satu set semua proses yang berada di memori utama, siap dan menunggu untuk dieksekusi. Proses baru selalu dimasukkan dalam antrian ini.
- Antrian perangkat - Proses yang diblokir karena tidak tersedianya perangkat I / O merupakan antrian ini.
Antrian Penjadwalan Proses |
Sistem Operasi dapat menggunakan kebijakan yang berbeda untuk mengelola setiap antrian (FIFO, Round Robin, Priority, dan lainnya.). Penjadwal sistem operasi menentukan cara memindahkan proses antara antrian siap dan jalankan yang hanya dapat memiliki satu entri per inti prosesor pada sistem; pada diagram di atas, telah digabungkan dengan CPU.
Model Proses Two-State
Model proses two-state mengacu pada kondisi berjalan dan tidak berjalan yang dijelaskan di bawah ini.
Penjadwal
Penjadwal adalah perangkat lunak sistem khusus yang menangani penjadwalan proses dengan berbagai cara. Tugas utama mereka adalah memilih pekerjaan yang akan diserahkan ke dalam sistem dan memutuskan proses mana yang akan dijalankan.
Penjadwal terdiri dari tiga jenis yaitu Penjadwal Jangka Panjang, Penjadwal Jangka Pendek dan Penjadwal Jangka Menengah
Penjadwal jangka panjang juga disebut penjadwal pekerjaan. Penjadwal jangka panjang menentukan program mana yang dimasukkan ke sistem untuk diproses.Penjadwal jangka panjangi memilih proses dari antrian dan memuatnya ke dalam memori untuk dieksekusi. Proses memuat ke dalam memori untuk penjadwalan CPU.
Tujuan utama dari penjadwal pekerjaan adalah untuk menyediakan campuran pekerjaan yang seimbang, seperti I / O dan prosesor. Ini juga mengontrol tingkat multiprogramming. Jika tingkat multiprogramming stabil, maka tingkat rata-rata penciptaan proses harus sama dengan tingkat keberangkatan rata-rata proses meninggalkan sistem.
Pada beberapa sistem, penjadwal jangka panjang mungkin tidak tersedia atau minimal. Sistem operasi pembagian waktu tidak memiliki penjadwal jangka panjang. Ketika suatu proses mengubah keadaan dari baru menjadi siap, maka ada penggunaan penjadwal jangka panjang.
Ini juga disebut sebagai penjadwal CPU. Tujuan utamanya adalah untuk meningkatkan kinerja sistem sesuai dengan kriteria yang dipilih. Ini adalah perubahan status siap untuk menjalankan kondisi proses. Penjadwal CPU memilih proses di antara proses yang siap dijalankan dan mengalokasikan CPU ke salah satunya.
Penjadwal jangka pendek, juga dikenal sebagai dispatcher, membuat keputusan tentang proses mana yang akan dieksekusi selanjutnya. Penjadwal jangka pendek lebih cepat daripada penjadwal jangka panjang.
Penjadwalan jangka menengah adalah bagian dari swapping. Ini menghapus proses dari memori. Ini mengurangi tingkat multiprogramming. Penjadwal jangka menengah bertanggung jawab untuk menangani proses swapping out.
Proses yang berjalan dapat ditunda jika membuat permintaan I/O. Proses yang ditangguhkan tidak dapat membuat kemajuan menuju penyelesaian. Dalam kondisi ini, untuk menghapus proses dari memori dan membuat ruang untuk proses lain, proses yang ditangguhkan dipindahkan ke penyimpanan sekunder. Proses ini disebut swapping, dan proses ini dikatakan ditukar atau diluncurkan. Swapping mungkin diperlukan untuk meningkatkan campuran proses.
Perbandingan Antar Penjadwal
- Penjadwal pekerjaan
- Kecepatan kurang dari penjadwal jangka pendek
- Mengontrol tingkat multiprogramming
- Hampir tidak ada atau minimal dalam sistem pembagian waktu
- Memilih proses dari pool dan memuatnya ke dalam memori untuk dieksekusi
- Penjadwal CPU
- Kecepatan paling cepat di antara dua lainnya
- Memberikan kontrol yang lebih rendah pada tingkat multiprogramming
- Sistem berbagi waktu juga minim
- Memilih proses-proses yang siap dijalankan
- Penjadwal proses swapping
- Kecepatan ada di antara penjadwal jangka pendek dan jangka panjang.
- Mengurangi tingkat multiprogramming
- Bagian dari sistem pembagian waktu.
- Dapat memperkenalkan kembali proses ke dalam memori dan eksekusi dapat dilanjutkan.
Sakelar Konteks
Sakelar konteks adalah mekanisme untuk menyimpan dan mengembalikan status atau konteks CPU dalam blok Kontrol Proses sehingga eksekusi proses dapat dilanjutkan dari titik yang sama di waktu kemudian. Dengan menggunakan teknik ini, pengalih konteks memungkinkan beberapa proses berbagi satu CPU. Pergantian konteks adalah bagian penting dari fitur sistem operasi multitasking.
Ketika penjadwal mengganti CPU dari menjalankan satu proses ke menjalankan yang lain, status dari proses yang sedang berjalan disimpan ke dalam blok kontrol proses. Setelah ini, keadaan untuk menjalankan proses selanjutnya dimuat dari PCB sendiri dan digunakan untuk mengatur PC, register, dll. Pada titik itu, proses kedua dapat mulai dijalankan.
Sakelar Konteks |
Sakelar konteks intensif secara komputasi karena register dan status memori harus disimpan dan dipulihkan. Untuk menghindari jumlah waktu switching konteks, beberapa sistem perangkat keras menggunakan dua atau lebih set register prosesor. Ketika proses ini diaktifkan, informasi berikut disimpan untuk digunakan nanti.
- Penghitung Program
- Penjadwalan informasi
- Base dan batasi nilai register
- Daftar yang digunakan saat ini
- Negara yang Berubah
- Informasi Status I/O
- Informasi akuntan