–Job yang dieksekusi pada sistem batch
–User Program atau task pada sistem time shared
–Beberapa program yang dijalankan pada satu waktu : satu program interactive dan beberapa program batch pada system single user seperti MS-DOS
•Proses adalah program yang sedang dieksekusi.
•Eksekusi proses dilakukan secara berurutan
•Proses bukan hanya “kode program”, tapi juga termasuk didalamnya :
–Aktifitas saat ini yang merupakan nilai dari “program counter”
–Isi dari register processor
–Program stack
–“Data section” yang berisi variabel global
–Menyimpan status proses, seperti : aktif, wait I/O request dll
•Proses adalah entiti aktif, mempunyai program counter yang menunjuk ke instruksi selanjutnya yang akan dieksekusi
•Dua proses yang merupakan program yang sama mempunyai urutan eksekusi yang terpisah
•Suatu proses membutuhkan resource untuk menyelesaikan pekerjaannya, dimana resource tersebut dialokasikan oleh proses pada saat dibuat atau dieksekusi
STATUS PROSES
•Apabila proses dieksekusi maka kemungkinan akan terjadi perubahan “state”
•Status dari sebuah proses mencerminkan suatu keadaan/ aktivitas yang sedang dilakukan oleh proses itu sendiri.
•Hanya satu proses yang dapat berjalan pada prosesor manapun pada satu waktu, tetapi banyak proses yang dapat berstatus ready atau waiting
•Status proses terdiri dari :
–NEW
Status yang dimiliki pada saat proses baru saja dibuat
–RUNNING
Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi
Proses bisa dieksekusi karena CPU tidak sedang mengerjakan tugas yang lain
–WAITING
Status yang dimiliki pada saat proses menunggu suatu event, seperti penyelesaian I/O atau menerima signal
–READY
Status yang dimiliki pada saat proses siap dieksekusi oleh processor
Proses menunggu jatah waktu dari processor
–TERMINATED
Status yang dimiliki pada saat proses telah selesai dieksekusi
•Ada 3 kemungkinan bila sebuah proses memiliki status running :
Jika program telah selesai dieksekusi à status proses berubah menjadi TERMINATED
Jika waktu yang disediakan oleh OS untuk proses tersebut habis à akan terjadi interrupt dan proses berstatus READY
Jika suatu event terjadi pada saat proses dieksekusi (seperti ada request I/O) à proses tersebut akan menunggu event tersebut dan proses berstatus WAITING
Process Control Block (PCB)
•Setiap proses direpresentasikan pada OS sebagai “Process Control Block”
•PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses satu dengan proses yang lainnya
•PCB berisi informasi dari proses tertentu :
–Status Proses
Status yang mungkin dimiliki oleh setiap proses : new, ready, running, waiting, terminated
–Program Counter
Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut
–CPU Register
•Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer, meliputi :
Accumulator, register index, stack pointer, dan register serbaguna
•Bila terjadi interrupt, status informasi disimpan dan proses dilanjutkan
–Informasi Penjadwalan CPU
•Berisi prioritas dari proses, pointer ke antrian penjadwalan, parameter penjadwalan lainnya
–Informasi Manajemen Memori
Berisi nilai dari dasar(basis) dan limit (batas) register, tabel page, atau tabel segmen
–Informasi Accounting
Berisi jumlah CPU dan real time yang digunakan,batas wakti, jumlah job atau proses dll
–Informasi Status I/O
Informasi daftar dari perangkat I/O yang digunakan untuk proses ini
Informasi daftar file-file yang sedang diakses
KONSEP PENJADWALAN
Konsep dari Multiprogramming :
–Suatu proses akan menggunakan CPU sampai proses tersebut dalam status “wait” (misal : meminta I/O) selesai
–Pada saat “wait” à CPU akan menganggur, untuk mengatasi hal ini à CPU dialihkan ke proses lain yang berstatus “ready”
Tujuan dari Multiprogramming adalah :
–Untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang digunakan oleh CPU untuk memperkecil waktu idle
Untuk Sistem yang bersifat Uniprogramming:
–Hanya ada 1 proses yang dapat berjalan setiap waktunya
–Jika ada proses yang lebih dari satu, maka proses yang lain harus menunggu sampai CPU bebas dan siap untuk dijadwalkan kembali
QUEUE SCHEDULING
Queue Scheduling dapat diklasifikasikan dalam 3 kategori :
–Job Queue
Antrian berisi semua proses yang masuk dalam sistem
–Ready Queue
Proses yang berada pada memori utama, siap dan menunggu untuk dieksekusi
–Device Queue
Deretan proses yang sedang menunggu peralatan I/O
Tiap peralatan I/O memiliki device queue
–Setiap antrian disimpan sebagai linked list dan berisi pointer awal dan akhir PCB.
–Tiap PCB memiliki suatu pointer menunjuk ke proses selanjutnya pada antrian
–Proses baru mula-mula diletakkan di ready queue dan menunggu sampai dipilih untuk dieksekusi (dispatched) CPU
–Ketika proses dialokasikan CPU dan dieksekusi, terjadi satu dari event berikut :
•Proses meminta I/O dan kemudian ditempatkan pada I/O queue
•Proses membuat sub proses baru dan menunggu diterminasi
•Proses dihapus dari CPU karena diinterrupt dan dikembalikan ke ready queue
SCHEDULER (PENJADWAL)
•Sistem operasi harus memilih dan memproses antrian-antrian berdasarkan kategorinya, dimana proses seleksinya dilakukan oleh scheduler yang tepat
•Ada 3 tipe Scheduler :
–Long Term Scheduler (Job Scheduler)
–Short Term Scheduler (CPU Scheduler)
–Medium Term Scheduler
•Long Term Scheduler (Job Scheduler)
–Menyeleksi proses-proses mana yang harus dimasukkan ke dalam ready queue dan membawanya ke memori untuk dieksekusi
–Long Term Scheduler mengeksekusi lebih jarang, dibutuhkan beberapa menit untuk pembuatan proses baru dalam sistem
–Long Term Scheduler à mengontrol jumlah proses dalam memori (degree of multiprogramming)
–Jika degree of multiprogramming stabil à tingkat rata-rata penciptaan proses harus sama dengan tingkat rata-rata proses meninggalkan sistem
•Short Term Scheduler (CPU Scheduler)
–Menentukan proses mana yang selanjutnya akan dieksekusi dan mengalokasikan CPU untuk proses tersebut, dimana pemilihan proses barunya dialokasikan sesering mungkin
–Sort Term Scheduler à lebih sering dipanggil (hanya dalam waktu milisecond)
–Karena durasi yang pendek antara eksekusi, short Term Scheduler harus sangat cepat

0 komentar:
Posting Komentar