FayadGanteng
Top 10 List of Week 08
Fayaad --- Jakarta

Top 10 List of Week 08

  1. Why CPU Scheduling ? 📅
    Sebuah proses menggunakan waktu I/O dan waktu CPU. Dalam sistem pemrograman uni seperti MS-DOS, waktu yang dihabiskan untuk menunggu I/O terbuang percuma dan CPU tidak melakukan apapun. Dalam sistem pemrograman multi, satu proses dapat menggunakan CPU sementara proses lainnya menunggu I/O. Hal ini hanya memungkinkan apabila kita menggunakan Proses Scheduling.

  2. Preemptive Scheduling ▶
    Preemptive Scheduling merupakan salah satu metode Scheduling yang mana sebagian besar tugas ditetapkan berdasarkan prioritasnya. Terkadang penting untuk menjalankan tugas dengan prioritas yang lebih tinggi sebelum tugas lainnya yang dengan prioritas lebih rendah, meskipun tugas dengan prioritas lebih rendah masih berjalan. Ketika itu berlangsung, tugas dengan prioritas yang lebih rendah akan berhenti dahulu selama beberapa waktu dan dilanjutkan setelah tugas dengan prioritas yang lebih tinggi menyelesaikan pekerjaannya.

  3. Non-Preemptive Scheduling ◀
    Dalam metode penjadwalan jenis ini, CPU telah dialokasikan untuk proses tertentu. Proses yang membuat CPU menjadi sibuk akan melepaskan CPU tersebut baik dengan mengubah konteks atau mengakhiri proses. Ini adalah satu-satunya metode yang dapat digunakan pada berbagai platform hardware, karena hal ini tidak memerlukan hardware khusus (misalnya timer) seperti pada Preemptive Scheduling .

  4. Shortest Job First Scheduling 1️⃣
    Shortest Job First atau disingkat SJF adalah algoritma yang mana proses dengan waktu eksekusi terkecil akan dipilih untuk eksekusi berikutnya. Metode Scheduling ini dapat bersifat preemptive atau non-preemptive. Metode ini secara signifikan mengurangi waktu tunggu rata-rata untuk proses lain yang menunggu untuk dieksekusi. Simak selengkapnya pada artikel berikut ini!

  5. Round Robin Scheduling ⭕
    Nama algoritma ini berasal dari prinsip round-robin, yaitu setiap orang mendapatkan bagian yang sama secara bergantian. Algoritma ini merupakan Scheduling yang tertua dan yang paling sederhana, yang sering digunakan dalam multitasking. Dalam Round-robin Scheduling, setiap tugas yang sudah siap akan dijalankan secara bergiliran dalam cyclic queue pada waktu yang terbatas. Algoritma ini juga menawarkan eksekusi proses tanpa Starvation. Lebh lengkapnya ada pada artikel berikut ini!

  6. Multilevel Queue Scheduling 📚
    Multilevel Queue, yang telah digunakan setidaknya sejak akhir 1950-an, merupakan Queue dengan jumlah level yang telah ditentukan. Tidak seperti Multilevel Feedback Queue, item-item akan ditugaskan ke level tertentu saat dimasukkan (input) dan tidak dapat dipindahkan ke level lain. Nantinya, item-item tersebut akan dihapus dari queue dengan menghapus semua item pada suatu level, lalu queue pindah ke level berikutnya. Jika item ditambahkan ke level diatasnya, maka pengambilan data akan dimulai ulang dari sana. Setiap level pada queue dapat menggunakan penjadwalannya sendiri, sehingga bisa menambah fleksibilitas yang lebih besar daripada hanya memiliki beberapa level dalam queue.

  7. Load Balancing 🔄
    Load Balancing didefinisikan sebagai distribusi lalu lintas jaringan atau aplikasi yang efisien dan metodis pada beberapa server dalam sebuah server farm. Setiap Load Balancer berada di antara perangkat klien dan server backend, menerima dan kemudian mendistribusikan permintaan masuk (request) ke server yang tersedia yang dapat memenuhinya. Lebih lengkapnya akan dibahas pada artikel ini!

  8. Throughput 👩‍💼
    Bayangkan sebuah bank dengan beberapa teller yang melayani orang. Throughput dalam hal ini adalah jumlah orang yang dilayani dalam suatu waktu tertentu (10 menit misalnya). Sehingga, throughput memberi kita gambaran tentang seberapa efisien bank tersebut meskipun terdapat pelanggan yang berbeda dengan membutuhkan waktu yang berbeda tergantung pada kebutuhan masing-masing. Sama halnya pada Sistem Operasi, Throughput merupakan angka seberapa banyak proses yang terselesaikan pada suatu waktu tertentu.

  9. Burst Time 🎇
    Setiap proses dalam sistem komputer membutuhkan sejumlah waktu untuk mengeksekusinya, dalam hal ini ialah CPU time dan I/O time. Sehingga, Burst Time adalah total waktu yang dibutuhkan oleh suatu proses untuk dieksekusi pada CPU ataupun I/O. Lengkapnya akan dibahas pada artikel ini!

  10. CPU Burst vs I/O Burst 💻
    Secara singkatnya, sebuah CPU Burst terjadi pada saat mengeksekusi instruksi dan IO Burst terjadi pada saat service me-request untuk mengambil informasi. Ide dibalik ini adalah setiap komponen akan beroperasi sampai tidak bisa. Secara lengkapnya akan dibahas pada video berikut ini!