Sistem real-time merupakan sistem perangkat lunak yang harus merespons stimulus secara tepat waktu. Proses perancangan sistem real-time melibatkan identifikasi stimulus, batasan waktu tanggap, dan penjadwalan proses untuk memenuhi batasan tersebut. Bahasa pemrograman seperti C sering digunakan namun membutuhkan eksekutif khusus untuk mendukung konkurensi dan manajemen sumber daya.
1 of 21
Downloaded 97 times
More Related Content
Rpl 013 - perancangan perangkat lunak real time
2. Pendahuluan
Komputer digunakan untuk mengontrol banyak
sistem yang berkisar dari mesin domestik
sederhana sampai pabrik secara menyeluruh.
Komputer-komputer ini berinteraksi langsung
dengan perangkat keras.
Perangkat lunak pada sistem-sistem ini
merupakan sistem real-time yang menjadi satu
(embedded) yang hares bereaksi terhadap event
yang dibangkitkan oleh perangkat keras dan
mengeluarkan sinyal kontrol sebagai tanggapan
terhadap event-event tersebut.
RPL | PERANCANGAN PERANGKAT
2
LUNAK REAL-TIME
3. Lanjutan...
Sistem real-time merupakan sistem perangkat
lunak di mana kerja yang benar dari sistem tersebut
bergantung pada hasil yang dikeluarkan oleh sistem
dan waktu di mana hasil ini dibuat.
Sistem real-time 'lunak' merupakan sistem yang
operasinya terdegradasi jika hasil tidak dikeluarkan
menurut persyaratan waktu yang telah ditentukan.
Sistem real time `keras' merupakan sistem yang
operasinya tidak benar jika hasil tidak diberikan
menurut spesifikasi waktu.
RPL | PERANCANGAN PERANGKAT
3
LUNAK REAL-TIME
4. Lanjutan...
Stimuli/respon yang diterima
sistemterbagi menjadi dua kelas:
• Stimuli periodik. Stimuli ini terjadi pada
interval waktu yang dapat diramalkan.
• Stimuli aperiodik. Stimuli ini terjadi
secara ireguler (pada interval waktu
yang tidak dapat diramalkan).
RPL | PERANCANGAN PERANGKAT
4
LUNAK REAL-TIME
6. Proses perancangan untuk sistem real-time berbeda dari proses perancangan perangkat lunak lain
karena waktu tanggap sistem harus diperhitungkan di awal proses. Tahapannya:
1. Identifikasi stimuli yang harus diproses sistem dan respons yang sesuai.
2. Identifikasi batasan waktu yang berlaku untuk stimulus dan pemrosesan respons.
3. Gabungkan penirosesan stimulus dan respons menjadi sejumlah proses yang konkuren.
Model umum yang baik untuk arsitektur sistem adalah mengasosiasi-kan,proses dengan
setiap kelas stimulus dan respons
4. Rancang algoritma untuk melakukan komputasi yang diperlukan. Desain algoritma seringkali
harus dikembangkan relatif di awal proses perancangan untuk memberikan indikasi
mengenai banyaknya pemrosesan yang dibutuhkan dan waktu yang dibutuhkan untuk
menyelesaikan pemrosesan ini.
5. Rancang sistem penjadwalan yang akan menjamin bahwa proses dimulai untuk memenuhi
batas waktu akhirnya.
6. Integrasikan sistem dengan kontrol eksekutif real-time.
RPL | PERANCANGAN PERANGKAT
6
LUNAK REAL-TIME
7. • Analisis waktu sistem real-time cukup sulit. Karena sifat yang
tidak dapat di-ramalkan dari stimuli aperiodik, perancang harus
membuat asumsi mengenai prob-abilitas terjadinya stimuli ini
(dan dengan demikian membutuhkan layanan) pada waktu
kapanpun.
• Proses-proses pada sistem real-time harus dikoordinasikan.
Mekanisme koordi-nasi proses menjamin mutual exclusion (sifat
saling eksklutif) untuk sumber daya yang dipakai bersama.
Ketika satu proses sedang memodifikasi sumber daya yang
dipakai bersama, proses-proses lain tidak boleh mengubah
sumber daya tersebut.
RPL | PERANCANGAN PERANGKAT
7
LUNAK REAL-TIME
8. System real time harus menanggapi event yang terjadi
pada interval yang ireguler. Event-event (atau stimuli)
ini seringkali menyebabkan system berpindah ke status
yang berbeda.
Model status system menganggap bahwa pada setiap saat
system berada pada salah satu dari sekian banyak status
yang mungkin. Ketika suatu stimulus diterima, transisi
ke status yang berbeda dapat terjadi.
RPL | PERANCANGAN PERANGKAT
8
LUNAK REAL-TIME
9. Bahasa pemrograman yang digunakan untuk implementasi
system real time juga dapat mempengaruhi desain. Bahasa tingkat
system, seperti C yang memungkinkan dibuatnya kode yang efisien
juga dapat dipakai.
Bahasa C memungkinkan pengembangan program yang sangat
efisien. Namun, tidak mencakup apapun untuk mendukung
konkurensi. Bahasa ini bergantung pada system operasi atau fasilitas
eksekutif sehingga ada cakupan yang error bertambah untuk
pemrograman. Program juga seringkali lebih sulit dipahami.
RPL | PERANCANGAN PERANGKAT
9
LUNAK REAL-TIME
10. Eksekutif ini menangani proses dan alokasi sumber
daya pada system real time. Eksekutif ini memulai dan
menghentikan proses yang sesuai sehingga stimuli dapat
ditangani dan mengalokasikan memori dan sumber daya
prosessor.
Walaupun ada beberapa produk eksekutif real time
yang tersedia, persyaratan yang khusus dari banyak
system real time seringkali menuntut bahwa eksekutif
harus dirancang sebagai bagian dari system.
RPL | PERANCANGAN PERANGKAT
10
LUNAK REAL-TIME
11. • Clock real time, memberikan informasi untuk menjadwalkan proses
secara periodik.
• Interrupt handler, menangani permintaan apreodik untuk layanan.
• Penjadwal, bertanggung jawab terhadap pemeriksaan proses yang
dapat dijalankan dan memilih salah satunya untuk eksekusi.
• Manajer sumber daya, mengalokasikan memori yang sesuai dan
sumber-sumber daya processor.
• Despatcher, bertanggung jawab untuk memulai eksekusi suatu proses
RPL | PERANCANGAN PERANGKAT
11
LUNAK REAL-TIME
13. • Manajer konfigurasi, bertanggung jawab terhadap
rekonfigurasi dinamik dari perangkat keras system. Modul-modul
perangkat keras bias dikeluarkan dari layanan dan system di
upgrade dengan menambahkan perangkat keras baru tanpa
mematikan system.
• Manajer kerusakan, bertanggung jawab mendeteksi
kerusakan perangkat keras dan lunak dan mengambil tindakan
yang sesuai untuk memulihkan kerusakan ini.
RPL | PERANCANGAN PERANGKAT
13
LUNAK REAL-TIME
14. • Tingkat interrupt merupakan tingkat
prioritas tertinggi. Tingkat ini dialokasikan
untuk proses yang memerlukan respons yang
cepat. Salah satu proses ini adalah proses clock
real time.
• Tingkat clock, dialokasikan bagi proses-
proses periodic.
RPL | PERANCANGAN PERANGKAT
14
LUNAK REAL-TIME
15. Manajemen proses pada eksekutif real time berhubungan
dengan penanganan set proses-proses konkuren yang merupakan
bagian dari system real time. Manajer proses harus memilih satu
proses untuk eksekusi, megalokasikan memori dan sumber daya
processor bagi proses tersebut, dan memulai eksekusinya pada
processor.
Proses-proses periodic adalah proses-proses yang harus
dieksekusi pada interval waktu yang tealh ditentukan sebelumnya
untuk akuisisi data dan control aktuaktor. Eksekutif menggunakan
clock real timenya untuk menentukan kapan suatu proses akan
dieksekusi.
RPL | PERANCANGAN PERANGKAT
15
LUNAK REAL-TIME
16. Aksi eksekutif real-time untuk memulai suatu proses
RPL | PERANCANGAN PERANGKAT
16
LUNAK REAL-TIME
17. • Penjadwalan non preempsi. begitu suatu proses telah
dijadwalkan untuk eksekusi, proses akan berjalan
sampai selesai atau sampai di blok, untuk suatu alasan
seperti menunggu input.
• Penjadwalan preempsi. Eksekusi proses yang sedang
berjalan dapat dihentikan jika proses dengan prioritas
lebih tinggi membutuhkan layanan.
RPL | PERANCANGAN PERANGKAT
17
LUNAK REAL-TIME
18. System monitoring dan control merupakan kelas
system real time yang penting. System-sistem ini
memeriksa sensor yang memberikan informasi mengenai
lingkungan system dan mengambil tindakan sesuai
dengan hasil pembacaan sensor.
System control terus mengontrol actuator perangkat
keras dengan bergantung pada nilai sensor yang
bersangkutan.
RPL | PERANCANGAN PERANGKAT
18
LUNAK REAL-TIME
19. • Kegagalan power yang dibangkitkan oleh
monitor rangkaian. Respon yang dibutuhkan
adalah pergantian kepower back up dengan
memebri sinyal piranti pensaklaran power
elektronik.
• Alarm pencuri merupakan stimulus yang
dibangkitkan oleh salah satu sensor system.
RPL | PERANCANGAN PERANGKAT
19
LUNAK REAL-TIME
20. Sistem akuisisi data merupakan sistem yang
mengumpulkan data dari sensor untuk pemrosesan dan
analisis selanjutnya.
Pada sistem real-team yang melibatkan akuisisi data
dan pemrosesan, kecepatan eksekusi dan periode proses
akuisisi dan proses pemrosesan mungkin berada di luar
jalur. Jika yang perlu dilakukan hanya komputasi
sederhana, pemrosesan bisa lebih cepat dari akuisisi data.
RPL | PERANCANGAN PERANGKAT
20
LUNAK REAL-TIME