Sistem operasi
(bahasa Inggris: operating system ; OS)
adalah seperangkat program yang mengelola sumber daya perangkat keras komputer,
dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi
adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem
komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program
aplikasi pada komputer mereka, kecuali program aplikasi booting.
Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.
Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,
meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk superkomputer dan server web.
Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.
Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.
Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,
meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk superkomputer dan server web.
Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.
Pendahuluan
Biasanya, istilah Sistem Operasi sering ditujukan kepada
semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer
sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem
operasi adalah perangkat lunak sistem yang bertugas untuk melakukan
kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem,
termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah
kata dan peramban web.
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan booting. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu. Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas schedule task, dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubungantara lapisan hardware dengan lapisan software. Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan booting. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu. Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas schedule task, dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubungantara lapisan hardware dengan lapisan software. Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
Kernel, yaitu inti dari sebuah Sistem Operasi
Command Interpreter atau shell, yang bertugas
membaca input dari pengguna
Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi
dasar dan standar yang dapat dipanggil oleh aplikasi lain
Driver untuk berinteraksi dengan hardware eksternal,
sekaligus untuk mengontrolnya.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja
yang berjalan pada satu waktu (misalnya DOS), tetapi sebagian besar Sistem
Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu
yang bersamaan. Sistem Operasi seperti ini disebut sebagaiMulti-tasking
Operating System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem
Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada
input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan
asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering
disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS,
contohnya adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.
Kernel menyediakan banyak
service yang berhubungan dengan I/O. Pada bagian ini, kita akan
mendeskripsikan beberapa service yang disediakan oleh kernel I/O
subsystem, dan kita akan membahas bagaimana caranya membuat
infrastruktur hardware dan device-driver. Service yang akan kita
bahas adalah I/O scheduling, buffering, caching, spooling, reservasi
device, error handling.
Untuk menjadualkan sebuah
set permintaan I/O, kita harus menetukan urutan yang bagus untuk
mengeksekusi permintaan tersebut. Scheduling dapat meningkatkan
kemampuan sistem secara keseluruhan, dapat membagi device secara rata di antara
proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk
menyelesaikan I/O. Ini adalah contoh sederhana untuk menggambarkan
definisi di atas. Jika sebuah arm disk terletak di dekat permulaan
disk, dan ada tiga aplikasi yang memblokir panggilan untuk membaca untuk disk
tersebut. Aplikasi 1 meminta sebuah blok dekat akhir disk, aplikasi 2 meminta
blok yang dekat dengan awal, dan aplikasi 3 meminta bagian tengah dari disk.
Sistem operasi dapat mengurangi jarak yang harus ditempuh
oleh arm disk dengan melayani aplikasi tersebut dengan urutan 2, 3,
1. Pengaturan urutan pekerjaan kembali dengan cara ini merupakan inti
dari I/O scheduling. Sistem operasi mengembangkan implementasi
scheduling dengan menetapkan antrian permintaan untuk tiap device. Ketika
sebuah aplikasi meminta sebuah blocking sistem I/O, permintaan
tersebut dimasukkan ke dalam antrian untuk device tersebut. Scheduler
I/O mengatur urutan antrian untuk meningkatkan efisiensi dari sistem dan
waktu respon rata-rata yang harus dialami oleh aplikasi. Sistem operasi juga
mencoba untuk bertindak secara adil, seperti tidak ada aplikasi yang menerima
service yang buruk, atau dapat seperti memberi prioritas service untuk
permintaan penting yang ditunda. Contohnya, pemintaan dari subsistem mungkin
akan mendapatkan prioritas lebih tinggi daripada permintaan dari aplikasi.
Beberapa algoritma scheduling untuk disk I/O akan dijelaskan ada
bagian Disk Scheduling.
Satu cara untuk
meningkatkan efisiensi I/O subsistem dari sebuah komputer adalah
dengan mengatur operasi I/O. Cara lain adalah dengan menggunakan tempat
penyimpanan pada memori utama atau pada disk, melalui teknik yang
disebut buffering, caching, dan spooling.
Buffer adalah area
memori yang menyimpan data ketika mereka sedang dipindahkan antara
dua device atau antara device dan
aplikasi. Buffering dilakukan untuk tiga buah alasan. Alasan pertama
adalah untuk men-copedengan kesalahan yang terjadi karena perbedaan kecepatan
antara produsen dengan konsumen dari sebuah stream data. Sebagai contoh,
sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan
dihard disk. Kecepatan modem tersebut kira-kira hanyalah 1/1000
daripada hard disk. Jadi buffer dibuat di dalam memori utama
untuk mengumpulkan jumlah byte yang diterima dari modem. Ketika
keseluruhan data dibuffer sudah sampai, buffer tersebut dapat ditulis ke
disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan instan
dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka
dipakai 2 buah buffer. Setelah modem memenuhi buffer pertama,
akan terjadi request untuk menulis di disk. Modem kemudian mulai
memenuhi buffer kedua sementara buffer pertama dipakai
untuk penulisan ke disk. Pada saat modem sudah memenuhi buffer kedua,
penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi
modem akan berganti kembali memenuhi buffer pertama
dan buffer kedua dipakai untuk menulis. Metode double
buffering ini membuat pasangan ganda antara produsen dan konsumen
sekaligus mengurangi kebutuhan waktu di antara mereka.
Alasan kedua
dari buffering adalah untuk menyesuaikan device-device yang mempunyai
perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan
komputer, dimana buffer dipakai secara luas untuk fragmentasi dan
pengaturan kembali pesan-pesan yang diterima. Pada bagian pengirim, sebuah
pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut
dikirim melalui jaringan, dan penerima akan meletakkan mereka di
dalam buffer untuk disusun kembali.
Alasan ketiga
untuk buffering adalah untuk mendukung copy semantics untuk
aplikasi I/O. Sebuah contoh akan menjelaskan apa arti dari copy
semantics. Jika ada sebuah aplikasi yang mempunyai buffer data yang
ingin dituliskan ke disk. Aplikasi tersebut akan memanggil sistem penulisan,
menyediakan pointer ke buffer, dan sebuah integer untuk
menunjukkan ukuran bytes yang ingin ditulis. Setelah pemanggilan tersebut,
apakah yang akan terjadi jika aplikasi tersebut merubah isi dari buffer,
dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data
waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan
perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem
operasi untuk menjamin copy semantics adalah membiarkan sistem
penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum
mengembalikan kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan
pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi
tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel
data aplikasi merupakan sesuatu yang umum pada sistem operasi,
kecuali overhead yang terjadi karena operasi ini karena clean
semantics. Kita dapat memperoleh efek yang sama yang lebih efisien dengan
memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan
pintar.
Sebuah cache adalah
daerah memori yang cepat yang berisikan data kopian. Akses ke sebuah kopian
yang di-cached lebih efisien daripada akses ke data asli. Sebagai contoh,
instruksi-instruksi dari proses yang sedang dijalankan disimpan ke dalam disk,
dan ter-cached di dalam memori physical, dan kemudian dicopy lagi ke
dalam cache secondary and primary dari CPU. Perbedaan antara
sebuah buffer dan ache adalah buffer dapat menyimpan
satu-satunya informasi datanya sedangkan sebuah cache secara definisi hanya
menyimpan sebuah data dari sebuah tempat untuk dapat diakses lebih cepat.
Caching dan buffering adalah
dua fungsi yang berbeda, tetapi terkadang sebuah daerah memori dapat digunakan
untuk keduanya. sebagai contoh, untuk menghemat copy semantics dan
membuat scheduling I/O menjadi efisien, sistem operasi
menggunakan buffer pada memori utama untuk menyimpan data. Buffer ini
juga digunakan sebagai cache, untuk meningkatkan efisiensi I/O untuk
file yang digunakan secara bersama-sama oleh beberapa aplikasi, atau yang
sedang dibaca dan ditulis secara berulang-ulang. Ketika kernel menerima sebuah
permintaan file I/O, kernel tersebut mengakses buffer cacheuntuk
melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. Jika
iya, sebuah physical disk I/O dapat dihindari atau tidak
dipakai. penulisan disk juga terakumulasi ke dalam buffer
cache selama beberapa detik, jadi transfer yang besar akan dikumpulkan
untuk mengefisiensikan schedule penulisan. Cara ini akan menunda
penulisan untuk meningkatkan efisiensi I/O akan dibahas pada
bagian Remote File Access.
Sebuah sistem operasi
yang menggunakan protected memory dapat menjaga banyak
kemungkinan error akibat hardware mau pun
aplikasi. Devices dan transfer I/O dapat gagal dalam banyak
cara, bisa karena alasantransient, seperti overloaded pada network, mau
pun alasan permanen yang seperti kerusakan yang terjadi
pada disk controller. Sistem operasi seringkali dapat mengkompensasikan
untuk kesalahan transient. Seperti, sebuah kesalahan baca pada disk akan
mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman
pada network akan mengakibatkan pengiriman ulang apabila protokolnya
diketahui. Akan tetapi untuk kesalahan permanent, sistem operasi pada
umumnya tidak akan bisa mengembalikan situasi seperti semula.
Sebuah ketentuan umum,
yaitu sebuah sistem I/O akan mengembalikan
satu bit informasi tentang status panggilan tersebut, yang akan
menandakan apakah proses tersebut berhasil atau gagal. Sistem operasi pada UNIX
menggunakan integer tambahan yang dinamakan errno untuk
mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan
sebab dari kesalahan tersebut. Akan tetapi, beberapa perangkat keras dapat
menyediakan informasi kesalahan yang detail, walau pun banyak sistem operasi
yang tidak mendukung fasilitas ini.
Kernel membutuhkan
informasi state tentang penggunakan komponen I/O. Kernel
menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan,
komunikasi karakter-device, dan aktivitas I/O lainnya.
UNIX menyediakan akses sistem
file untuk beberapa entiti, seperti file user, raw devices, dan
alamat tempat proses. Walau pun tiap entiti ini didukung sebuah operasi
baca, semantics-nya berbeda untuk tiap entiti. Seperti untuk membaca file
user, kernel perlu memeriksa buffer cache sebelum memutuskan apakah
akan melaksanakan I/O disk. Untuk membaca sebuah raw disk,
kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari
ukuran sektor disk, dan masih terdapat di dalam batas sektor. Untuk memproses
citra, cukup perlu untuk mengkopi data ke dalam memori. UNIX mengkapsulasikan
perbedaan-perbedaan ini di dalam struktur yang uniform dengan menggunakan
teknik object oriented.
Beberapa sistem operasi
bahkan menggunakan metode object oriented secara lebih extensif.
Sebagai contoh, Windows NT menggunakan
implementasi message-passing untuk I/O. Sebuah
permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim
melalui kernel kepada I/O manager dan kemudian ke device driver,
yang masing-masing bisa mengubah isi pesan. Untuk output,
isi message adalah data yang akan ditulis. Untuk
input, message berisikan buffer untuk menerima data.
Pendekatan message-passing ini dapat menambah overhead, dengan
perbandingan dengan teknik prosedural yang men-share struktur data, tetapi
akan mensederhanakan struktur dan design dari
sistem I/O tersebut dan menambah fleksibilitas.
Kesimpulannya,
subsistem I/O mengkoordinasi kumpulan-kumpulan service yang banyak
sekali, yang tersedia dari aplikasi mau pun bagian lain dari kernel. Subsistem
I/O mengawasi:
Manajemen nama untuk file
dan device.
Kontrol akses untuk file
dan device.
Kontrol operasi, contoh:
model yang tidak dapat dikenali.
Alokasi tempat sistem
file.
Alokasi device.
Buffering, caching,
spooling.
I/O scheduling
Mengawasi
status device, error handling, dan kesalahan dalam recovery.
Konfigurasi dan
utilisasi driver device.
Rangkuman Sistem Operasi – Scheduling (Penjadwalan CPU)
May 20th, 2012
Posted in Sistem Operasi
Kali ini saya akan membahas bagian penjadwalan/scheduling
dari sistem operasi. Oke Markibas, (Mari kita bahas) yuk!
Scheduling dalam sistem operasi dapat diartikan dengan
penjadwalan beberapa proses yang dieksekusi secara satu persatu atau bergantian
pada sistem pemrosesan prosesor tunggal. Proses mana yang akan dijalankan
dahulu? Nah, itulah yang dibahas pada penjelasan kali ini, di bawah terdapat
beberapa cara prosesor menyelesaikan eksekusi proses tersebut atau yang biasa
disebut dengan algoritma penjadwalan.
Sebelumnya, tujuan dari penjadwalan CPU sendiri adalah dapat
memberikan penyelesaian eksekusi program dengan cepat tanpa adanya starvation
pada prosesnya dan juga penggunaan prosesor yang lebih efisien dalam
menyelesaikan eksekusi program.
Algoritma Penjadwalan
Terdapat beberapa cara dalam penyelesaian eksekusi program,
setiap cara memiliki kekurangan dan kelebihan masing-masing dalam pemrosesan
eksekusi program. Dan cara tersebut diantaranya yaitu:
1. First Come First Served (FCFS)
FCFS dapat disebut juga sebagai FIFO yang kepanjangannya adalah First In First Out. Dalam cara/algoritma ini, program yang pertama kali masuk ke CPU diproses hingga proses eksekusi tersebut selesai dan proses selanjutnya yang akan diproses adalah program yang masuk kedua setelah program pertama, dan begitupun terus model pengeksekusiannya. Siapa yang datang dahulu, maka proses itu yang diproses lebih dahulu oleh CPU.
FCFS dapat disebut juga sebagai FIFO yang kepanjangannya adalah First In First Out. Dalam cara/algoritma ini, program yang pertama kali masuk ke CPU diproses hingga proses eksekusi tersebut selesai dan proses selanjutnya yang akan diproses adalah program yang masuk kedua setelah program pertama, dan begitupun terus model pengeksekusiannya. Siapa yang datang dahulu, maka proses itu yang diproses lebih dahulu oleh CPU.
2. Round Robin (RR)
Round Robin adalah algoritma yang menggunakan time slice (potongan waktu). Eksekusi dari sebuah proses diatur dengan berdasar pada alokasi waktu proses. Jadi, proses dari program pertama akan dipotong jika proses kedua datang ke dalam antrian, dan proses kedua akan dipotong jika proses ketiga datang juga ke dalam antrian, pemrosesan proses tersebut dijalankan terpotong-potong hingga proses tersebut selesai diproses.
Round Robin adalah algoritma yang menggunakan time slice (potongan waktu). Eksekusi dari sebuah proses diatur dengan berdasar pada alokasi waktu proses. Jadi, proses dari program pertama akan dipotong jika proses kedua datang ke dalam antrian, dan proses kedua akan dipotong jika proses ketiga datang juga ke dalam antrian, pemrosesan proses tersebut dijalankan terpotong-potong hingga proses tersebut selesai diproses.
3. Shortest Process Next (SPN)
SPN dapat disebut juga sebagai SJF (Shortest Job First), yaitu proses dengan waktu eksekusi terpendek akan diproses lebih dahulu, dan dijalankan sampai proses tersebut benar-benar selesai.
SPN dapat disebut juga sebagai SJF (Shortest Job First), yaitu proses dengan waktu eksekusi terpendek akan diproses lebih dahulu, dan dijalankan sampai proses tersebut benar-benar selesai.
4. Shortest Remaining Time (SRT)
Algoritma dari SRT mirip dengan algoritma yang dimiliki oleh cara SPN, namun perbedaan dari SPN yaitu jika di SRT proses yang memiliki total waktu eksekusinya paling kecil akan langsung diproses tanpa harus menunggu proses sekarang yang sedang berjalan. Proses yang tadinya berjalan akan diantrikan lagi jika sisa waktu dari waktu eksekusi proses tersebut lebih pendek daripada proses lainnya.
Algoritma dari SRT mirip dengan algoritma yang dimiliki oleh cara SPN, namun perbedaan dari SPN yaitu jika di SRT proses yang memiliki total waktu eksekusinya paling kecil akan langsung diproses tanpa harus menunggu proses sekarang yang sedang berjalan. Proses yang tadinya berjalan akan diantrikan lagi jika sisa waktu dari waktu eksekusi proses tersebut lebih pendek daripada proses lainnya.
5. Highest Response Ratio Next (HRRN)
HRRN adalah algoritma pemroresan dengan memperhatikan proses dengan rasio respon yang paling tinggi. Dalam mendapatkan rasio respon dapat menggunakan cara ini, Rasio = (waktu_tunggu + perkiraan_waktu_layan) / (perkiraan_waktu_layan). Jadi dalam algoritma ini proses yang kecil akan menghasilkan rasio yang tinggi, sehingga proses ini akan diutamakan oleh CPU.
HRRN adalah algoritma pemroresan dengan memperhatikan proses dengan rasio respon yang paling tinggi. Dalam mendapatkan rasio respon dapat menggunakan cara ini, Rasio = (waktu_tunggu + perkiraan_waktu_layan) / (perkiraan_waktu_layan). Jadi dalam algoritma ini proses yang kecil akan menghasilkan rasio yang tinggi, sehingga proses ini akan diutamakan oleh CPU.
6. Feedback (FB)
Feedback adalah algoritma yang mirip dengan Round Robin (RR). Yaitu proses akan diantrikan jika terdapat proses yang datang dan dijalankan secara bergantian/terpotong-potong dalam kuantum waktu tertentu. Kuantum waktu tersebut bisa sama, bisa juga tidak sama.
Feedback adalah algoritma yang mirip dengan Round Robin (RR). Yaitu proses akan diantrikan jika terdapat proses yang datang dan dijalankan secara bergantian/terpotong-potong dalam kuantum waktu tertentu. Kuantum waktu tersebut bisa sama, bisa juga tidak sama.
Penjadwalan Real-Time
Penjadwalan real-time dapat diartikan dengan penjadwalan
yang benar-benar valid, yang ditentukan oleh hasil logika dan waktu hasil
diperoleh.
Terdapat dua jenis penjadwalan berdasarkan tugasnya yaitu
penjadwalan dengan hard real time, dan penjadwalan dengan soft real time. Dalam
hard real time, tugas yang dikerjakan harus selesai tepat waktu namun pada soft
real time, tugas yang dikerjakan harus selesai namun tidak ada batasan waktunya.
Sebelumnya, ciri-ciri dari penjadwalan real-time
diantaranya:
- Determinism = Suatu proses memiliki batasan untuk dikerjakan
- Responsiveness = Respon suatu proses untuk dikerjakan
- User Control = Kontrol dari user terhadap proses yang dieksekusi
- Realiability = Penjadwalan ini dapat diandalkan dalam penangan masalah pada sistem operasi
- Fail-Soft Operation = Penyelesaian masalah yang ada pada sistem operasi
- Determinism = Suatu proses memiliki batasan untuk dikerjakan
- Responsiveness = Respon suatu proses untuk dikerjakan
- User Control = Kontrol dari user terhadap proses yang dieksekusi
- Realiability = Penjadwalan ini dapat diandalkan dalam penangan masalah pada sistem operasi
- Fail-Soft Operation = Penyelesaian masalah yang ada pada sistem operasi
Dalam penjadwalan real-time terdapat beberapa piihan
algoritma yaitu:
- Static Table-Driven Approaches
Pada pilihan ini, analisis statis digunakan untuk mencari tugas-tugas mana saja yang ikut dalam antrian dan deadline mana yang paling dekat, maka itulah yang dijalankan lebih dahulu.
Pada pilihan ini, analisis statis digunakan untuk mencari tugas-tugas mana saja yang ikut dalam antrian dan deadline mana yang paling dekat, maka itulah yang dijalankan lebih dahulu.
- Static Priority-Driven Preemptive Approaches
Tugas-tugas diprioritaskan berdasarkan batasan waktu mereka. Pada saat dijalankan jika ada tugas dengan prioritas lebih tinggi, tugas yang sedang dijalankan dapat dihentikan.
Tugas-tugas diprioritaskan berdasarkan batasan waktu mereka. Pada saat dijalankan jika ada tugas dengan prioritas lebih tinggi, tugas yang sedang dijalankan dapat dihentikan.
- Dynamic Planning-Based Approaches
Tugas-tugas sudah direncakan untuk dijalankan, namun jika ada tugas baru datang dan memungkinkan untuk dijalankan, maka akan diterima untuk dijalankan.
Tugas-tugas sudah direncakan untuk dijalankan, namun jika ada tugas baru datang dan memungkinkan untuk dijalankan, maka akan diterima untuk dijalankan.
- Dynamic Best Effort Approaches
Pilihan ini mempunyai perintah untuk menjalankan semua tugas yang datang, namun jika deadline tidak terpenuhi, maka dibatalkan.
Pilihan ini mempunyai perintah untuk menjalankan semua tugas yang datang, namun jika deadline tidak terpenuhi, maka dibatalkan.
Dan ada yang mengelompokkan penjadwalan real-time ini dengan
algoritma lain, yaitu:
- Clock Driven
Clock driven ini biasa digunakan pada hard real-time sistem. Pelaksanaannya menggunakan timer interrupt dan scheduler dapat melakukan pekerjaannya setelah interupsi terjadi.
Clock driven ini biasa digunakan pada hard real-time sistem. Pelaksanaannya menggunakan timer interrupt dan scheduler dapat melakukan pekerjaannya setelah interupsi terjadi.
- Weighted Round Robin
Weighted Round Robin ini digunakan untuk penjadwalan real-time traffic berkecepatan tinggi. Contohnya yaitu pada algoritma penjadwalan jaringan.
Weighted Round Robin ini digunakan untuk penjadwalan real-time traffic berkecepatan tinggi. Contohnya yaitu pada algoritma penjadwalan jaringan.
- Priority Driven
Priority driven ini mengutamakan priotas untuk penyelesaian suatu proses yang dieksekusi. Biasanya digunakan untuk dinamis real-time sistem.
Priority driven ini mengutamakan priotas untuk penyelesaian suatu proses yang dieksekusi. Biasanya digunakan untuk dinamis real-time sistem.
contoh dari penjadwalan jangka panjang, menengah, dan pendek itu apa?? tolong di bantu..
BalasHapusmksd ny
BalasHapusterima kasih artikelnnya sangat membantu.
BalasHapusmantap bung
BalasHapusMy blog