Sistem Waktu Nyata dan
Multimedia
Pendahuluan
sistem waktu nyata mempersyaratkan bahwa
komputasi yang dihasilkan benar tapi juga harus
sesuai dengan waktu yang dikehendaki. Oleh karena
itulah algoritma penjadualan yang tradisional
haruslah dimodifikasi sehingga dapat memenuhi
persyaratan deadline yang diminta.
Hal ini pula yang dipersyaratkan oleh sistem
multimedia yang tidak hanya memiliki data
konvensional (seperti berkas teks, program, dll),
tetapi juga memiliki data multimedia. Hal ini
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
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
Contoh: Linux. Karakteristik dari sistem waktu nyata:
1. 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.
2. Small size. Kebanyakan sistem waktu nyata yang ada memiliki
physical space yang terbatas.
3. Inexpensively mass-produced. Sistem waktu nyata banyak ditemukan dalam peralatan rumah tangga dan peralatan lainnya. Misalnya pada kamera digital, microprocessors, microwave ovens.
4. 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:
1.
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
2.
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.
3.
Jika sistem waktu nyata mendukung fitur
yang biasa terdapat pada standar desktop
dan sistem server, maka akan sangat
meningkatkan biaya dari sistem waktu
nyata.
Kernel Waktu Nyata
Waktu nyata merujuk pada bentuk aplikasi
yang mengontrol proses dimana masalah
waktu merupakan hal yang sangat penting.
Sistem waktu nyata digunakan ketika ada
persyaratan waktu yang ketat pada operasi di
prosesor atau flow dari data; yang sering
digunakan sebagai alat kontrol yang pada
aplikasi yang terpisah.
Dengan kata lain, sebuah sistem waktu nyata
tidak hanya perlu untuk menjalankan
software melalui proses dengan benar, tapi
juga perlu untuk menjalankannnya dalam
waktu yang tepat, kalau tidak sistem akan
gagal.
Fitur-fitur minimal yang dibutuhkan oleh
sistem operasi yang mendukung sistem yang
real time adalah:
1. Penjadwalan berdasarkan prioritas dan
preemptif
2. Kernel preemptif
1. Penjadwalan Berdasarkan
Prioritas
Fitur yg paling penting dari sebuah sistem operasi yg
mendukung sistem waktu nyata adalah merespon dengan segera sebuah proses waktu nyata secepat proses yg
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 diberikan 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.
2.
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
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.
3.
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:
1. 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
.
2.
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
Sistem multimedia
Multimedia
adalah penggunaan komputer
untuk menyajikan dan menggabungkan teks,
suara, gambar, animasi dan video dengan
alat bantu ([tool]) dan koneksi ([link])
sehingga pengguna dapat ber-([navigasi]),
berinteraksi, berkarya dan berkomunikasi.
Multimedia sering digunakan dalam dunia
hiburan
. Selain dari dunia hiburan,
Handal. Para pengguna tentulah tidak akan gembira jika sistem terlalu sering crash.
Sistem berkas. Ukuran berkas multimedia cenderung sangat besar. Sebagai contoh , berkas video dalam format MPEG dengan durasi 60 menit akan berukuran sekitar 650 MBytes. Untuk itu, diperlukan sistem operasi yang mampu menangani berkas-berkas dengan ukuran tersebut secara efektif dan
efisien.
Bandwidth . Diperlukan bandwidth (ukuran saluran data) yang besar untuk multimedia, misalnya video.
Waktu nyata. Selain memerlukan bandwidth yang besar, berkas multimedia harus disampaikan secara lancar
Embedded System . Embedded system pada dasarnya adalah komputer khusus yang tugasnya menjalankan tugas spesifik. Tidak seperti PC, yang bisa digunakan untuk banyak hal seperti browsing, menonton video, membuat program dan sebagainya, embedded system hanya melakukan satu atau beberapa tugas tertentu saja, tentunya masing-masing memiliki kebutuhan yang spesifik dan seringkali diperlengkapi dengan hardware khusus yang tidak lazim ditemui pada PC biasa. Biasanya embedded system menggunakan
hardware yang terbatas, misal memori yang kecil atau tidak memiliki
harddisk, tidak memiliki fasilitas canggih seperti virtual memory yang lazim ditemui di PC biasa, dan lain-lain. Karena embedded system hanya melakukan tugas tertentu, maka sistem bisa dioptimasi
sedemikian rupa sehingga bisa memperkecil ukuran fisiknya dan
menekan biaya produksi. Secara fisik, embedded system bisa dijumpai mulai dari yang berukuran kecil, seperti PDA,MP3 player atau jam
digital, kemudian ke yang lebih besar seperti TV, video game console, router sehingga yang kompleks seperti sistem pengendali pabrik,sistem pengatur lampu lalu lintas, atau sistem pemandu pesawat. Emdedded system melakukan komputasi secara real-time dan mereka bisa saja berjalan dengan sedikit interaksi dari manusia (atau tidak sama sekali).
Kompres
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
Kompresi merupakan pengurangan ukuran
suatu berkas menjadi ukuran yang lebih kecil
dari aslinya. Pengompresian berkas ini
sangat menguntungkan manakala terdapat
suatu berkas yang berukuran besar dan data
di dalamnya mengandung banyak
pengulangan karakter. Adapun teknik dari
kompresi ini adalah dengan mengganti
karakter yang berulang-ulang tersebut
dengan suatu pola tertentu sehingga berkas
tersebut dapat meminimalisasi ukurannya.
Misalnya terdapat kata "Hari ini adalah hari Jum'at. Hari Jum'at adalah hari yang menyenangkan".
Jika kita telaah lagi, kalimat tersebut memiliki pengulangan karakter seperti karaktek pembentuk
kata hari, hari Jum'at, dan adalah. Dalam teknik sederhana kompresi pada perangkat lunak, kalimat
di atas dapat diubah menjadi pola sebagai berikut
# ini $ %. % $ # ya@ menyena@kan.
dimana dalam kalimat diatas, karakter pembentuk hari diubah menjadi karakter #, hari Jum'at menjadi %, adalah menjadi $, ng menjadi @. Saat berkas ini akan dibaca kembali, maka
Implementasi kompresi dalam personal computer
(PC) dibagi menjadi tiga cara, yaitu:
1. Pengkompresian berkas berdasarkan kegunaannya
(
Utility-based file compression
) Merupakan jenis
kompresi yang melakukan kompresi per berkas
dengan menggunakan utilitas kompresi. Untuk
melihat berkas yang telah dikompresi, berkas
tersebut harus didekompres dengan menggunakan
utilitas dekompresi. Dalam jenis ini, sistem operasi
tidak tahu menahu mengenai aktivitas kompresian
atau dekompresi sebuah berkas. Contoh dari sistem
kompresi yang cukup terkenal adalah PKZIP, WinZip,
WinRar, dan lain-lain.
2. Pengkompresian berkas pada sistem operasi
(
Operating system file compression
) Beberapa
sistem operasi memiliki sistem kompresi di
dalamnya. Contoh dari sistem operasi yang memiliki
sistem kompresi di dalamnya adalah Windows NT
yang menggunakan sistem berkas NTFS. Dengan
menggunakan sistem kompresi seperti ini, sistem
operasi secara otomatis dapat mendekompres
berkas yang telah dikompresi manakala berkas
3. Pengkompresian Isi (
Volume compression
)
dengan pengkompresian ini, kita dapat
menghemat penggunaan space pada disk
tanpa harus mengkompresi tiap berkas di
dalamnya secara individual. Setiap berkas
yang dikopi ke dalam volume compression
akan dikompresi secara otomatis dan akan
didekompresi secara otomatis apabila berkas
tersebut dibutuhkan oleh sebuah program.
Algoritma kompresi diklasifikasikan
menjadi dua buah, yaitu:
1. Algoritma kompresi lossy
Keuntungan dari algoritma ini adalah bahwa rasio kompresi (perbandingan antara ukuran berkas yang telah dikompresi dengan berkas sebelum dikompresi) cukup tinggi. Namun
algoritma ini dapat menyebabkan data pada suatu berkas yang dikompresi hilang ketika didekompresi. Hal ini dikarenakan cara kerja algoritma lossy adalah dengan 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. Contohnya pada
pengkompresian berkas audio, kompresi lossy akan