Embeded System

Introduction

          Embeded system , benda apa itu , gimana wujudnya ? yang pasti , saat ini kita tidak berbicara tentang hardware atau software , yah meskipun erat kaitan nya sih ,but its oke , lets begin
“A special purpose computer built into a larger device” -> E M B E D E D  S Y S T E M

          Embedded systems mepunyai tugas yang sangat spesifik , dalam kata lain , embeded system tidak multitasking , hanya memiliki satu atau lebih dikit lah fungsinya .Embeded system tidak dapat berdiri sendiri ,saya ambil contoh DVD Player meskipun DVD player punya sistem sendiri , hanya saja , dvd player juga tidak dapat digunakan tanpa dicolokin ke interface device seperti televisi atau jenis lainnya bukan  yah , meskipun dengan kemajuan teknologi saat ini ,dvd player sudah ada yang portable sekaligus display nya bukan ? atau mungkin contoh yang lain adalah microcontroller. Embedded systems (biasanya) merupakan bagian dari piranti yang lebih besar, untuk meningkatkan kapabilitasnya, yang pertama kali mempopulerkan Konsep Emebeded System pertama kali adalah : Apollo Guidance Computer

               Embedded Systems saat ini
• Signal processing systems
– Real-time video, set-top boxes, DVD players, medical
equipment, residential gateways
• Distributed control
– Network routers, switches, firewalls, mass transit
systems, elevators
• “Small” systems
– Mobile phones, pagers, home appliances, toys,
smartcards, MP3 players, PDAs, digital cameras,
sensors, smart badges

——————————————————————————————————————————————————————————————————————–

 Karakteristik Embedded Systems

• Menjadi bagian dari sistem yang lebih besar
– Periferal terbatas
• Application-specific
– Baik hardware maupun software dirancang khusus
untuk aplikasi yang spesifik
– Tetapi, re-programmability merupakan suatu kebutuhan
– ‘HALT’ merupakan suatu bad state!
• Interaksi dengan dunia fisik

——————————————————————————————————————————————————————————————————————–

Problem

Meskipun begitu , ada beberapa isu penting yang menjadi concern pengembangan teknologi embeded system kedepannya, diantaranya adalah :

• Hardware
– CPU, Memory
– Power consumption
– Limited peripherals and slower buses
– Size, weight, environmental reliability
• Software
– Latency
• ‘Hard’ or ‘Soft’ Real-time requirements
– Limited HW resources
– Reliability
• Tidak mudah didebug
– Device heterogeneity
• Interoperabilitas menjadi suatu isu penting!

          Embedded Software
• Tugas utama: ‘Not transformation of data , but interaction with physical world’
• Mengakuisisi sifat-sifat fisika/kimia
lingkungan
– Perlu waktu
– Mengkonsumsi daya
– Tidak berhenti (kecuali gagal beroperasi)

Problem pada Embedded Software
• Mayoritas ditulis oleh mereka yang bukan
computer scientist
– Tantangan untuk CS: menemukan abstraksi yang lebih
baik agar memudahkan pekerjaan domain
– Domain experts biasanya skeptik
• ‘They see Java programs stalling for 1/3 second to perform
garbage collection and update the UI and envision airplanes
falling out of the sky’
• Metoda yang dipakai pada general-purpose
software perlu banyak diadaptasi
– Mungkin diperlukan abstraksi baru

————————————————————————————————————————————————————————————————————–

                                               Sifat-Sifat Embedded Software

1.     Timeliness

• Waktu: secara sistematik telah dibung dari teori komputasi
• RTOS seringkali mereduksi karakterisasi suatu task menjadi sebuah bilangan (yakni, prioritasnya)
• Tetapi: Komputasi memerlukan waktu
– Tetapi, bahkan pada komputer yang sangat cepat, waktu masih perlu dipertimbangkan
– Proses fisik memerlukan waktu
• Perlu ditemukan abstraksi yang memungkinkan kendali waktu !!!

2.     Concurrency

• Di dunia fisik, banyak kejadian berlangsung pada waktu yang sama
• Tantangan: mengkompromikan sekuensialitas software  dengan konsurensi dunia nyata
– Pendekatan klasik (semaphores, monitors, dsb) memberikan fondasi yang baik
• Tetapi : tidak mencukupi
– Pendekatan lain: kompilasikan konkurensi (Estrel)
• Estrel: synchronous/reactive language
– FSM based, deterministic behavior
• Keunggulan: program yang sangat dapat diandalkan
• Kekurangan: terlalu statik untuk sistem tertemtu
– Karena itu diperlukan pendekatan menengah

3.     Liveness
• Program tidak boleh berakhir
– Tidak seperti model komputasi Turing tradisional, HALT tidak boleh terjadi
– Deadlock tidak dapat ditolerir
• Correctness , bukan semata-matamenampilkan jawaban akhir yang benar
– Harus mempertimbangkan hal-hal seperti timing, power consumption, fault recovery, security and robustness

4.     Reactivity

• Sistem disebut interaktif, bila:
– Bereaksi dengan kecepatannya sendiri (atau kecepatan manusia
yang mengendalikannya)
• Sistem disebut transformatsional, bila:
– Mentransformasikan suatu input data menjadi suatu output data
(misalnya perkalian dua buah matriks)
• Sistem disebut reaktif, bila:
– Bereaksi secara kontinu dengan lingkungan, selalu dengan
kecepatan reaksi yang tetap
– Harus beradaptasi terhadap perubahan kondisi
• Sumberdaya dan permintaan dapat sering berubah
– Kendala waktu nyata
– Safety-critical
• Fault-tolerance dapat merupakan isu utama

——————————————————————————————————————————————————————————————————————

                                                                          Operating Systems dan Teknik Penjadwalan

Ada banyak sistem operasi embeded system , beberapa diantaranya :

• Sistem Operasi Bergaya Office
– PalmOS
– WindowsCE
• Real-Time Operating Systems
– VxWorks
– QNX
• Linux
– Linux sudah bersifat ubiquitous
• Banyak piranti menggunakannya
http://www.linuxdevices.com/articles/AT4936596231.html
– Banyak variasi dari ‘soft real time’ ke ‘hard real time’
– Terdapat banyak commercial + open source products
• Lainnya
– TinyOS

 Teknik Penjadwalan pada Embedded Operating Systems

• Cyclic executive
– Static schedulability analysis
• Hasilnya digunakan pada saat runtime
– Hebat untuk tugas-tugas yang periodik
• Tetapi : tidak flexible
• Event-driven non-preemptive
– Tugas-tugas direpresentasikan dengan functions (event
handlers)
– FIFO
– Aman, tetapi terbatas
• Static/dynamic priority preemptive
scheduling
– Static schedulability analysis
– Tidak ada schedule eksplisit: pada saat run-time
laksanakan highest priority task pertama kali
• Rate/deadline monotonic, earliest deadline first,
least slack
– Flexible, tetapi berpotensi bahaya
• Priority inversion
• Deadlock
• Dynamic planning-based scheduling
– Schedulability di-check pada saat runtime untuk task
yang datang secara dinamik
• Schedule yang dihasilkan menentukan kapan eksekusi
• Bila scheduling gagal, lakukan tindakan alternatif
– Flexible dan lumayan predictable
• Dynamic best-effort scheduling
– Tidak ada checking
• Kapan kendala timing dipenuhi hanya dapat diketahui sesudah
task selesai atau deadline tidak terpenuhi
– System berusaha memenuhi deadline
• Tasks dapat di-preempted kapan saja

2 Comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s