Nama Matakuliah : Network Operating System
Kode Matakuliah : TIJ036308
Dosen Pengampu : I Putu Agus Eka Pratama
Program Studi : Teknologi Informasi
Fakultas : Teknik
Universitas : Universitas Udayana
Rangkuman Materi
Pertemuan 3
Hallo semua, kembali lagi bersama admin di blog yang sama.
Setelah pada kesempatan terdahulu admin menceritakan tentang pembelajaran yang
admin dapat di matakuliah NOS, lebih tepatnya pada pertemuan kedua, dalam
kesempatan ini admin kembali akan menceritakan rangkuman pembelajaran yang
admin dapatkan di matakuliah NOS lebih tepatnya pada pertemuan ketiga, tanpa
banyak menghabiskan waktu, berikut merupakan cerita admin.
Scheduling
Scheduling secara sederhana dapat
diartikan sebagai penjadwalan. Lebih jauh scheduling dapat diartikan satu atau
beberapa aturan, mekanisme, dan prosedur di dalam sistem operasi (dimana
aturan, mekanisme, dan prosedur ini melibatkan kernel, aplikasi, dan process)
yang berkaitan dengan urutan kerja yang dilakukan oleh komputer dan sistem
komputer. Jadi kesimpulannya, scheduling dapat diartikan sebagai bagaimana
sebuah sistem operasi mengatur setiap pekerjaan yang dilakukan oleh komputer.
Scheduling dalam sistem operasi
sangat diperlukan karena alasan-alasan sebagai berikut.
Kernel (inti sistem operasi) memiliki utilitas,
fungsi-fungsi utama dan dukungan terhadap software dan hardware (sesuai dengan
arsitektur komputer 32 atau 64 bit).
Hal ini bisa terjadi karena dukungan terhadap suatu aplikasi
dalam sistem operasi, tergantung dari seberapa cepat komputer dapat merespon
instruksi yang diberikan oleh aplikasi yang diteruskan oleh sistem operasi.
Process pada sistem operasi, dimana kernel memiliki peran
Process yang terjadi pada sistem operasi diatur oleh kernel,
maka dari itu untuk memastikan semua proses dapat berjalan, maka sangat perlu
untuk dilakukan penjadwalan untuk menghindari kemungkinan terjadinya tabrakan
proses.
Multiprogramming pada sistem operasi (akan dibahsa lebih
detail pada bagain selanjutnya)
Multiprogramming
Multiprogramming merupakan
istilah untuk menyatakan kemampuan sistem operasi untuk menjalankan dua
aplikasi atau lebih secara bersama-sama, sehingga menghasilkan proses. Mungkin
bagi sebagian orang multiprogramming diartikan sama dengan multiprocessing,
namun sebenarnya kedua istilah tersebut berbeda. Sebab multiprocessing lebih
menekankan pada kemampuan perangkat keras komputer untuk menjalankan dua proses
atau lebih secara bersama-sama. Jadi dapat disimpulkan bahwa perbedaan
multiprogramming dan multiprocessing adalah multiprogramming lebih menekankan
dari sisi software sedangkah multiprocessing lebih menekankan dari sisi
hardware.
Peran Scheduling
Scheduling dalam sistem operasi
memiliki beberapa peran. Berikut merupakan peran scheduling dalam sistem
operasi.
Memaksimalkan Throughput
Throughput merupakan sebuah istilah pada komputer mengacu pada kapasitas sebuah komputer untuk menjalankan instruksi pada suatu waktu. Jadi peran scheduling disini adalah untuk memaksimalkan kinerja komputer agar dapat menjalankan instruksi yang diberikan.
Memaksimalkan Kinerja dan Waktu Processor
Scheduling dalam sistem operasi memiliki peran penting dalam
mendukung kinerja dari komputer dan waktu processor. Sebab jika tanpa
scheduling yang baik, processor akan bekerja sesuai dengan urutan instruksi
yang diberikan kepadanya, tanpa peduli seberapa lama proses yang diperlukan
untuk melakukan eksekusi terhadap instruksi tersebut. Melihat hal tersebut,
maka terdapat kemungkinkan, bahwa instruksi yang memerlukan waktu eksekusi yang
lebih singkat akan sangat lama untuk dieksekusi. Maka dari itu disini peran
scheduling sangat penting.
Efisiensi Process
Schedulling berperan untuk melakuakn efisiensi terhadap
setiap proses yang akan dikerjakan oleh komputer. Efisiensi yang dimaksud
adalah melakukan proses sesuai dengan waktu respon yang diperlukan oleh suatu
proses, sehingga kinerja dari komputer dapat maksimal.
Keadilan (fairness) pada Semua Job dan Aplikasi
Keadilan pada semua job dan aplikasi merupakan suatu perang
penting dari scheduling yang dimiliki oleh sistem operasi. Scheduling yang
mengatur bagaimana semua job dan aplikasi dapat dijalankan dan mengatur
bagaimana penggunaan resource yang dimiliki oleh komputer agar bisa menjalankan
keseluruhan job dan aplikasi tersebut.
Meminimalkan Waktu Tanggap (Time Respon)
Scheduling juga memiliki peran untuk meminimalkan waktu
tanggap yang diberikan terhadap suatu instruksi atau aplikasi. Keadaan ini akan
berlaku ketika sebuah instruksi atau aplikasi memerlukan waktu yang terlalu
lama untuk menanggapi, maka scheduling akan melakukan terminate terhadap
instruksi atau aplikasi tersebut dan akan memberikan pesan proses not
responding, sehingga mengharuskan instruksi atau aplikasi dijalankan ulang.
Optimalisasi Sumber Daya (Resource)
Scheduling juga memiliki peran untuk melakukan optimalisasi
terhadap sumber daya yang dimiliki oleh komputer. Hal ini sangat diperlukan,
terutama saat komputer menjalankan instruksi atau aplikasi yang memerlukan
sumber daya yang cukup besar, dengan tujuan agar instruksi atau aplikasi
tersebut dapat berjalan secara maksimal.
4 Jenis Scheduling
Berikut merupakan 4 jenis scheduling yang biasa digunakan dalam sistem operasi.
Long Term Scheduling
Long term scheduling merupakan penjadwalan dengan
menambahkan pool untuk process yang akan dieksekusi. Dalam long term scheduling
semua proses akan mendapatkan alokasi memori yang sama, sehingga alokasi memori
yang diberikan adalah 1/n (dimana n adalah jumlah instruksi atau proses yang
dijalankan).
Medium Term Scheduling
Medium term scheduling merupakan penjadwalan dengan
menambahkan jumlah dari process balik secara penuh maupun persial di dalam
memori utama. Dalam medium term scheduling suatu proses akan dijalankan secara
bergantian, dimana setelah satu proses selesai, maka proses selanjutnya akan dibawa
ke memori utama, sebagai tempat penampung proses selama berjalan.
Short Term Scheduling
Short term scheduling merupakan penjadwalan dengan memilih
process mana yang akan dieksekusi terlebih dahulu oleh processor dalam waktu
singkat. Dalam short term schedulling proses yang memerlukan waktu eksekusi
lebih singkat akan dieksekusi terlebih dahulu, dengan tujuan untuk memimalkan
terjadinya error.
I/O Scheduling
I/O scheduling adalah penjadwalan dengan memilih process
mana yang tertunda yang dapat dilanjutkan kembali berdasarkan ketersediaan
perangkat I/O. Dalam I/O scheduling ini sistem operasi akan melihat terlebih
dahulu proses yang tertunda karena belum tersedianya I/O yang diperlukan, jika
I/O yang diperlukan sudah tersedia maka proses akan dilanjutkan.
Scheduling dan State
Process
Scheduling sesuai dengan pembahasan yang telah dilakukan
selalu berhubungan dengan process, sehingga secara otomatis scheduling juga
berhubungan dengan kondisi (state) dari suatu process. Kondisi (state) dari
suatu process terdiri dari lima yaitu new, ready, running, blocked, terminated.
Penggambaran hubungan antara scheduling dengan state process dapat dilihat pada
Gambar berikut.
Sesuai dengan Gambar diatas proses state dari New menuju
Ready memerlukan Long-Term Scheduling, sebab jika suatu proses dimasukkan ke
komputer maka proses tersebut akan dibaca oleh sistem operasi dan ditunggu
sampai statusnya ready, kemudian dari state Ready/Suspend menuju Ready
memerlukan medium-term scheduling, dan dari state Ready menuju Running
memerlukan short-term scheduling, sebab jika suatu instruksi atau aplikasi
gagal running, maka instruksi atau aplikasi tersebut akan di terminated. Penggambaran
lain dari scheduling adalah queue scheduling dapat dilihat pada Gambar berikut.
Sesuai dengan Gambar diatas merupakan penggambaran dari
antrian instruksi yang dimasukan ke dalam komputer. Instruksi memerlukan
long-term scheduling untuk mencapai state ready dan jika state ready sudah
dicapai maka instruksi memerlukan short-term scheduling untuk running, dan jika
status belum running, maka akan terjadi terminate, yang bisa menyebabkan
intruksi di blok yang kembali ke keadaan semula, dan harus masuk kembali ke
antrian. Penggambaran lain dari hubungan scheduling dan state process dapat
dilihat pada Gambar berikut.
Sesuai dengan Gambar di atas process state dari new menuju
running memerlukan long-term scheduling, kemudian dari state ready menuju
running dan blocked memerlukan short-term scheduling, kemudian dari ready
menuju exit memerlukan long-term scheduling, dan begitu juga yang lain.
Algoritam Scheduling
Algoritma scheduling di dalam sistem operasi terdiri dari
banyak jenis, namun pada kesempatan ini akan dibahas algoritma yang terpenting
saja. Algoritma scheduling berfungsi membantu alur scheduling pada sistem serta
membantu programmer di dalam pengembanagn aplikasi terkait dengan sistem
operasi. Berikut merupakan beberapa algoritma scheduling yang sering digunakan
dalam sistem operasi.
Round Robin
Round robin merupakan suatu algoritma yang menggunakan
konsep antrian (queue). Ciri khas dari round robin adalah setiap process
memiliki time quantum untuk menandai waktu dari process (dimana time quantum
menyatakan selesai suatu proses dieksekusi), setiap proses memiliki time
quantum yang sama yaitu 1/n (dimana n merupakan jumlah prosess). Hal yang perlu
diperhatikan dalam algoritma round robin adalah time quantum yang diberikan
jangan terlalu kecil (karena process tidak dapat selesai dalam 1 quantum), time
quantum juga jangan terlalu besar (karena bisa menimbulkan FCFS (First Come
First Serve)). Nilai ideal dari time quantum adalah 80 (dari skala 0 sampai 100).
First In First Out (FIFO)
FIFO merupakan suatu algoritma menggunakan konsep process
yang lebih dahulu datang akan segera dieksekusi, dan proses yang lain harus
masuk antrian. Kelemahan dari FIFO adalah setiap proses memiliki waktu eksekusi
yang berbeda, ada proses yang memerlukan waktu eksekusi pendek dan ada proses
yang memerlukan waktu eksekusi yang lama, jika antrian dilakukan pada semua
proses tersebut sangat mungkin untuk terjadi antrian yang begitu panjang.
Solusi dari kelemahan FIFO adalah SJF.
Shortest Job First (SJF)
SJF merupakan perbikan
dari algoritma FIFO. Konsep yang digunakan dalam SJF adalah proses yang
memerlukan waktu eksekusi yang pendek akan didahulukan atau diprioritaskan. Sehingga
bisa mengoptimalkan setiap instruksi yang dijalankan.
Referensi : Agus, eka, pratama. 2018. Network Operating System. Universitas Udayana
Sekian rangkuman materi pertemuan pertama yang dapat admin sampaikan, semoga bisa bermanfaat bagi pembaca dan dapat menambah wawasan pembaca, akhir kata admin ucapkan terimakasih.
0 komentar:
Posting Komentar