Sistem Waktu Nyata dan Multimedia - elista:.

advertisement
Sistem Waktu Nyata dan
Multimedia
1
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
disebabkan karena data multimedia terdiri dari
continous-media data (audio dan video), seperti
contohnya adalah frame video, yg mempersyaratkan
juga pengirimannya dlm batas waktu tertentu,
2
misalnya 30 frame/detik.
 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.
3
 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 safetycritical. Sistem waktu nyata lembut
menyediakan prioritas untuk mendahulukan
proses yang menggunakan waktu nyata dari
pada proses yang tidak menggunakan waktu
nyata.
4
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.
5
 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
mendukung sejumlah kecil proses saja, yang sering
menunggu masukan dari peralatan perangkat keras.
6
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.
7
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.
8
 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.
9
 Fitur-fitur minimal yang dibutuhkan oleh
sistem operasi yang mendukung sistem yang
real time adalah:
1. Penjadwalan berdasarkan prioritas dan
preemptif
2. Kernel preemptif
3. Latency yang minimal
10
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.
11
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
dengan prioritas tinggi perlu untuk dijalankan atau tidak. Jika
iya, context switch mengambil alih.
12
 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 diupdate adalah data kernel yang di lindungi dari
perubahan yang disebabkan oleh proses yang
memiliki prioritas tinggi.
13
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:
14
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.
15
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
oleh proses prioritas rendah yang dibutuhkan
oleh proses prioritas tinggi.
16
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,
Multimedia juga diadopsi oleh dunia Game.
17
 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
berkesinambungan, serta tidak terputus-putus. Walaupun
demikian, tentu ada toleransi tertentu terhadap kualitas
gambar/suara (soft real time). Misal pada aplikasi video
conference. Pengguna masih bisa mentolerir jika gambar sedikit
terpatah-patah atau suara sedikit lebih lambat dari video.
18
 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).
19
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
ratio dari ukuran berkas asli banding ukuran berkas
yang dikompres.
20
 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.
21
 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
perangkat lunak akan mengembalikan karakter tersebut menjadi
karakter awal dalam kalimat. Pengubangan karakter menjadi
lebih singkat hanya digunakan agar penyimpanan kalimat
tersebut dalam memory komputer tidak memakan tempat yang
banyak.
22
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.
23
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
tersebut ingin digunakan oleh sebuah program.
24
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.
25
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
mengeleminasi data dari berkas audio yang memiliki frekuensi
sangat tinggi/rendah yang berada diluar jangkauan manusia.
Beberapa jenis data yang biasanya masih dapat mentoleransi
algoritma lossy adalah gambar, audio, dan video.
26
2. Algoritma kompresi lossless
Berbeda dengan algoritma kompresi lossy,
pada algoritma kompresi lossless, tidak
terdapat perubahan data ketika
mendekompresi berkas yang telah
dikompresi dengan kompresi lossless ini.
Algoritma ini biasanya diimplementasikan
pada kompresi berkas teks, seperti program
komputer (berkas zip, rar, gzip, dan lain-lain).
27
 Contoh lain dari penerapan algoritma
kompresi lossy dalam kehidupan sehari-hari
adalah pada berkas berformat MPEG
(Moving Picture Experts Group). MPEG
merupakan sebuah set dari format berkas
dan standar kompresi untuk video digital.
28
Download