Penjadwalan CPU yakni basis dari multi programming sistem operasi. Dengan cara men-switch CPU diantara proses, maka akan berakibat sistem operasi mampu membuat komputer produktif. Dalam adegan ini kami akan mengenalkan perihal dasar dari konsep penjadwalan dan beberapa algoritma penjadwalan.
Pada sistem Operasi, terdapat 3 tipe penjadwal berada secara gotong royong pada sistem operasi yang kompleks, yaitu:
a. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
b. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi alasannya yakni membuat undangan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju tamat hingga kondisi-kondisi yang mengakibatkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder biar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil ketika itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
c. Penjadwal jangka panjang (long term scheduller)
Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode acara job-job interaktif rendah.
Meskipun tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun adakalanya proses-proses tersebut butuh untuk saling berinteraksi. Satu proses mampu dibangkitkan dari output proses lainnya sebagai input. Pada ketika proses dieksekusi, akan terjadi perubahan status. Status proses didefiniskan sebagai adegan dari acara proses yang sedang berlangsung ketika itu.
Masing-masing proses direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB). Informasi yang terdapat pada setiap proses meliputi :
- Status Proses. New, ready, running, waiting dan terminated.
- Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
- CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri-atas: accumulator, index register, stack pointer, dan register serbaguna dan beberapa gosip perihal instruksi kondisi. Selama Program Counter berjalan, status gosip harus disimpan pada ketika terjadi interrupt.
- Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya
- Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh sistem operasi.
- Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses.
- Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka.
Sumber http://kumpulanpertanyaanpenting.blogspot.com