Rabu, 14 November 2012

Penjadwalan - Organisasi Arsitektur Komputer


Penjadwalan

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
Penjadwalan bertugas memutuskan hal-hal berikut :
  • Proses yang harus berjalan.
  • Kapan dan selama berapa lama proses berjalan.
Umumnya penjadwalan digunakan dalam multiprograming.Adapun kunci untuk multi-pemrograman :
  • Penjadwalan jangka panjang (job scheduler)
  • Penjadwalan jangka menengah
  • Penjadwalan jangka pendek (CPU scheduler)
  • Penjadwalan I/O


a)      Penjadwalan Jangka Panjang (Job Scheduler)
ü      Menyeleksi proses-proses mana yang harus dimasukkan ke dalam ready queue dan membawanya ke memori utama untuk dieksekusi
b)      Penjadwalan Jangka Menengah
ü      Menangani  serta mengendalikan  transisi  dari  suspended-to-ready dari proses-proses swapping.
c)      Penjadwalan Jangka Pendek (CPU Scheduler)
ü      Menentukan proses mana yang selanjutnya akan dieksekusi dan mengalokasikan CPU untuk proses tersebut, dimana pemilihan proses barunya dialokasikan sesering mungkin
ü      Dispatcher : keputusan pekerjaan untuk mengeksekusi berikutnya yaitu yang benar-benar pekerjaan yang bisa menggunakan prosesor dalam slot waktu berikutnya


Keadaan Proses


  • New                 : Proses sedang dikerjakan/ dibuat.
  • Ready              : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor
  • Running            : Instruksi sedang dikerjakan.
  • Blocked      :Proses sedang menunggu sejumlah kejadian untuk terjadi (penyelesaian I/O atau penerimaan sebuah tanda/ signal).
  • Exit                  : Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.

Process Control Block

Fungsi PCB sebagai tempat menyimpan/ gudang untuk informasi apapun yang dapat bervariasi dari proses ke proses.PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, yaitu:
  • Identifier : memiliki identifier yang unik
  • State : keadaan proses (new,ready,dsb)
  • Priority : tingkatan prioritas relative
  • Program counter : alamat intruksi berikutnya di dalam program yang akan di eksekusi
  • Memory pointers : lokasi awal dan akhir proses di dalam memori
  • Context data : data dalam register
  • I/O status : request I/O yang belum terpenuhi
  • Accounting information : jumlah waktu prosesor dan clock time,batas waktu,nomor account

Elemen kunci sistem operasi multiprogramming


Sistem operasi menerima control prosessor pada interupt handler dan pada service call.Sekali interupt/service call dilayani,maka short term queue dipanggil untuk mengambil proses selanjutnya dieksekusi.

Diagram Antrian Penjadwalan prosessor


Setiap permintaan proses ditempatkan di Long Term Queue(daftar tugas bagi proses yang sedang menunggu sumber daya),Saat sumber daya dipakai,permintaan menjadi sebuah proses dan berada dalam keadaan siap dan diletakan di Short Term Queue(seluruh proses yang berada dalam keadaan siap),Prosesor mengeksekusi intruksi system operasi dan mengeksekusi proses pengguna,dalam pengontrolannya,system operasi menentukan proses mana yang ada di antrian harus dieksekusi untuk kesempatan selanjutnya.Bila penangguhan karena proses minta I/O maka proses ditempatkan pada antrian I/O tertentu.Saat operasi I/O selesai,system operasi memindahkan proses yang dipilih dari antrian I/O di Short Term Queue.Kemudian system operasi memilih proses lainnya yang sudah menunggu.

Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
ü      Adil (fairness) : proses-proses yang diperlakukan sama
ü      Efisiensi (eficiency)
ü      Waktu tanggap (response time):
a.       Sistem interaktif : didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.
b.      Sistem waktu nyata : didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
ü       Turn around time : waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.

Algoritma Penjadwalan :

Ø      First-Come First-Served (FCFS) : algoritma penjadwalan yang paling sederhana.Proses yang  tiba  terlebih dahulu  yang akan dieksekusi terlebih dahulu.
Ø      Shortest-Job First (SJF)  : setiap  proses  yang  ada  di  antrian  ready  akan  dieksekusi  berdasarkan  burst  time  terkecil.  Hal  ini mengakibatkan waiting  time yang pendek(algoritma yang optimal)
Ø      Penjadwalan dengan Prioritas : Priority  Scheduling  merupakan  algoritma  penjadwalan  yang  mendahulukan  proses  dengan  nilai prioritas  tertinggi.  Setiap  proses memiliki  prioritasnya masing-masing.
Ø      Round Robin : Algoritma  ini didesin untuk sistem  time-sharing. Proses akan mendapat  jatah sebesar  time quantum dengan nilai quantum umumnya sebesar 10-100 ms. Jika time quantum-nya habis atau proses sudah selesai  CPU  akan  dialokasikan  ke  proses  berikutnya.  Tentu  proses  ini  cukup  adil  karena  tak  ada proses yang diprioritaskan, semua proses mendapat  jatah waktu yang sama dari CPU (1/n), dan  tak akan menunggu lebih lama dari (n-1)/q.
Ø      Antrian Multilevel (Multilevel Queue) : Ide didasar pada sistem prioritas proses. Prinsipnya adalah setiap proses dapat dikelompokkan berdasarkan prioritasnya.
Ø      Multilevel Feedback Queue : algoritma  ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU  terlalu  lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Ini menguntungkan proses interaksi, karena proses ini  hanya memakai waktu CPU  yang  sedikit. Demikian  pula  dengan  proses  yang menunggu  terlalu lama. Proses ini akan dinaikkan tingkatannya.



Thank's to :
Stallings,W. Organisasi dan Arsitektur Komputer Jilid 1.1998.Jakarta:Prenhallindo.

4 komentar: