Kamis, 12 Maret 2009

Pengertian & Aplikasi Dari sistem Waktu Nyata

Sistem Waktu Nyata

Sistem waktu nyata adalah sebuah sistem komputer yang tidak hanya membutuhkan hasil komputasi yang benar tetapi juga harus sesuai dengan batas waktu yang dikehendaki. Hasil dari komputasi yang dilakukan (jika benar) mungkin tidak dalam nilai real. Sistem waktu nyata banyak digunakan dalam bermacam-macam aplikasi. Sistem waktu nyata tersebut ditanam di dalam alat khusus, seperti di kamera, mp3 players, serta di pesawat dan mobil.
Beberapa sistem waktu nyata diidentifikasi sebagai sistem safety-critical, dalam skenario ini sistem waktu nyata harus merespon kejadian dalam batas waktu yang telah ditentukan, jika tidak dapat memenuhi batas waktu yang ditentukan maka akan terjadi bencana. Sistem manajemen penerbangan merupakan sebuah contoh sebuah sistem waktu nyata sebagai sistem safety-critical.
Sistem waktu nyata dibagi menjadi dua tipe yaitu keras dan lembut. Sistem waktu nyata keras menjamin bahwa proses waktu nyata dapat diselesaikan dalam batas waktu yang telah ditentukan. Contoh: sistem safety-critical. Sistem waktu nyata lembut menyediakan prioritas untuk mendahulukan proses yang menggunakan waktu nyata dari pada proses yang tidak menggunakan waktu nyata. Contoh: Linux. Karakteristik dari sistem waktu nyata:
• Single purpose. Tidak seperti PC, yang memiliki banyak kegunaan, sebuah sistem waktu nyata biasanya hanya memiliki satu tujuan, seperti mentransfer sebuah lagu dari komputer ke mp3 player.
• Small size. Kebanyakan sistem waktu nyata yang ada memiliki physical space yang terbatas.
• Inexpensively mass-produced. Sistem waktu nyata banyak ditemukan dalam peralatan rumah tangga dan peralatan lainnya. Misalnya pada kamera digital, microprocessors, microwave ovens.
• Specific timing requirements. Sistem operasi waktu nyata memenuhi persyaratan waktu yang ditentukan dengan menggunakan algoritma penjadwalan yang memberikan prioritas kepada proses waktu nyata yang memiliki penjadwalan prioritas tertinggi. Selanjutnya, penjadwals harus menjamin bahwa prioritas dari proses waktu nyata tidak lebih dari batas waktu yang ditentukan. Kedua, teknik untuk persyaratan waktu pengalamatan adalah dengan meminimalkan response time dari sebuah events seperti interupsi.
Sistem operasi waktu nyata tidak membutuhkan fitur penting (misalnya standar desktop dan sistem server pada desktop PC) karena:
• Kebanyakan sistem waktu nyata hanya melayani satu tujuan saja, sehingga tidak membutuhkan banyak fitur seperti pada desktop PC. Lagi pula, sistem waktu nyata tertentu juga tidak memasukkan notion pada pengguna karena sistem hanya mendukung sejumlah kecil proses saja, yang sering menunggu masukan dari peralatan perangkat keras.
• Keterbatasan space, menyebabkan sistem waktu nyata tidak dapat mendukung fitur standar desktop dan sistem server yang membutuhkan memori yang lebih banyak dan prosesor yang cepat.
• Jika sistem waktu nyata mendukung fitur yang biasa terdapat pada standar desktop dan sistem server, maka akan sangat meningkatkan biaya dari sistem waktu nyata.
Sebuah sistem operasi yang mendukung sistem waktu nyata harus menyediakan salah satu atau gabungan dari tiga fitur yang ada, fitur-fitur tersebut antara lain:
• Penjadwalan berdasarkan prioritas
• Kernel preemptif
• Pengurangan latensi
Ketiga fitur tersebut akan dijelaskan secara rinci di subbab selanjutnya.
Apliksai Dari Sistem Waktu Nyata

@ Penjadwalan Berdasarkan Prioritas
Fitur yang paling penting dari sebuah sistem operasi yang mendukung sistem waktu nyata adalah merespon dengan segera sebuah proses waktu nyata secepat proses yang membutuhkan CPU. Penjadwalan untuk sistem operasi waktu nyata harus mendukung penjadwalan berdasarkan prioritas dengan preemption. Algoritma penjadwalan berdasarkan prioritas memberikan prioritas kepada masing-masing proses berdasarkan tingkat kepentingannya; proses yang lebih penting di berikan prioritas lebih tinggi daripada proses lain yang dianggap kurang penting. Apabila penjadwalan yang digunakan juga mendukung preemption dan tersedia sebuah proses berprioritas tinggi, maka sebuah proses yang berjalan sekarang ini di CPU akan didahulukan. Penjadwalan ini hanya mendukung sistem waktu nyata lembut. Contoh sistem yang mengunakan penjadwalan ini adalah Solaris, Windows XP dan Linux.
@ Kernel Preemptif
Kernel preemptif mengizinkan preemption pada sebuah proses yang berjalan di mode kernel. Implementasi dari kernel preemptif sangatlah sulit dan banyak aplikasi (spreadsheets, word processors, dan web browsers) tidak memerlukan response time yang cepat. Akan tetapi, untuk memenuhi persyaratan waktu pada sistem waktu nyata (terutama pada sistem waktu nyata keras) kernel preemptif menjadi sangat penting. Karena kalau tidak proses yang terdapat pada sistem waktu nyata mungkin akan menunggu dalam periode waktu yang sangat lama sampai ada proses lain yang aktif di kernel.
Ada beberapa cara untuk membuat kernel yang dapat preemptif. Salah satu pendekatannya adalah dengan menyisipkan preemption point pada system call yang berdurasi lama. Preemption point mengecek untuk melihat apakah proses dengan prioritas tinggi perlu untuk dijalankan atau tidak. Jika iya, context switch mengambil alih. Maka, ketika proses dengan prioritas tinggi terminate, proses yang diinterupsi akan melanjutkan system call. Preemption point akan ditempatkan hanya pada lokasi aman pada kernel, yaitu pada tempat dimana struktur data kernel belum dimodifikasi. Strategi kedua adalah dengan membuat sebuah kernel yang dapat preemptif melalui penggunaan mekanisme sinkronisasi. Dengan metode ini, kernel dapat selalu didahulukan karena beberapa data kernel yang di-update adalah data kernel yang di lindungi dari perubahan yang disebabkan oleh proses yang memiliki prioritas tinggi.
@ Pengurangan Latensi
Event latensi merupakan sejumlah waktu dari sebuah event mulai terjadi sampai event tersebut dilayani. Biasanya event yang berbeda memiliki persyaratan latensi yang berbeda. Dua tipe latensi yang mempengaruhi performance dari sebuah sistem waktu nyata yaitu:
Interrupt Latency
Interrupt latency berhubungan tentang periode waktu dari kedatangan sebuah interupsi pada CPU mulai pada routine yang melayani interupsi. Ketika interupsi terjadi, sistem operasi pertama kali harus melengkapi instruksi yang dieksekusinya dan menentukan tipe dari interupsi yang terjadi. Instruksi tersebut harus menyimpan state dari proses sekarang sebelum melayani interupsi menggunakan Interrupt Service Routine (ISR) tertentu. Waktu total yang dibutuhkan untuk melakukan task ini adalah interrupt latency.
Dispatch Latency
Sejumlah waktu yang dibutuhkan untuk menghentikan sebuah proses dan melanjutkan proses yang lain disebut dispatch latency. Tahap konflik pada dispatch latency memiliki dua komponen yaitu: preemption pada beberapa proses yang berjalan di kernel dan pelepasan resources oleh proses prioritas rendah yang dibutuhkan oleh proses prioritas tinggi.
@ Penjadwalan Proses
Ulasan kita mengenai penjadwalan sejauh ini difokuskan pada sistem waktu nyata lembut. Pada sistem waktu nyata lembut, penjadwalan untuk sistem tidak memberi jaminan kapan proses critical akan di jadwalkan, akan tetapi memberi jaminan bahwa proses tersebut akan didahulukan daripada proses yang tidak critical. Sebaliknya, pada sistem waktu nyata keras, persyaratan penjadwalan menjadi lebih ketat. Sebuah proses harus dilayani berdasarkan deadline-nya; sehingga jika sebuah proses dilayani setelah deadline berakhir, maka proses tidak akan mendapat pelayanan sama sekali.
Karakteristik dari proses yang ada pada sistem waktu nyata adalah proses tersebut dianggap periodik, karena membutuhkan CPU pada interval yang konstan (periode). Setiap proses berperiode memiliki waktu pemrosesan yang fix yaitu t, setiap kali mendapatkan CPU, sebuah deadline d ketika proses tersebut harus dilayani oleh CPU, dan sebuah periode p. Hubungan antara waktu pemrosesan, deadline, dan periode dapat dinyatakan sebagai 0 < t < d < p. Rate dari sebuah proses berperiodik adalah 1/p.
Gambar 24.1. Proses Berkala



Hal yang tidak biasa dari bentuk penjadwalan ini adalah proses akan mengumumkan deadline-nya pada penjadwal. Kemudian dengan algoritma admission-control, penjadwal akan menyatakan bahwa proses akan diselesaikan tepat waktu atau ditolak permohonannya karena tidak dapat menjamin bahwa proses akan dapat dilayani sesuai deadline.
Beberapa algoritma penjadwalan untuk sistem waktu nyata keras:
Rate Monotonic
Algoritma ini menjadwalkan proses berperiodik berdasarkan ketentuan prioritas statik dengan preemption. Jika proses berprioritas rendah sedang berjalan dan proses berprioritas tinggi siap untuk dijalankan, maka yang akan didahulukan adalah proses berprioritas rendah. Untuk memasuki sistem, setiap proses berperiodik mendapatkan prioritas dengan inversi berdasarkan periodenya: periode lebih pendek, prioritas tinggi, periode lebih panjang, prioritas rendah. Semakin rendah periodenya maka akan semakin tinggi prioritasnya, dan demikian pula sebaliknya.
Contoh penjadwalan menggunakan rate monotonic : diketahui 2 buah proses P1 dan P2, dimana periode P1 adalah 50 dan periode P2 adalah 100. Sedangkan waktu pemrosesan untuk P1 adalah t1=20 dan untuk P2 adalah t2=35. Deadline dari proses mempersyaratkan untuk menyelesaikan CPU burst-nya pada awal dari periode berikutnya. Utilisasi CPU dari proses P1 yang merupakan rasio t1/p1, adalah 20/50=0,40 dan utilisasi CPU dari proses P2 adalah 35/100=0,35 sehingga total utilisasi CPU-nya adalah75%. Oleh karena itu, tampaknya kita bisa menjadwal proses ini dalam sebuah cara yang dapat memenuhi deadline dan menyisakan cycle untuk CPU.
Dengan menggunakan penjadwalan rate monotonic, P1 akan mendapat prioritas lebih tinggi dari P2, karena periode P1 lebih pendek daripada P2. P1 mulai terlebih dahulu dan menyelesaikan CPU burst pada waktu 20 (memenuhi deadline pertama). Kemudian dilanjutkan dengan P2 sampai dengan waktu 50. pada waktu ini, P2 di preempted oleh P1, walaupun P2 masih memiliki sisa 5 miliseconds di CPU burst-nya. P1 menyelesaikan CPU burst-nya di waktu 70, di waktu ini penjadwal melanjutkan P2. P2 menyelesaikan CPU burst-nya di waktu 75, memenuhi deadline pertamanya. Sistem idle sampai waktu 100, kemudian P1 dijadwalkan kembali.
Earliest-Deadline-First
Penjadwalan dilakukan berdasarkan deadline, yaitu semakin dekat deadline-nya maka semakin tinggi prioritasnya, dan demikian pula sebaliknya. Ketentuan yang berlaku, ketika proses akan mulai jalan, maka proses akan mengumumkan syarat deadline-nya pada sistem. Prioritas harus ditentukan untuk menggambarkan deadline dari proses yang baru dapat berjalan.
Contoh penjadwalan mengunakan Earliest Deadline First: P1 memiliki p1=50 dan t1=25 dan P2 memiliki p2=80 dan t2=35. P1 akan mendapat prioritas awal lebih tinggi karena P1 lebih mendekati deadline daripada P2. Kemudian dilanjutkan oleh P2 di akhir burst time dari P1. apabila pada penjadwalan rate monotonic membiarkan P1 untuk melanjutkan kembali, maka pada EDF, P2 (deadline pada 80) yang melanjutkan karena lebih dekat deadline daripada P1 (deadline pada 100). Jadi, P1 dan P2 telah menemui deadline pertama-nya. Proses P1 mulai jalan lagi di waktu 60 dan menyelesaikan CPU burst time keduanya di waktu 85, juga menemui deadline keduanya di waktu 100. P2 mulai jalan di titik ini, hanya dapat di preempted oleh P1 diawal periode selanjutnya di waktu 100. P2 di preempted karena P1 memiliki deadline lebih awal (waktu 150) dari pada P2 (pada waktu 160). Di waktu 125, P1 menyelesaikan CPU burst-nya dan P2 melanjutkan eksekusinya, selesai di waktu 145 dan menemui deadline-nya. Sistem idle sampai waktu 150, kemudian P1 dijadwalkan untuk dijalankan lagi.
Berbeda dengan algoritma rate-monotonic, penjadwalan EDF tidak membutuhkan proses periodik, dan tidak juga membutuhkan jumlah waktu CPU per-burst yang konstan. Syarat satu-satunya dari penjadwalan EDF adalah proses mengumumkan deadlinenya pada penjadwal ketika dapat jalan. Secara teoritis, algoritma ini optimal, yaitu dapat memenuhi semua deadline dari proses dan juga dapat menjadikan utilisasi CPU menjadi 100%. Namun dalam kenyataannya hal tersebut sulit terjadi karena biaya dari context switching antara proses dan interrupt handler.
Proportional Share
Penjadwalan ini akan mengalokasikan T bagian diantara semua aplikasi. Sebuah aplikasi dapat menerima N bagian waktu, yang menjamin bahwa aplikasi akan memiliki N/T dari total waktu prosesor. Sebagai contoh, diasumsikan ada total dari T=100 bagian untuk dibagi diantara tiga proses yaitu, A, B, dan C. A mendapatkan 50 bagian, B mendapat 15 bagian, dan C mendapat 20 bagian. Hal ini menjamin bahwa A akan mendapat 50% dari total proses, B mendapat 15% dari total proses, dan C mendapat 20% dari total proses.
Penjadwalan proportional share harus bekerja dengan memasukkan ketentuan admission control untuk menjamin bahwa aplikasi mendapatkan alokasi pembagian waktunya. Ketentuan admission control hanya akan menerima permintaan klien terhadap sejumlah bagian apabila bagian yang diinginkan tersedia. Dicontoh kita sebelumnya, kita telah mengalokasikan 50+15+20=75 bagian dari total 100 bagian. Jika sebuah proses baru D meminta 30 bagian, admission controller seharusnya meniadakan entryD ke dalam sistem
@ Penjadwalan Disk
Penjadwalan disk yang telah kita pelajari pada bab sebelumnya memfokuskan untuk menangani data yang konvensional, yang memiliki sasaran yaitu fairness dan throughput. Sedangkan pada bab ini data yang kita pelajari adalah data yang continuous.
Data continuous memiliki dua constraint yang tidak dimiliki oleh data konvensional yaitu: timing deadline dan rate requirements. Kedua constraint tersebut harus dipenuhi untuk mempertahankan jaminan QOS (Quality Of Service), dan algoritma penjadwalan disk harus dioptimalkan untuk constraint. Sayangnya, kedua constraint tersebut sering terjadi konflik. Data continuous biasanya membutuhkan kecepatan bandwidth disk yang sangat besar untuk memenuhi rate-requirements data. Karena disk memiliki transfer rate yang relatif rendah dan latency rate yang relatif tinggi maka penjadwal disk harus mengurangi waktu latensi untuk menjamin bandwidth yang tinggi. Bagaimanapun, mengurangi waktu latensi mungkin berakibat dalam sebuah penjadwalan policy yang tidak memberikan prioritas pada deadline.
Earliest-Deadline-First
Penjadwalan EDF yang digunakan pada penjadwalan proses pada sistem waktu nyata dapat digunakan juga untuk melakukan penjadwalan disk pada data yang continuous. EDF mirip dengan shortest-seek-time-first (SSTF), kecuali dalam melayani permintaan terdekat dengan silinder saat itu karena EDF melayani permintaan yang terdekat dengan deadline.
Masalah yang dihadapi dari pendekatan ini adalah pelayanan permintaan yang kaku berdasarkan deadline akan memiliki seek time yang tinggi, karena head dari disk harus secara random mencari posisi yang tepat tanpa memperhatikan posisinya saat ini. Sebagai contoh, disk head pada silinder 75 dan antrian dari silinder (diurutkan berdasarkan deadline) adalah 98, 183, 105. Dengan EDF, maka head akan bergerak dari 75, ke 98, ke 183 dan balik lagi ke 105 (head melewati silinder 105 ketika berjalan dari 98 ke 183). Hal ini memungkinkan penjadwal disk telah dapat melayani permintaan silinder 105 selama perjalanan ke silinder 183 dan masih dapat menjaga persyaratan deadline dari silinder 183.
@ Scan EDF
Masalah dasar dari penjadwalan EDF yang kaku adalah mengabaikan posisi dari read-write head dari disk, ini memungkinkan pergerakan head melayang secara liar ke dan dari disk, yang akan berdampak pada seek time yang tidak dapat diterima, sehingga berdampak negatif pada throughput dari disk. Hal ini pula yang dialami oleh penjadwalan FCFS dimana akhirnya dimunculkan penjadwalan SCAN, yang menjadi solusi.
Scan EDF merupakan algoritma hibrida dari kombinasi penjadwalan EDF dengan penjadwalan SCAN. SCAN-EDF dimulai dengan EDF ordering tetapi permintaan pelayanan dengan deadline yang sama menggunakan SCAN order. Apa yang terjadi apabila beberapa permintaan memiliki deadline yang berbeda yang relatif saling tertutup? Pada kasus ini, SCAN-EDF akan menumpuk permintaan, menggunakan SCAN ordering untuk melayani permintaan pelayanan yang ada dalam satu tumpukan. Ada banyak cara menumpuk permintaan dengan deadline yang mirip; satu-satunya syarat adalah reorder permintaan pada sebuah tumpukan tidak boleh menghalangi sebuah permintaan untuk dilayani berdasarkan deadline-nya. Apabila deadline tersebar merata, tumpukan dapat diatur pada grup pada ukuran tertentu. Pendekatan yang lain adalah dengan menumpuk permintaan yang deadlinenya jatuh pada treshold waktu yang diberikan, misalnya 10 permintaan pertumpukan.
@ Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hierarkis (direktori, volume, dll). Sistem operasi memberikan tanggapan atas manajemen berkas untuk aktivitas-aktivitas berikut:
• Pembuatan dan penghapusan berkas
• Pembuatan dan penghapusan direktori
• Primitif-primitif yang mendukung untuk memanipulasi berkas dan direktori
• Pemetaan berkas ke secondary storage
• Melakukan back-up berkas ke media penyimpanan yang stabil (Non-volatile)
Karakteristik sistem multimedia:
• Berkas multimedia biasanya memiliki ukuran yang besar. Contoh, sebuah berkas MPEG-1 video yang berdurasi 100 menit membutuhkan kira-kira 1.125 GB ruang penyimpanan.
• Data continouos memerlukan rate yang sangat tinggi. Misalnya dalam sebuah video digital, dimana frame dari video yang ingin ditampilkan beresolusi 800 x 600. apabila kita menggunakan 24 bits untuk merepresentasikan warna pada setiap pixel, tiap frame berarti membutuhkan 800 x 600 x 24 = 11.520.000 bits data. Jika frame-frame tersebut ditampilkan pada kecepatan 30 frame/detik, maka bandwidth yang diperlukan adalah lebih dari 345 Mbps.
• Aplikasi multimedia sensitif terhadap timing delay selama pemutaran ulang. Setiap kali berkas continouos media dikirim kepada klien, pengiriman harus kontinu pada kecepatan tertentu selama pemutaran media tersebut. Hal ini dilakukan agar pada saat user menonton atau mendengar berkas-berkas multimedia tidak terputus-putus.
@ Manajemen Jaringan
Di subbab sebelumnya telah dijelaskan mengenai algoritma penjadwalan CPU dan disk yang difokuskan mengenai tekhnik yang digunakan agar memenuhi persyaratan kualitas service dari sebuah aplikasi multimedia yang lebih baik. Jika berkas multimedia dikirimkan melalui sebuah jaringan (internet), pokok persoalan yang berhubungan adalah bagaimana jaringan tersebut dapat mengirimkan data multimedia secara signifikan dan permintaan QOS juga terpenuhi.
Ketika suatu data dikirim melalui jaringan, proses transmisi yang berlangsung pasti mengalami hambatan atau keterlambatan yang disebabkan oleh lalu lintas jaringan yang begitu padat. Dalam kaitannya dengan multimedia, pengiriman data dalam sebuah jaringan harus memperhatikan masalah waktu. Yakni penyampaian data kepada klien harus tepat waktu atau paling tidak dalam batas waktu yang masih bisa ditoleransi.
Di subbab berikutnya, akan membahas 2 pendekatan lain untuk mengatasi persyaratan media continuous yang unik.
Uni/Multicasting
Secara umum, ada 3 metode untuk melakukan pengiriman suatu data dari server ke klien melalui sebuah jaringan:
• Unicasting. Server mengirim data ke klien tunggal. Apabila data yang ingin dikirim ke lebih dari satu klien, maka server harus membangun sebuah unicast (pengiriman paket informasi ke satu tujuan) yang terpisah untuk masing-masing klien.
• Broadcasting. Server mengirim data ke semua klien yang ada meskipun tidak semua klien meminta/membutuhkan data yang dkirim oleh server.
• Multicasting. Server mengirim data ke suatu grup penerima data (klien) yang menginginkan data tersebut. Metode ini merupakan metode yang berada dipertengahan metode unicasting dan broadcasting.
Streaming Protocol
Bagaimana cara sebuah media streaming dapat dikirimkan ke klien? Salah satu pendekatan adalah dengan mengalirkan media dari sebuah web server standar yang menggunakan hypertext transport protocol (HTTP). Protokol tersebut digunakan untuk mengirim dokumen dari sebuah web server. Biasanya, klien menggunakan sebuah media player, seperti QuickTime, RealPlayer, atau Windows Media Player, untuk memutar kembali media yang dialirkan oleh web server standar. Biasanya, pertama-tama klien meminta sebuah metafile, yang berisi lokasi sebuah berkas streaming media. Metafile tersebut dikirimkan ke web browser klien, dan browser akan membuka berkas yang dimaksud dengan memilah media player yang sesuai dengan jenis media yang dispesifikasikan di metafile.
Masalah yang muncul jika pengiriman streaming media dari sebuah web server standar adalah web server tidak dapat memelihara status koneksi dengan klien. Hal ini dapat terjadi karena HTTP merupakan protokol yang stateless. Akibatnya, klien akan mengalami kesulitan pada saat ia melakukan pause selama pengiriman streaming media masih berlangsung. Pelaksanaan pause akan menyebabkan web server harus mengetahui status mana yang akan dimulai kembali ketika klien memutar ulang.
Strategi alternatif yang dapat dilakukan untuk menanggulangi hal diatas adalah dengan menggunakan server streaming khusus yang didesain untuk men-streaming media, yaitu real time streaming protocol (RTSP). RTSP didesain untuk melakukan komunikasi antara server yang melakukan streaming dengan media player. Keuntungan RTSP adalah bahwa protokol ini menyediakan koneksi yang memiliki status antara server dan klien, yang dapat mempermudah klien ketika ingin melakukan pause atau mencari posisi random dalam stream ketika memutar kembali data.
RTSP memiliki empat buah perintah. Perintah ini dikirim dari klien ke sebuah server streaming RTSP. Keempat perintah tersebut adalah:
• Setup. Server mengalokasikan sumber daya kepada sesi klien.
• Play. Server mengirim sebuah stream ke sesi klien yang telah dibangun dari perintah setup sebelumnya.
• Pause. Server menunda pengiriman stream namun tetap menjaga sumber daya yang telah dialokasikan.
• Teardown. Server memutuskan koneksi dan membebas tugaskan sumber daya yang sebelumnya telah digunakan.
Gambar 24.2. Finite-State Machine yang merepresentasikan RTSP


