Senin, 02 November 2015

[Pert 9 & 10] Scheduling

a. Process Bound
b. I/O Bound


CPU Scheduler
  • menyeleksi proses-proses di dalam memory yang sudah siap untuk dieksekusi, dan mengalokasikan CPU ke dalam nya.
  • Penjadwalan CPU (scheduling) dapat mengambil keputusan ketika proses
      • Pergantian dari status running menjadi waiting
      • Pergantian status dari running menjadi ready (siap)
      • Pergantian status dari waiting menjadi ready
      • Terminasi (terminate)
    • Scheduling pada no 1 dan 4 bersifat non-preemptive
    • Sedangkan sisa nya bersifat preemptive

    Tipe-tipe Scheduler :
    1. Long Term Scheduling --> keputusan yang dibuat untuk menambahkan banyak proses untuk dieksekusi
    2. Medium Term Scheduling --> keputusan yang dibuat untuk menambahkan beberapa proses yang berada di dalam main memory, proses tersebut sudah sepenuh nya berada di main memory
    3. Short Term Scheduling --> keputusan dimana proses yang available (tersedia) akan dieksekusi oleh processor
    4. I/O Scheduling --> keputusan dimana  proses request I/O yang pending harus ditangani oleh perangkat I/O yang tersedia. I/O = Input Output


    Transisi Status Scheduling dan Proses


    Long Term Scheduler :
    • menentukan program mana yang diterima oleh sistem untuk diproses
    • mengontrol tingkat dari multiprogramming
    Medium Term Scheduler :
    • merupakan bagian dari fungsi swapping (pertukaran)
    • keputusan swapping berdasarkan dari kebutuhan untuk memanage tingkat daripada multiprogramming
    Short Term Scheduler :
    • dikenal sebagai dispatcher
    • melakukan eksekusi paling banyak / sering
    • melakukan keputusan yang sangat bagus untuk proses yang akan diekseksui nanti nya
    • Cth : clock interrupt, I/O interrupt, pemanggilan OS (Operating System) dan sinyal
    Short Term Scheduler :
    • tujuan utama nya adalah untuk mengalokasikan waktu processor untuk mengoptimalkan aspek dalam sikap sistem
    • kriteria tertentu dibutuhkan untuk mengevaluasi kebijakan scheduling

    Kriteria dalam melakukan Scheduling :
    • pemanfaatan CPU (membuat CPU sesibuk mungkin)
    • throughput (# proses yang melengkapkan eksekusi nya per unit waktu)
    • turnaround time / waktu penyelesaian (waktu untuk melakukan eksekusi pada proses tertentu)
    • waktu tunggu (waktu yang dibutuhkan untuk proses yang sedang menunggu untuk dapat bersiap-siap di antrian)
    • waktu response (waktu yang dibutuhkan ketika suatu request diberikan sampai respon pertama diberikan, tapi bukan output)
    Kriteria Optimasi :
    • Pemanfaatan CPU max.
    • Max Throughput
    • Min. waktu penyelesaian
    • Min. waktu menunggu
    • Min. waktu respon

    Tujuan dari Scheduling :



    Algoritma Scheduling :

    1. First Come First Serve

    Keuntungan : mudah dimengerti dan gampang untuk diprogram
    Kerugian : pekerjaan yang pendek / sedikit akan menunggu lebih lama ketika pekerjaan yang banyak berada di depan nya.

    2. Shortest Job First

    • 2 skema :
      • Non-preemptive ---> ketika CPU menerima proses, maka CPU tidak dapat di preempted sampai CPU selesai
      • Preemptive ---> apabila proses baru tiba dengan panjang burst CPU yang lebih kecil daripada sisa waktu dari eksekusi proses sekarang, preempt. Skema ini dikenal sebagai Shortest Remaining Time First (SRTF)


    Beberapa Algoritma interaktif dari Scheduling :
    1. Round-Robin Scheduling
    2. Virtual Round Robin Scheduling
    3. Shortest Process Next
    4. Shortest Remaining Time Next
    5. Highest Response Ratio Next
    6. Feedback Scheduling
    7. Guaranteed Scheduling
    8. Fair Share Scheduling
    9. Real Time Scheduling


    Round Robin Scheduling

    • menggunakan preemption sesuai dengan waktu
    • dikenal sebagai time slicing karena setiap proses diberikan potongan waktu sebelum dieksekusi
    • sangat efektif untuk sistem pembagian waktu atau transaksi



    Virtual Round Robin Scheduling


    Shortest Process Next
    • kebijakan non-preemptive dimana proses dengan waktu proses terkecil akan dipilih selanjut nya
    • proses yang sebentar akan menjadi antrian pertama
    • kemungkinan untuk permintaan proses yang lebih lama
    • satu kesulitan yang perlu diingat yaitu waktu proses yang dibutuhkan untuk setiap proses


    Highest Response Ratio Next
    • memilih proses selanjutnya dengan ratio yang paling besar
    • sangat atraktif karena mencatat umur dari proses




    Feedback Response




    Cara melakukan perbedaan performa :



    Guaranteed Scheduling
    • pada single user sistem, dengan n proses yang sedang berjalan, setiap proses akan mendapatkan 1/n dari siklus CPU
    • ratio sebesar 0.5 artinya adalah proses hanya mempunyai setengah dari apa yang harus dimilikinya
    • ratio sebesar 2.0 artinya proses memiliki 2(dua) kali banyak yang seharusnya dimiliki oleh proses tersebut


    Fair Share Scheduling
    • keputusan scheduling berdasarkan pada pengaturan proses
    • setiap user diberikan bagian dari processor

    Real Time Scheduling

    dimana :
    m = periodic event
    event i terjadi dalam periodik Pi dan membutuhkan Ci detik







    Tambahan :

    Tugas dari Buku hlm. 427, bag. 92


    | Process Name | Arrival Time | Processing Time |
    ----------------------------------------------------------
    |             A             |           0              |               3                |
    |             B             |            1              |               5                |
    |             C              |            3             |               2                |
    |             D             |            9              |               5                | 
    |             E             |           12             |               5                |
    ------------------------------------------------------------------------


    1. First Come First Serve

    Waiting Time :
    A = 0
    B = 2
    C = 5
    D = 1
    E = 3

    Average : 11 \ 5 = 2.2


    2. Shortest Job First Non Preemptive

    Waiting Time :
    A = 0
    B = 4
    C = 0
    D = 1
    E = 3

    Average : 8 / 5 = 1.6


    3. Shortest Job First Pre Emptive

    Waiting Time :
    A = 0
    B = 4
    C = 0
    D = 1
    E = 3

    Average : 8 / 5 = 1.6






    Tidak ada komentar:

    Posting Komentar