• Scheduling

    -CPU Scheduler
    CPU Scheduler memilih sebuah proses-proses dalam memory yang siap untuk dieksekusi, dan mengalokasikan CPU ke salah satu dari proses tersebut.

    -Kapan Scheduling terjadi?
    Ketika terjadi perubahan state dari running ke waiting.
    Ketika terjadi perubahan state dari running ke ready.
    Ketika terjadi perubahan state dari waiting ke ready.
    Ketika terjadi Terminasi

    -Jenis-jenis Scheduler
    1.Long-term Scheduling
    Keputusan untuk menambahkan suatu proses kedalam daftar proses yang akan dieksekusi

    2.Medium-term Scheduling
    Keputusan untuk menambahkan beberapa proses yang ada dalam main memory baik secara utuh maupun parsial

    3.Short-term Scheduling
    Keputusan untuk memilih proses mana yang dapat dieksekusi oleh prosesor

    4.I/O Scheduling
    Keputusan untuk menjalankan proses I/O yang belum berjalan oleh I/O device yang tersedia

    -Dispatch
    Dispatcher memberikan control CPU kepada proses yang dipilih oleh Short-term Scheduler.
    Dispatch latency merupakan waktu yang diperlukan oleh dispatcher untuk menghentikan sebuah proses dan menjalankan proses lainnya.

    -Elemen-Elemen dalam Scheduling
    CPU Utilization : CPU harus berjalan sesering mungkin.
    Throughput : Banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
    Turnaround Time : Waktu yang dibutuhkan untuk menjalankan sebuah proses tertentu.
    Waiting Time : Waktu tunggu sebuah proses dalam ready queue.
    Response Time : Waktu yang dibutuhkan oleh sebuah proses dari minta dilayani hingga ada respon pertama yang menanggapi layanan tersebut.

    -OPtimization
    1.Max CPU Utilization
    2.Max Throughput
    3.Min Turnaround Time
    4.Min Waiting Time
    5.Min Response Time

    -Tujuan Scheduling
    1.All Systems
    Fairness : Setiap proses mendapat pembagian CPU yang sama.
    Policy Enforcement : Kebijakan dijalankan
    Balance : Menjaga agar setiap part dari system berjalan

    2. Batch Systems
    Throughput : Memaksimalkan pekerjaan tiap jam.
    Turnaround Time : Meminimalkan waktu antara submission dan termination.
    CPU Utilization : Menjaga agar CPU selalu sibuk.

    3. Interactive Systems
    Response Time : Respon terhadap suatu request secepat mungkin.
    Proportionality : Sesuai dengan ekspektasi user.

    4. Real-Time Systems
    Meeting deadlines : Menghindari kehilangan data
    Predictability : Menghindari penurunan kualitas dalam system multimedia

    -Batch-Scheduling Algorithm
    1.First-Come First-Serve
    Proses diassign ke dalam CPU secara urut. Kemudahan menggunakan algoritma ini adalah mudah dimengerti dan mudah untuk di buat programnya. Sedangkan kesulitannya adalah tugas yg kecil/sedikit akan menunggu telalu lama jika mengantri dibelakang tugas yg besar.

    2.Shortest Job First – Non Preemptive
    Ketika CPU diberikan suatu proses yg tidak bisa di interupsi sampai CPU burst-nya selesai.

    3.Shortest Job First – Preemptive
    Ketika CPU diberikan suatu proses yg bisa di interupsi sebelum CPU burst-nya selesai.

    4.Interactive Scheduling Algorithm
    Round-robin scheduling
    Priority scheduling
    Multiple queues
    Shortest process next
    Guaranteed scheduling
    Lottery scheduling
    Fair-share scheduling

    e-book Halaman 447 Bagian 9.2

    1. First-Come First-Serve

    pict1

    Waiting time for A=0, B=2, C=5, D=1, E=3
    Average Waiting Time = (0+2+5+1+3)/5 = 2,2

    2. Shortest Job First – Non Preemptive

    pict2

    Waiting time for A=0, B=4, C=0, D=1, E=3
    Average Waiting Time = (0+4+0+1+3)/5 = 1,6

    3. Shortest Job First – Preemptive

    pict3

    Waiting time for A=0, B=4, C=0, D=1, E=3
    Average Waiting Time = (0+4+0+1+3)/5 = 1,6

    www.skyconnectiva.com
    www.binus.ac.id