@ Kompresi
Karena ukuran dan persyaratan rate pada sistem multimedia, berkas multimedia sering dikompresi dari ukuran aslinya ke ukuran yang lebih kecil. Sebuah berkas yang sudah dikompres, akan mengurangi space untuk penyimpanan dan dapat dikirim ke klien lebih cepat. Kompresi sangat berguna pada saat mengirimkan sebuah isi berkas melalui koneksi jaringan. Dalam diskusi mengenai kompresi berkas, kita sering merujuk ke ratio kompresi, yang mana ratio dari ukuran berkas asli banding ukuran berkas yang dikompres.
Sekali sebuah file telah dikompres, file tersebut harus didekompresikan sebelum dapat diakses. Fitur yang terdapat pada algoritma kompresi berkas mempengaruhi pada saat dekompresinya. Algoritma kompresi diklasifikasikan menjadi dua jenis, yaitu:
• Algoritma kompresi Lossy. Kompresi menggunakan lossy, beberapa bagian data asli hilang ketika berkas di decoded. Keuntungan dari algortima ini adalah bahwa rasio kompresi cukup tinggi. Hal ini dikarenakan cara algoritma lossy yang mengeliminasikan beberapa data dari suatu berkas. Namun data yang dieliminasikan biasanya adalah data yang kurang diperhatikan atau diluar jangkauan manusia, sehingga pengeliminasian data tersebut kemungkinan besar tidak akan mempengaruhi manusia yang berinteraksi dengan berkas tersebut. Beberapa algoritma lossy digunakan di operasi video dengan hanya menyimpan perbedaan diantara frame berturut-turut. Contoh format gambar yang menggunakan algoritma lossy adalah JPEG.
• Algoritma kompresi Lossless. Kompresi menggunakan lossless menjamin bahwa berkas yang dikompresi dapat selalu dikembalikan ke bentuk aslinya. Algoritma lossless digunakan untuk kompresi berkas text, seperti program komputer (berkas zip, rar, dll), karena kita ingin mengembalikan berkas yang telah dikompres ke status aslinya. Contoh format gambar yang menggunakan algoritma lossless adalah GIF and PNG.



