KELOMPOK 6
SISTEM OPERASI
(Penjadwalan Waktu Nyata)
Oleh :
Arif Mudi Priyatno
Septian Nugraha
Rinaldi Syarfianto
Filiyensi
TEKNIK INFORMATIKA J
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS & TEKNOLOGI
UNIVERSITAS ISLAM NEGERISULTAN SYARIF KASIMRIAU2015
Kata Pengantar
Puji syukur kami ucapkan kehadirat Allah Swt atas rahmat dan karunianya kami dapat menyelesaikan makalah ini dengan baik. Makalah ini dibuat sebagai salah satu ilmu pengetahuan dan tugas mata kuliah Sistem Operasi. Makalah ini mencakup materi tentang Penjadwalan Waktu Nyata.
Kami sadari bahwa dalam makalah ini masih jauh dari kesempurnaan. Hal itu di karenakan keterbatasan kemampuan dan pengetahuan kami. Oleh karena itu, kami sangat mengharapkan kritik dan saran yang bersifat membangun dari para pembaca. Semoga makalah ini dapat bermanfaat bagi kita.
Akhir kata, kami memohon maaf apabila dalam penulisan makalah ini terdapat kesalahan.
Pekanbaru,28 April 2015
Penyusun
DAFTAR ISI
KATA PENGANTAR.............................................................................................................................i
DAFTAR ISI...........................................................................................................................................ii
BAB I PENDAHULUAN........................................................................................................................1
1.1
Latar Belakang.....................................................................................................................1
1.2
Rumusan Masalah................................................................................................................1
1.3
Tujuan...................................................................................................................................1
BAB II PEMBAHASAN.........................................................................................................................2
2.1 Penjadwalan Proses WaktuNyata........................................................................................2
2.2 Tipe Tipe Penjadwalanan....................................................................................................2
2.3 Strategi Penjadwalan Proses.................................................................................................6
2.4 Algoritma-Algoritma Penjadwalan Proses...........................................................................8
BAB III PENUTUP...............................................................................................................................11
3.1Kesimpulan..........................................................................................................................11
DAFTAR PUSTAKA............................................................................................................................12
BAB I
Pendahuluan
1.1
LatarBelakang
Perkembangan Ilmu Pengetahuan dan teknologi pada saat ini sangat pesat. Kegiatan yang dilakukan serba instan menjadi prioritas utama pada saat ini karna hal yang dilakukan secara cepat dapat membuat pekerjaan menjadi mudah dan tidak membuang-buang waktu. semuanya itu dapat dilakukan dalam hitungan waktu beberapa saat saja. Maka trend ini juga yang memicu terciptanya sistem waktu nyata yang juga menciptakan trend masa kini, yang memiliki prinsip kecepatan adalah yang utama. Namun disamping cepat dalam mengeksekusi perintah, ketepatan mencapai sasaran dalam melaksanakan misinya juga prioritas utama dalam sistem waktu nyata. Dalam bagian pembahasan berikutnya, Sistem waktu nyata dibagi menjadi dua jenis:
•
Hard Real-Time yaitu Sistem Waktu Nyata yang harus memenuhi target waktu pada setiap kesempatan.
Contoh : Sistem Pengontrolan Mesin Mobil
•
Soft Real-Time yaitu Sistem Waktu Nyata yang tidak harus memenuhi target waktu tetapi harus memenuhi suatu nilai ketepatan yang diambil dari nilai rata-rata.
Contoh : Pengambilan Uang di ATM
Jadi, sistem waktu nyata digunakan dalam hal pemodernisasian zaman ini. Bahkan dalam hal berkomunikasi, chatting misalnya. Pada saat seorang melakukan chatting dengan orang lain, maka orang tersebut akan mengetik teks untuk dibaca oleh lawan chattingnya.
Pada saat orang tersebut menulis kalimat lalu mengirimnya maka yang terjadi adalah proses waktu nyata dimana data yang berupa tulisan teks diubah ke dalam bentuk digital atau biner lalu ditransfer menuju IP address dan diubah lagi dari bentuk biner ke bentuk tulisan teks untuk ditampilkan ke monitor lawan chatting. Ini merupakan proses sistem waktu nyata (Soft Real-Time), yang membutuhkan kecepatan waktu dalam pengeksekusian mentransfer tulisan teks dari IP yang satu ke IP yang lainnya dan ketepatan mentransfer karakter per karakter yang membentuk tulisan teks tersebut.
1.2
RumusanMasalah
Apakah yang dimaksud Penjadwalan ProsesWaktu Nyata?
Apa-apa saja tipe penjadwalan proses?
Beberapa macam strategi penjadwalan ?
Jenis-jenis algoritma penjadwalan ?
1.3
Tujuan
Adapun tujuan pembahasan yaitu untuk mendeskripsikan rumusan masalah dan mempelajari inti pembahasan mengenai penjadwalan proses.
BAB II
Pembahasan
2.1 Penjadwalan Proses Waktu Nyata
Penjadwalan proses waktu nyata merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Sedangkan proses sendiri merupakan unit kerja terkecil yang secara individu memiliki sumber daya atau unit pemilikan sumber daya.
Penjadwalanan bertugas memutuskan hal-hal berikut :
•
Proses yang harus berjalan
•
Kapan dan selama berapa lama proses berjalan
Sasaran utama penjadwalanan proses adalah Optimasi kinerja sistem komputer menurut kriteria tertentu. Kriteria untuk mengukur dan optimasi kinerja penjadwalanan adalah sbb:
1.
Adil (fairness)
Proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation.
Startvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan. Sasaran penjadwalanan seharusnya menjamin setiap proses mendapat pelayanan dari pemroses secara adil.
2.
Efisiensi
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer secara keseluruhan.
Sasaran penjadwalanan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi sistem komputer mencapai nilai maksimum. Keadaan sibuk berarti pemroses tidak menganggur. Layanan pemroses termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan layanan sistem operasi secara efektif, bukan untuk melakukan penjadwalanan itu sendiri.
3.
Waktu Tanggap (response time)
Waktu tanggap berbeda untuk :
•
Sistem interaktif
Waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan oleh program atau transaksi sampai hasil pertama muncul di jperangkat masukan keluaran seperti layar (terminal).Waktu tanggap untuk sistem interaktif biasa disebut terminal responce time.
•
Sistem waktu nyata (real time)
Pada sistem waktu nyata, waktu tanggap didefinisikan sebagai waktu dari saat kemunculan suatu kejadian (internal/eksternal) sampai instruksi pertama rutin layanan terhadap kejadian dieksekusi. Waktu untuk sistem waktu nyata biasa disebut event response time. Sasaran penjadwalanan adalah meminimalkan waktu tanggap sehingga menghasilkan sistem yang responsif.
4.
Turn arround Time
Waktu yang dihabiskan dari saat proses atau job mulai masuk ke sistem sampai proses itu diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan proses berada di sistem, diekspresikan sebagai penjumlahan waktu eksekusi (waktu layanan proses/job) dan waktu menunggu dari proses itu, yaitu :
Turn arround time = waktu eksekusi + waktu menunggu.
Sasaran penjadwalanan adalah meminimalkan turn arround time.
5.
Troughput
Troughput adalah jumlah kerja yang dapat diselsesaikan selama satu selang/ unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah proses/job pemakai yang dapat dieksekusi dalam satu unit/ interval waktu tertentu.
Sasaran penjadwalanan adalah memaksimalkan jumlah job/ proses yang dilayani per satu interval waktu. Lebih tinggi angka througput maka lebih banya kerja yang dilakukan sistem.
2.2 Tipe-Tipe Penjadwalanan
1.
Penjadwalanan jangka pendek (short-term scheduller).
Penjadwalanan jangka pendek bertugas menjadwalkan alokasi pemroses di antara proses-proses Ready yang berada di memori utama. sasaran utama penjadwalan jangka pendek adalah memaksimumkan kinerja sistem untuk memenuhi satu kumpulan kriteria yang diharapkan. Penjadwalanan ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
2.
Penjadwalan jangka menengah (medium-term scheduller).
Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses yang tertunda tidak dapat membuat suatu kemajuan untuk menuju selesai sampai ondisi yang menyebabkannya hilang. Agar ruang memori dapat bermanfaat maka proses dipindah dari memori utama ke memori sekunder sehingga tersedia ruang yang lebih besar untuk proses yang lain. Kapasitas memori utama terbatas untuk sejumlah proses yang aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Penjadwalan jangka menengah bertugas menangani proses swapping . Proses yang mempunyai kepentingan kecil saat itu adalah proses yang tertunda. Tetapi begitu kondii yang membuat proses tertunda hilang dan proses dimasukkan kembali ke memori utama dan Ready. Penjadwalan jangka menengah mengendalikan transisi dari suspended ke ready (dari state suspend ke Ready dari proses yang mengalami swapping).
3.
Penjadwalan jangka panjang (long-term scheduller).
Penjadwalan jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi sistem. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program ini mempunyai prioritas yang rendah, dan biasa digunakan sebagai pengisi (agar pemroses sibu) selama periode aktivitas proses-proses interaktif rendah. Sasaran utama penjadwalan jangka panjang adalah memberi keseimbangan proses-proses campuran.
Gambar tipe-tipe penjadwalan, Menujukan posisi dari tipe-tipe penjadwalan yang terdapat pada satu sistem operasi
2.3Strategi penjadwalan proses
1.
Penjadwalan nonpremptive ( run-to-complain)
Begitu proses diberi jatah layanan pemroses aka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Non-preemptive juga disebut run-to-completion karena proses yang telah dijadwalkan akan dijalankan sampai selesainya atau proses tersebut meminta layanan masukan/keluaran.
2. Penjadwalan preemptive.
Saat proses diberi jatah layanan pemroses maka pemroses dapat diambil alih proses lain yang mempunyai prioritas lebih tinggi berdasarkan kriteria sistem itu. Pada penjadwalan preemptive, proses dapat disela oleh proses lain sebelumnya selesainya dan harus dilanjutkan menunggu jatah waktu layanan pemroses tiba kembali pada proses itu. Proses yang disela berubah menjadi state Ready.
Penjadwalan preemptive berguna pada sistem yakni proses-proses yang perlu mendapat perhatian/ tanggapan pemroses secara cepat. Misalnya :
o
Pada sistem-sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
o
Pada sistem-sistem interatif timesharing, penjadwalan preemptive penting agar dapat menjamin waktu tanggap yang memadai.
Peralihan proses (yaitu layanan pemroses dari satu proses beralih ke proses lain) memerlukan overhead (karena banya tabel yang dikelola). Agar penjadwalan preemptive menjadi efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera Running begitu diperlukan. Menyimpan banyak proses yang tidak Running di memori utama merupakan suatu overhead tersendiri.
2.4 Algoritma-Algoritma Penjadwalan Proses
Algoritma – algoritma yang menerapkan strategi nonpreemptive :
FIFO (First-in, First-out) atau FCFS (First-Come, First-Serve)
SJF (Shortest Job First).
Algortima – algoritma yang menerapkan strategi preemptive :
RR (Round-Robin).
Shortest-Remaining Time First (SRTF)
Priority Scheduling (GS)
Multi Level Feedback Queues (MFQ)
1.
FIFO (First-in, First-out) atau FCFS (First-Come, First-Serve)
FIFO merupakan algoritma non-preemptive. Pertama datang, pertama di layani, (First In,First Out atau FIFO) tidak peduli apakah burst time-nya panjang atau pendek,semua proses yang sedang di kerjakan di selesaikan terlebih dahulu barulah proses berikut nya di layani. Setiap proses diberi jadwal eksekusi berdasarkan urutan waktu kedatangan. FIFO jarang digunakan secara tersendiri tetapi dikombinasikan dengan algoritma lain karena:
a.
Timbul masalah “waiting time” terlalu lama jika didahului oleh proses yang waktu selesainya lama.
b.
Job yang pendek harus menunggu job yang panjang
c.
Job yang penting harus menunggu job yang kurang penting.
Contoh :
Example:
Process
Burst Time
P1
24ms
P2
3ms
P3
3ms
Asumsi ketiga proses masuk bersamaan, yaitu detik ke 0
Diketahui proses yang tiba adalah P1, P2, P3. Gantt chart-nya adalah :
Secara umum rumus untuk menghitung waiting time adalah :
t waiting = t end – t start – t burst time
Waiting time untuk P1 = 0ms; P2 = 24ms; P3 = 27ms
Average waiting time: (0 + 24 + 27)/3 = 17ms
2.
Shortest Job First Scheduler (SJF)
Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil di layani terlebih dahulu, terdapat dua skema:
a.
Non preemptive (NSF),bila CPU diberikan pada proses, maka tidak bisa di tundah sampai CPU burst selesai
Contoh :
Process
Arrival Time
Burst Time
P1
0.0ms
7ms
P2
2.0ms
4ms
P3
4.0ms
1ms
P4
5.0ms
4ms
SJF (non-preemptive)
Waiting time P1=0, P2=6, P3=3ms, P4=7ms
Average waiting time = (0 + 6 + 3 + 7)/4 = 4ms
b.
Preemptive (SJF), jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi,proses ini di tundah dan di ganti dengan proses baru.
Contoh :
Process
Arrival Time
Burst Time
P1
0.0
7
P2
2.0
4
P3
4.0
1
P4
5.0
4
SJF (preemptive)
Average waiting time = (9 + 1 + 0 +2)/4 = 3ms
3.
Priority Scheduling
Algoritma SJF adalah suatu kasus khusus dari penjadwalan berprioritas, tiap-tiap proses dilengkapi dengan nomor prioritas (integer), CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi (nilai integer terkecil biasanya merupakan prioritas terbesar). Jika beberapa proses memiliki prioritas yang sama,maka akan di gunakan algoritma FCFS. Penjadwalan berprioritas terdiri atas du skema yaitu Non-preemtive dan preemtive.
Contoh :
Process
Burst Time
Priority
P1
10
3
P2
1
1
P3
2
3
P4
1
4
P5
5
2
gantt chart :
4.
Round-Robin Scheduling
Konsep dasar dari algoritma ini adalah dengan menggunakan time sharing, pada dasar alagoritma ini sama dengan FCFS, hanya saja bersifat preemptive, setiap proses mendapatkan waktu cpu yang di sebut dengan waktu quantum (quantum time) untuk membatasi waktu proses, biasanya 1-100 milidetik, setelah waktu habis, proses di tunda dan di tambahkan pada ready queue. Algoritma Round-Robin ini memiliki keuntungan yaitu adanya keseragaman waktu.
Contoh :
Process
Burst Time
P1
53ms
P2
17ms
P3
68ms
P4
24ms
Gantt Chart
Waiting time
P1 = 134 – 0 – 53 = 81ms
P2 = 37 – 0 – 17 = 20ms
P3 = 162 – 0 – 68 = 94ms
P4= 121 – 0 – 24 = 97ms
Rata2 = (81+20+94+97)/4 = 73ms
Tipikal: lebih lama waktu rata-rata turnaround dibandingkan SJF, tapi mempunyai response terhadap user lebih cepat.
5.
Shortest Remaining Time First ( SRTF )
Penjadwalan ini merupakan premmtive untuk time sharing. Proses dengan estimsai sisa waktu Burst Time terpendek akan dijalankan terlebih dahulu, termasuk proses-proses baru.
Proses yang sedang Running dapat di ambil alih oleh proses baru yang memiliki sisa Burst Time yang lebih kecil.
Contoh :
Proses
Arrival Time
Burst Time
P1
0ms
7ms
P2
2ms
4ms
P3
4ms
1ms
P4
5ms
4ms
Gantt chart untuk proses penjadwalan :
Waiting Time :
-
P1 = 0 + 9 = 9ms
2.
-
P2 = 0 + 1 = 1ms
-
P3 = 0ms
-
P4 = 2ms
Rata-rata Waiting Time :
9
+ 1 + 0 + 2 = 12 = 3ms
6.
Multi Level Feedback Queues (MFQ)
Proses MFQ merupakan proses yang dikatakan jika dalam 2 quantum proses ini tersebut belum selesai maka proses yang bersangkutan akan di pindahkan ke antrian berikutnya yang memiliki quantum time yang lebih besar.
Jika pada antrian berprioritas lebih tinggi masih terdapat proses, maka penjadwalan akan memilih proses tersebut terlebih dahulu sampai semuanya selesai ataupun dipindahkan ke level bawahnya.
Keuntungan algoritma ini yaitu :
-
Proses yang pendek ataupun proses baru tidak perlu menunggu proses panjang yang sedang berjalan. Proses baru akan segera dieksekusi, dan jika waktu eksekusinya pendek, maka proses tersebut akan selesai dalam 1 quantum.
-
Agoritma ini cenderung memberikan nilai response time yang baik serta rata-rata waiting time kecil.
7.
Priority Scheduling (PS)
Setiap proses diberikan nilai prioritas. Nilai prioritas setiap proses ini dapat bersifat statis maupun dinamis ( berubah terus dari waktu ke waktu ). Proses yang prioritas lebih tinggi akan dijadwalkan lebih dahulu. Jika ada proses baru masuk dengan prioritas lebih tinggi dari proses yang sedang berjalan maka akan terjadi pretion dan procecor akan dialihkan ke proses yang baru tersebut.
Masalah utama pada penjadwalan ini adlaah starvation, dimana proses-proses dengan prioritas rendah terus menerus menunggu pada antrian Ready karena ada proses-proses baru dengan prioritas yang lebih tinggi yang terus berdatangan.
Solusinya adalah dengan menggunakan konsep aging, yaitu meningkatkan prioritas proses yang sudah berada pada antrian setiap beberapa waktu. Dengan demikian maka proses-proses itu akan memiliki prioritas yang sama atau lebih.
8.
Guanteed Scheduling (GS)
Proses ini berupa memberi tiap memakai daya pemroses yang sama. Jika terdapat N pemakai, tiap pemakai mendapat 1/N daya pemroses. Sistem merekam besar waktu pemroses yang digunakan seluruh proses. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diproleh yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah di peruntukkan proses itu.
BAB III
Penutup
3.1 Kesimpulan
Real time system banyak digunakan dalam berbagai apliksi kehidupan masa kini, dapat melaksanakan tugas dengan cepat dan mampu mengerjakan pekerjaan sekaligus (multitasking)
Real-Time System adalah sistem yang harus memperhatikan batasan terhadap waktu untuk merespon dan juga mempunyai konsekuensi terhadap kegagalan
Hard real-time system menjamin bahwa proses waktu nyata dapat diselesaikan dalam batas waktu yang telah ditentukan.
Sistem operasi Real time system tidak membutuhkan banyak hardware yang berat, karena hanya melayani satu tujuan saja dan memiliki kapasitas memori yang relatif kecil.
Real-Time Sistem sangat banyak di aplikasikan oleh orang-orang pada saat kini, pekerjaan yang cepat dan ganda pun dapat di lakukan ( Multitasking ), Real-Time Sistem harus memperhatikan penjadwalan waktu yang di tentukan agar tidak mengalami konsekuensi kegagalan. Banyak keunggulan dari Real-Time Sistem, pada saat ini orang-orang lebih mengutamakan hal-hal yang instan dan cepat, untuk menjalankan Real-Time Sistem tidaklah rumit dan membutuhkan banyak hardware, memori yang di gunakan tidak membutuhkan kapasitas yang besar.
DAFTAR PUSTAKA
1.
https://aristysaputri3.wordpress.com/sistem-operasi/penjadwalan-proses/
2.
http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-2/ch24s02.html
3.
C.M. Krishna, Kang G. Shin ( 1997 ), Real-time Systems, Mc Graw Hill Book Company
4.
https://dwiishartono.wordpress.com/2008/09/17/real-time-systemrts/
5.
Hariyanto, Bambang, “Sistem Operasi”, Bandung:Informatika, ( revisi keempat )
6.
http://wikipedia.org
Unduh Makalah Penjadwalan Waktu Nyata
Disini
Unduh PPT Penjadwalan Waktu Nyata
Disini