KESIMPULAN DARI SISTEM WAKTU NYATA SECARA KESELURUHAN
Sistem waktu nyata adalah sebuah sistem komputer yang mengutamakan pencapaian hasil dalam sebuah periode deadline; hasil yang tiba setelah periode deadline berlalu adalah tak berguna. Ada dua tipe dari sistem waktu nyata yaitu: sistem waktu nyata keras dan sistem waktu nyata lembut. Sistem waktu nyata keras menjamin pekerjaan yang kritis akan diselesaikan dengan tepat waktu. Sedangkan, sistem waktu nyata lembut adalah sistem yang kurang membatasi, dimana pekerjaan yang kritis mendapat prioritas setelah pekerjaan lain.
Sebuah sistem operasi yang mendukung sistem waktu nyata harus menyediakan salah satu atau gabungan dari tiga fitur yang ada, fitur-fitur tersebut antara lain:
• Penjadwalan berdasarkan prioritas
• Kernel preemptif
• Pengurangan latensi
Algoritma yang digunakan untuk penjadwalan sistem waktu nyata keras ada 3 yaitu: penjadwalan Rate-monotonic, earliest deadline first dan proportional share. Penjadwalan rate monotonic menentukan bahwa proses yang lebih sering membutuhkan CPU memiliki prioritas lebih tinggi daripada proses yang kurang sering membutuhkan CPU. Penjadwalan Earliest-first deadline memberi prioritas berdasarkan deadline yang akan datang (deadline lebih awal, prioritas lebih tinggi). Penjadwalan proportional share menggunakan teknik membagi waktu prosessor menjadi bagian dan memberi masing-masing jumlah bagian proses, kemudian menjamin waktu CPU masing-masing proses.
Aplikasi multimedia banyak digunakan di sistem komputer modern saat ini. Berkas multimedia terdiri dari berkas audio dan video, yang dapat dikirim ke sistem seperti komputer desktop, handphone, PDA. Perbedaan utama antara data multimedia dan data konvensional adalah data multimedia memiliki persyaratan rate tertentu dan persyaratan deadline.
Penjadwalan disk biasanya menggunakan persyaratan deadline pada sebuah berkas multimedia sebagai sebuah kriteria penjadwalan. Kedua persyaratan tersebut harus dipenuhi untuk mempertahankan jaminan QOS (Quality Of Service), dan algoritma penjadwalan disk harus dioptimalkan untuk memenuhi persyaratan tersebut. Algoritma yang digunakan untuk melakukan penjadwalan disk ada dua yaitu: penjadwalan Earliest-Deadline-First (EDF) dan SCAN-EDF.
Manajemen berkas merupakan salah satu komponen dari sebuah sistem operasi. Sistem operasi memberikan tanggapan atas manajemen file untuk aktivitas-aktivitas berikut: pembuatan dan penghapusan berkas, pembuatan dan penghapusan direktori, pemanipulasian terhadap sebuah berkas atau direktori, memetakan berkas ke secondary storage, serta melakukan back-up sebuah berkas ke media penyimpanan yang bersifat permanen (non-volatile). Berkas multimedia memiliki 3 karakteristik yaitu: memiliki ukuran berkas yang besar, memiliki rate yang tinggi, dan sensitif terhadap timing delay.
Manajemen jaringan membutuhkan protokol untuk menangani delay dan jitter yang disebabkan oleh jaringan. Ada dua cara untuk mengatasi delay dan jitter selama pengiriman berkas multimedia melalui jaringan yaitu: uni/multicasting dan Real Time Streaming Protocol (RTSP).
Kompresi merupakan pengukuran suatu berkas menjadi ukuran yang lebih kecil dari berkas aslinya. Kompresi sangat berguna pada saat mengirimkan sebuah isi berkas melalui koneksi jaringan. Hal ini menyebabkan pengiriman berkas yang telah dikompresi lebih cepat jika dibandingkan dengan berkas yang belum dikompresi. Algoritma yang digunakan untuk mengkompresi sebuah berkas multimedia adalah algoritma lossy dan lossless.
Sebagai tambahan informasi dari system waktunyata , Pada awalnya, istilah real time digunakan dalam simulasi. Memang sekarang lazim dimengerti bahwa real time adalah "cepat", namun sebenarnya yang dimaksud adalah simulasi yang bisa menyamai dengan proses sebenarnya (di dunia nyata) yang sedang disimulasikan.
Suatu sistem dikatakan real time jika dia tidak hanya mengutamakan ketepatan pelaksanaan instruksi/tugas, tapi juga interval waktu tugas tersebut dilakukan. Dengan kata lain, sistem real time adalah sistem yang menggunakan deadline, yaitu pekerjaan harus selesai jangka waktu tertentu. Sementara itu, sistem yang tidak real time adalah sistem dimana tidak ada deadline, walaupun tentunya respons yang cepat atau performa yang tinggi tetap diharapkan.
Pada sistem waktu nyata, digunakan batasan waktu. Sistem dinyatakan gagal jika melewati batasan yang ada. Misal pada sistem perakitan mobil yang dibantu oleh robot. Tentulah tidak ada gunanya memerintahkan robot untuk berhenti, jika robot sudah menabrak mobil.
Sistem waktu nyata bisa dijumpai pada tugas-tugas yang mission critical, misal sistem untuk sistem pengendali reaktor nuklir atau sistem pengendali rem mobil. Juga sering dijumpai pada peralatan medis, peralatan pabrik, peralatan untuk riset ilmiah, dan sebagainya.
Ada dua model sistem real time, yaitu hard real time dan soft real time.
Hard real time mewajibkan proses selesai dalam kurun waktu tertentu. Jika tidak, maka gagal. Misalnya adalah alat pacu jantung. Sistem harus bisa memacu detak jantung jika detak jantung sudah terdeteksi lemah.
Sementara soft real time menerapkan adanya prioritas dalam pelaksanaan tugas dan toleransi waktu. Misalnya adalah transmisi video. Gambar bisa sampai dalam keadaan terpatah-patah, tetapi itu bisa ditolerir karena informasi yang disampaikan masih bisa dimengerti.

By: Januardi
Jurusan : Sistem Komputer
UPI “YPTK “ PADANG

Tidak ada komentar: