SlideShare une entreprise Scribd logo
1  sur  22
EL 6011 – Sistem Embedded dan Waktu Nyata




Implementasi RTOS (Femto OS) pada
  Mikrokontroller Seri ATMega32


                      Oleh:
        Aris Cahyadi Risdianto (23210016)
            Vani Virdyawan (23110035)
Pendahuluan
Definisi RTOS
“Real-Time Operating System (RTOS) adalah sistem operasi yang multitasking
yang ditujukan untuk aplikasi yang real-time”. Wikipedia, 2011.

“Program yang menjadwalkan semua eksekusi/pekerjaan yang sangat teratur,
mengatur semua resource dari sistem, dan menyediakan dasar yang konsisten
untuk mengembangkan kode aplikasi diatasnya”. Real Time Concept for
Embedded Systems, 2003.

Dari aplikasi simple (jam digital) sampai aplikasi yang kompleks (perangkat
navigasi penerbangan) => Scalable
Komponen RTOS

    Scheduler

Indikasi kapan eksekusi suatu pekerjaan akan dilakukan

Round-robin atau preempetive scheduling


    Objects

Dibangun oleh kernel untuk memudahkan pengembangan

Terdiri dari tasks, semaphores, dan message queues


    Services

Operasi yang diberikan kepada semua objek

Diantaranya timing, interrupt handling, dan resource management
Karakteristik RTOS

    Reliability, kemampuan bekerja tanpa intervensi
    manusia.

    Predictability, perilaku bisa diprediksi untuk rentang
    waktu yang telah ditentukan

    Performance, mampu menyelesaikan pekerjaan
    secepat mungkin

    Compactness, ukuran dan penggunaan resource
    terbatas, pengaruh dari desain dan biaya

    Scalability, modular untuk mendukung berbagai
    macam tingkat kekompleksan aplikasi
Pengenalan Femto OS

 Dimulai sejak 2007, terinspirasi oleh FreeRTOS
 Didesain untuk mikro kontroler dengan Memory (Flash atau
  RAM) minimal seperti Attiny
 Menggunakan bahasa C, dengan port file yang terpisah
 Kebutuhan Flash Memory 1K – 4K Bytes
 Kebutuhan RAM (OS 10 – 20 bytes, Tasks 6 bytes)
 Aplikasi terkecil “bare” 258 bytes Flash dan 10 bytes RAM
 Keterbatasan jumlah tasks > 16 atau sinkronisasi primitif
Desain Femto OS

    Round Robin Scheduling (every task for each priority)

    Preemptive and cooperative (task by task basis)

    Shared Stacks for tasks ( saving ram)

    Register Compression (only save taskswitch register)

    Separate OS/ISR Stack Space

    Power save on Idle

    Honest Time Slicing (every task same execution time)

    OS interruptible (almost large OS parts)

    Resource Tracking (kernel released if task terminated)
Fitur Femto OS

    Nested Critical Sections (tick and general interrupt)

    Rendez Vous, Mutexes, Queues (tasks communication)

    Priority Lifting

    Timed Power down (task delay long, OS sleep)

    Precision Delays between wakeup tasks

    Watchdog per Task to revive crashed tasks

    High Resolution Load Monitor to check how many sub ticks

    Integrated file system for onboard eeprom

    High speed events to revive tasks for special actions

    etc
Arsitektur Femto OS
Implementasi Femto OS
Komponen RTOS pada Femtoo
 Context Switch

 Dispatcher

 Scheduling algorithm

 Semaphores

 Message queue

 Pipe

 Event register
Context Switch

 Memungkinkan terjadinya proses pergantian task

 Untuk melakukan context switch pada Femtoo OS
  terdapat
      TCB
      TDB
      ttaskSave
      portSaveContext
      portRestorecontext
Dispatcher

 Bagian dari scheduler yang digunakan untuk mengatur
  alliran eksekusi.

 Pada Femtoo OS komponen-komponen dari dispatcher
  adalah
     PortEnterIsr
     PortBeginIsr
     PortReturnIsr
     PortYieldIsr
Scheduling Algorithm

 Pada Femtoo OS task dengan prioritas yang sama akan
  diselesaikan dengan round robi, sedangkan untuk task
  dengan prioritas yang berbeda akan dikerjakan sesuai
  dengan prioritasnya.

 Fungsi yang digunakan pada Femtoo OS adalah
     privSelecttask
     privEnterTask
Semaphores
 Semaphore merupakan bagian dari kernel objek yang
  digunakan untuk sinkronisasi dari resource.
 Pada Femtoo OS digunakan semaphore jenis Mutex

 Fungsi yang terdapat pada Femtoo OS adalah
     taskMutexRequestonname
     taskMutexReleaseonname
     TaskSyncrelease
     TaskDisableSwitchtask
     TaskEnableswitchtask
     taskEnterSwitchcritical
     taskExitSwitchcritical
Message Queue

 Merupakan bagian yang mengatur pengiriman dan
  penerimaan pesan

 Pada Femtoo OS bagian-bagian yang berfungsi sebagai
  message queue adalah
     taskQueueReadRequestonName
     taskQueuewriteRequestonName
     taskqueueReleasOnName
     taskQueueRequestonName
Pipe

 Pipe secara sederhana berfungsi seperti message queue,
  namun memiliki perbedaan yang mendasar, yaitu tidak
  dapat melakukan tugas dengan prioritas

 Pada Femtoo OS fungsi pipe yaitu
     taskFileWritePipe
     taskFileReadPipe.
Event Register

 Pada kernel terdapat suatu spesial register yang
  merupakan bagian dari TCB dan digunakan untuk
  mengetahui adanya suatu events.

 Pada Femtoo OS fungsi ini disebutkan dengan
     taskWaitforallEvents
     taskWaitforEventSetOnName
Implementasi Femtoo pada Eclipse

  Dilakukan untuk mengetahui apakah Femtoo OS dapat
   berjalan dengan baik atau tidak.
  Dilakukan dengan mengunggah program pada
   microcontroller Atmega32 dengan source program dari
   demo_source.
  Untuk dapat melakukan pemrograman pada Eclipse
   harus dilakukan
      Installasi AVR toolchain
      Konfigurasi AVR toolchain pada Eclipse
      Pemrograman pada microcontroller
Installasi AVR Toolchain

 Unduh AVR Toolchain Installer dengan mengakses
  web berikut ini
  www.atmel.com/dyn/products/tools_card.asp?
  tool_id=2725&category_id=163&family_id=607&subfa
  mily_id=760

 Lakukan installasi dengan default options
Konfigurasi AVR Toolchain

 untuk melakukan konfigurasi dapat dilakukan secara
  online maupun dengan mengunduh dahulu program
  avreclipse-p2-repository-2.3.4.20100807PRD.

 Karena terdapat masalah pada jaringan maka
  dilakukan konfigurasi dengan terlebih dahulu
  mengunduh program avreclipse-p2-repository-
  2.3.4.20100807PRD.
Pemrograman pada Microcontroller
 Buat project baru dengan memilih project C.
 Copy folder femtoos_devices, femtoos_source,
  femtoos_headers yang terdapat pada FemtoOs ke
  project tersebut.
 Include folder-folder tersebut pada AVR Assembler,
  AVR Compiler, AVR C linker, dengan membuka
  properties pada project tersebut dan pilih settings
  pada C/C++ Build. (Untuk AVR C linker, hanya
  masukkan pada libraries path (-L)).
 Exclude Femtoo_devices.
 Setelah itu build project dan upload project tersebut
  ke mikrokontroller.
 Pastikan hardware yang digunakan sesuai.
THANK YOU

Contenu connexe

Tendances

Tipe dan format instruksi 2
Tipe dan format instruksi 2Tipe dan format instruksi 2
Tipe dan format instruksi 2Rosyid Ridlo
 
Set instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturSet instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturFarhan Arrahman
 
So basis teks (dos)
So basis teks (dos)So basis teks (dos)
So basis teks (dos)Jaka Parwoko
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanIndri Sukmawati Rahayu
 
Rtos Wimax OSS Workshop
Rtos Wimax OSS WorkshopRtos Wimax OSS Workshop
Rtos Wimax OSS WorkshopSugeng Widodo
 
Central processing unit
Central processing unitCentral processing unit
Central processing unittanto94
 
Arsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPUArsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPURamandha Auryl
 
Tugas1 151150052 so_tp
Tugas1 151150052 so_tpTugas1 151150052 so_tp
Tugas1 151150052 so_tpLeo Riska
 
Set intruksi berupa jenis intruksi teknik pengalamatan
Set intruksi berupa jenis intruksi teknik pengalamatanSet intruksi berupa jenis intruksi teknik pengalamatan
Set intruksi berupa jenis intruksi teknik pengalamatanDevry Berta
 
arsitektur so modern (symbian)
arsitektur so modern (symbian)arsitektur so modern (symbian)
arsitektur so modern (symbian)erniindriyana
 
Sistem operasi
Sistem operasiSistem operasi
Sistem operasiNok Aulia
 
Zulyanti Megasari - Konsep Dasar Sistem Operasi
Zulyanti Megasari - Konsep Dasar Sistem OperasiZulyanti Megasari - Konsep Dasar Sistem Operasi
Zulyanti Megasari - Konsep Dasar Sistem Operasibelajarkomputer
 

Tendances (17)

Tipe dan format instruksi 2
Tipe dan format instruksi 2Tipe dan format instruksi 2
Tipe dan format instruksi 2
 
Set instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturSet instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitektur
 
So basis teks (dos)
So basis teks (dos)So basis teks (dos)
So basis teks (dos)
 
Pertemuan 9 orkom
Pertemuan 9 orkomPertemuan 9 orkom
Pertemuan 9 orkom
 
Set intruksi ppt
Set intruksi pptSet intruksi ppt
Set intruksi ppt
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik Pengalamatan
 
Rtos Wimax OSS Workshop
Rtos Wimax OSS WorkshopRtos Wimax OSS Workshop
Rtos Wimax OSS Workshop
 
Central processing unit
Central processing unitCentral processing unit
Central processing unit
 
Arsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPUArsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPU
 
Tugas1 151150052 so_tp
Tugas1 151150052 so_tpTugas1 151150052 so_tp
Tugas1 151150052 so_tp
 
Sinkronisasi
SinkronisasiSinkronisasi
Sinkronisasi
 
Praktikum 7
Praktikum 7Praktikum 7
Praktikum 7
 
Set intruksi berupa jenis intruksi teknik pengalamatan
Set intruksi berupa jenis intruksi teknik pengalamatanSet intruksi berupa jenis intruksi teknik pengalamatan
Set intruksi berupa jenis intruksi teknik pengalamatan
 
arsitektur so modern (symbian)
arsitektur so modern (symbian)arsitektur so modern (symbian)
arsitektur so modern (symbian)
 
Sistem operasi
Sistem operasiSistem operasi
Sistem operasi
 
5 penjadwalan aplod
5 penjadwalan aplod5 penjadwalan aplod
5 penjadwalan aplod
 
Zulyanti Megasari - Konsep Dasar Sistem Operasi
Zulyanti Megasari - Konsep Dasar Sistem OperasiZulyanti Megasari - Konsep Dasar Sistem Operasi
Zulyanti Megasari - Konsep Dasar Sistem Operasi
 

En vedette

Internet marketing without budget zhuravel
Internet marketing without budget zhuravelInternet marketing without budget zhuravel
Internet marketing without budget zhuravelAdlabsslideshare
 
Вячеслав Марков: "Контекстные технологии"
Вячеслав Марков: "Контекстные технологии"Вячеслав Марков: "Контекстные технологии"
Вячеслав Марков: "Контекстные технологии"Adlabsslideshare
 
Написание научной статьи на английском языке
Написание научной статьи на английском языкеНаписание научной статьи на английском языке
Написание научной статьи на английском языкеTheoretical mechanics department
 
брендывинтернет2013
брендывинтернет2013брендывинтернет2013
брендывинтернет2013Adlabsslideshare
 
Domanda patrocinio e contributi Busto Arsizio
Domanda patrocinio e contributi Busto ArsizioDomanda patrocinio e contributi Busto Arsizio
Domanda patrocinio e contributi Busto ArsizioMassimo Brugnone
 
Intohimosta yrittäjyyttä
Intohimosta yrittäjyyttäIntohimosta yrittäjyyttä
Intohimosta yrittäjyyttäPauliina Mäkelä
 
Sgueglia G.A. La terapia antitrombotica nei pazienti con fibrillazione atrial...
Sgueglia G.A. La terapia antitrombotica nei pazienti con fibrillazione atrial...Sgueglia G.A. La terapia antitrombotica nei pazienti con fibrillazione atrial...
Sgueglia G.A. La terapia antitrombotica nei pazienti con fibrillazione atrial...Gianfranco Tammaro
 
Remoli R. Definizione e meccanismi patogenetici. ASMaD 2013
Remoli R. Definizione e meccanismi patogenetici. ASMaD 2013Remoli R. Definizione e meccanismi patogenetici. ASMaD 2013
Remoli R. Definizione e meccanismi patogenetici. ASMaD 2013Gianfranco Tammaro
 
Menghini F. - Piccioni F. I quadri clinici della Fibrillazione Atriale: dallo...
Menghini F. - Piccioni F. I quadri clinici della Fibrillazione Atriale: dallo...Menghini F. - Piccioni F. I quadri clinici della Fibrillazione Atriale: dallo...
Menghini F. - Piccioni F. I quadri clinici della Fibrillazione Atriale: dallo...Gianfranco Tammaro
 
Lamberti F. Fibrillazione Atriale. Le linee guida del 2012. ASMaD 2013
Lamberti F. Fibrillazione Atriale. Le linee guida del 2012. ASMaD 2013Lamberti F. Fibrillazione Atriale. Le linee guida del 2012. ASMaD 2013
Lamberti F. Fibrillazione Atriale. Le linee guida del 2012. ASMaD 2013Gianfranco Tammaro
 

En vedette (20)

Cain and Abel Tools
Cain and Abel ToolsCain and Abel Tools
Cain and Abel Tools
 
JPEG 2000 Standard
JPEG 2000 StandardJPEG 2000 Standard
JPEG 2000 Standard
 
Interface OTN untuk IP over DWDM
Interface OTN untuk IP over DWDMInterface OTN untuk IP over DWDM
Interface OTN untuk IP over DWDM
 
Network Forensic dengan TCPDUMP
Network Forensic dengan TCPDUMPNetwork Forensic dengan TCPDUMP
Network Forensic dengan TCPDUMP
 
Quality of services Overview
Quality of services OverviewQuality of services Overview
Quality of services Overview
 
CAST encryption
CAST encryptionCAST encryption
CAST encryption
 
Internet marketing without budget zhuravel
Internet marketing without budget zhuravelInternet marketing without budget zhuravel
Internet marketing without budget zhuravel
 
Вячеслав Марков: "Контекстные технологии"
Вячеслав Марков: "Контекстные технологии"Вячеслав Марков: "Контекстные технологии"
Вячеслав Марков: "Контекстные технологии"
 
Написание научной статьи на английском языке
Написание научной статьи на английском языкеНаписание научной статьи на английском языке
Написание научной статьи на английском языке
 
Kharkiv analytics
Kharkiv analyticsKharkiv analytics
Kharkiv analytics
 
брендывинтернет2013
брендывинтернет2013брендывинтернет2013
брендывинтернет2013
 
Offline vs online
Offline vs onlineOffline vs online
Offline vs online
 
Domanda patrocinio e contributi Busto Arsizio
Domanda patrocinio e contributi Busto ArsizioDomanda patrocinio e contributi Busto Arsizio
Domanda patrocinio e contributi Busto Arsizio
 
Intohimosta yrittäjyyttä
Intohimosta yrittäjyyttäIntohimosta yrittäjyyttä
Intohimosta yrittäjyyttä
 
Sgueglia G.A. La terapia antitrombotica nei pazienti con fibrillazione atrial...
Sgueglia G.A. La terapia antitrombotica nei pazienti con fibrillazione atrial...Sgueglia G.A. La terapia antitrombotica nei pazienti con fibrillazione atrial...
Sgueglia G.A. La terapia antitrombotica nei pazienti con fibrillazione atrial...
 
Remoli R. Definizione e meccanismi patogenetici. ASMaD 2013
Remoli R. Definizione e meccanismi patogenetici. ASMaD 2013Remoli R. Definizione e meccanismi patogenetici. ASMaD 2013
Remoli R. Definizione e meccanismi patogenetici. ASMaD 2013
 
Menghini F. - Piccioni F. I quadri clinici della Fibrillazione Atriale: dallo...
Menghini F. - Piccioni F. I quadri clinici della Fibrillazione Atriale: dallo...Menghini F. - Piccioni F. I quadri clinici della Fibrillazione Atriale: dallo...
Menghini F. - Piccioni F. I quadri clinici della Fibrillazione Atriale: dallo...
 
Lamberti F. Fibrillazione Atriale. Le linee guida del 2012. ASMaD 2013
Lamberti F. Fibrillazione Atriale. Le linee guida del 2012. ASMaD 2013Lamberti F. Fibrillazione Atriale. Le linee guida del 2012. ASMaD 2013
Lamberti F. Fibrillazione Atriale. Le linee guida del 2012. ASMaD 2013
 
Network virtualizations - Survey
Network virtualizations - SurveyNetwork virtualizations - Survey
Network virtualizations - Survey
 
Radar observations of plasma depletions in the Ionosphere
Radar observations of plasma depletions in the IonosphereRadar observations of plasma depletions in the Ionosphere
Radar observations of plasma depletions in the Ionosphere
 

Similaire à Implementasi RTOS (Femto OS) pada Mikrokontroller Seri ATMega32

Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptxSistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx11211058
 
Per-5-Arsitekur-Sistem-Operasi smk bisa maju
Per-5-Arsitekur-Sistem-Operasi smk bisa majuPer-5-Arsitekur-Sistem-Operasi smk bisa maju
Per-5-Arsitekur-Sistem-Operasi smk bisa majuhsdfh
 
Pengantar Teknologi Informasi - Perangkat Lunak (Software)
Pengantar Teknologi Informasi - Perangkat Lunak (Software)Pengantar Teknologi Informasi - Perangkat Lunak (Software)
Pengantar Teknologi Informasi - Perangkat Lunak (Software)Dedi Irawan
 
Pengenalan Sistem Operasi
Pengenalan Sistem OperasiPengenalan Sistem Operasi
Pengenalan Sistem OperasiFariz Fahrizal
 
PERANGKAT LUNAK/SOFTWARAE
PERANGKAT LUNAK/SOFTWARAEPERANGKAT LUNAK/SOFTWARAE
PERANGKAT LUNAK/SOFTWARAEEDIS BLOG
 
dokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptdokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptCrisnaLidya
 
Ferli Apriadi - Dasar Sistem Operasi
Ferli Apriadi - Dasar Sistem OperasiFerli Apriadi - Dasar Sistem Operasi
Ferli Apriadi - Dasar Sistem Operasibelajarkomputer
 
Hubungan hardware dengan kernel, shell, user
Hubungan hardware dengan kernel, shell, userHubungan hardware dengan kernel, shell, user
Hubungan hardware dengan kernel, shell, userRyandika Alfarishi
 
Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2ndriehs
 
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan KernelSistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan KernelAndino Maseleno
 
Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anyta Pelophella
 
Konsep proses dan penjadwalan
Konsep proses dan penjadwalanKonsep proses dan penjadwalan
Konsep proses dan penjadwalanDickdick Maulana
 
Helen Alida Abilio - Konsep Sistem operasi
Helen Alida Abilio - Konsep Sistem operasiHelen Alida Abilio - Konsep Sistem operasi
Helen Alida Abilio - Konsep Sistem operasibelajarkomputer
 

Similaire à Implementasi RTOS (Femto OS) pada Mikrokontroller Seri ATMega32 (20)

Jawaban 1
Jawaban  1Jawaban  1
Jawaban 1
 
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptxSistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
 
Per-5-Arsitekur-Sistem-Operasi smk bisa maju
Per-5-Arsitekur-Sistem-Operasi smk bisa majuPer-5-Arsitekur-Sistem-Operasi smk bisa maju
Per-5-Arsitekur-Sistem-Operasi smk bisa maju
 
Gamb umum so
Gamb umum soGamb umum so
Gamb umum so
 
Gamb umum so
Gamb umum soGamb umum so
Gamb umum so
 
Sistem Operasi
Sistem OperasiSistem Operasi
Sistem Operasi
 
Pengantar Teknologi Informasi - Perangkat Lunak (Software)
Pengantar Teknologi Informasi - Perangkat Lunak (Software)Pengantar Teknologi Informasi - Perangkat Lunak (Software)
Pengantar Teknologi Informasi - Perangkat Lunak (Software)
 
Pengenalan Sistem Operasi
Pengenalan Sistem OperasiPengenalan Sistem Operasi
Pengenalan Sistem Operasi
 
PERANGKAT LUNAK/SOFTWARAE
PERANGKAT LUNAK/SOFTWARAEPERANGKAT LUNAK/SOFTWARAE
PERANGKAT LUNAK/SOFTWARAE
 
dokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptdokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.ppt
 
Ferli Apriadi - Dasar Sistem Operasi
Ferli Apriadi - Dasar Sistem OperasiFerli Apriadi - Dasar Sistem Operasi
Ferli Apriadi - Dasar Sistem Operasi
 
Presentasi Sistem Operasi.pptx
Presentasi Sistem Operasi.pptxPresentasi Sistem Operasi.pptx
Presentasi Sistem Operasi.pptx
 
Slide 2-sistem-komputer
Slide 2-sistem-komputerSlide 2-sistem-komputer
Slide 2-sistem-komputer
 
Struktur sistem operasi
Struktur sistem operasiStruktur sistem operasi
Struktur sistem operasi
 
Hubungan hardware dengan kernel, shell, user
Hubungan hardware dengan kernel, shell, userHubungan hardware dengan kernel, shell, user
Hubungan hardware dengan kernel, shell, user
 
Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2
 
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan KernelSistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
 
Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anita dadi (sistem operasi)
Anita dadi (sistem operasi)
 
Konsep proses dan penjadwalan
Konsep proses dan penjadwalanKonsep proses dan penjadwalan
Konsep proses dan penjadwalan
 
Helen Alida Abilio - Konsep Sistem operasi
Helen Alida Abilio - Konsep Sistem operasiHelen Alida Abilio - Konsep Sistem operasi
Helen Alida Abilio - Konsep Sistem operasi
 

Implementasi RTOS (Femto OS) pada Mikrokontroller Seri ATMega32

  • 1. EL 6011 – Sistem Embedded dan Waktu Nyata Implementasi RTOS (Femto OS) pada Mikrokontroller Seri ATMega32 Oleh: Aris Cahyadi Risdianto (23210016) Vani Virdyawan (23110035)
  • 2. Pendahuluan Definisi RTOS “Real-Time Operating System (RTOS) adalah sistem operasi yang multitasking yang ditujukan untuk aplikasi yang real-time”. Wikipedia, 2011. “Program yang menjadwalkan semua eksekusi/pekerjaan yang sangat teratur, mengatur semua resource dari sistem, dan menyediakan dasar yang konsisten untuk mengembangkan kode aplikasi diatasnya”. Real Time Concept for Embedded Systems, 2003. Dari aplikasi simple (jam digital) sampai aplikasi yang kompleks (perangkat navigasi penerbangan) => Scalable
  • 3. Komponen RTOS  Scheduler Indikasi kapan eksekusi suatu pekerjaan akan dilakukan Round-robin atau preempetive scheduling  Objects Dibangun oleh kernel untuk memudahkan pengembangan Terdiri dari tasks, semaphores, dan message queues  Services Operasi yang diberikan kepada semua objek Diantaranya timing, interrupt handling, dan resource management
  • 4. Karakteristik RTOS  Reliability, kemampuan bekerja tanpa intervensi manusia.  Predictability, perilaku bisa diprediksi untuk rentang waktu yang telah ditentukan  Performance, mampu menyelesaikan pekerjaan secepat mungkin  Compactness, ukuran dan penggunaan resource terbatas, pengaruh dari desain dan biaya  Scalability, modular untuk mendukung berbagai macam tingkat kekompleksan aplikasi
  • 5. Pengenalan Femto OS  Dimulai sejak 2007, terinspirasi oleh FreeRTOS  Didesain untuk mikro kontroler dengan Memory (Flash atau RAM) minimal seperti Attiny  Menggunakan bahasa C, dengan port file yang terpisah  Kebutuhan Flash Memory 1K – 4K Bytes  Kebutuhan RAM (OS 10 – 20 bytes, Tasks 6 bytes)  Aplikasi terkecil “bare” 258 bytes Flash dan 10 bytes RAM  Keterbatasan jumlah tasks > 16 atau sinkronisasi primitif
  • 6. Desain Femto OS  Round Robin Scheduling (every task for each priority)  Preemptive and cooperative (task by task basis)  Shared Stacks for tasks ( saving ram)  Register Compression (only save taskswitch register)  Separate OS/ISR Stack Space  Power save on Idle  Honest Time Slicing (every task same execution time)  OS interruptible (almost large OS parts)  Resource Tracking (kernel released if task terminated)
  • 7. Fitur Femto OS  Nested Critical Sections (tick and general interrupt)  Rendez Vous, Mutexes, Queues (tasks communication)  Priority Lifting  Timed Power down (task delay long, OS sleep)  Precision Delays between wakeup tasks  Watchdog per Task to revive crashed tasks  High Resolution Load Monitor to check how many sub ticks  Integrated file system for onboard eeprom  High speed events to revive tasks for special actions  etc
  • 10. Komponen RTOS pada Femtoo  Context Switch  Dispatcher  Scheduling algorithm  Semaphores  Message queue  Pipe  Event register
  • 11. Context Switch  Memungkinkan terjadinya proses pergantian task  Untuk melakukan context switch pada Femtoo OS terdapat  TCB  TDB  ttaskSave  portSaveContext  portRestorecontext
  • 12. Dispatcher  Bagian dari scheduler yang digunakan untuk mengatur alliran eksekusi.  Pada Femtoo OS komponen-komponen dari dispatcher adalah  PortEnterIsr  PortBeginIsr  PortReturnIsr  PortYieldIsr
  • 13. Scheduling Algorithm  Pada Femtoo OS task dengan prioritas yang sama akan diselesaikan dengan round robi, sedangkan untuk task dengan prioritas yang berbeda akan dikerjakan sesuai dengan prioritasnya.  Fungsi yang digunakan pada Femtoo OS adalah  privSelecttask  privEnterTask
  • 14. Semaphores  Semaphore merupakan bagian dari kernel objek yang digunakan untuk sinkronisasi dari resource.  Pada Femtoo OS digunakan semaphore jenis Mutex  Fungsi yang terdapat pada Femtoo OS adalah  taskMutexRequestonname  taskMutexReleaseonname  TaskSyncrelease  TaskDisableSwitchtask  TaskEnableswitchtask  taskEnterSwitchcritical  taskExitSwitchcritical
  • 15. Message Queue  Merupakan bagian yang mengatur pengiriman dan penerimaan pesan  Pada Femtoo OS bagian-bagian yang berfungsi sebagai message queue adalah  taskQueueReadRequestonName  taskQueuewriteRequestonName  taskqueueReleasOnName  taskQueueRequestonName
  • 16. Pipe  Pipe secara sederhana berfungsi seperti message queue, namun memiliki perbedaan yang mendasar, yaitu tidak dapat melakukan tugas dengan prioritas  Pada Femtoo OS fungsi pipe yaitu  taskFileWritePipe  taskFileReadPipe.
  • 17. Event Register  Pada kernel terdapat suatu spesial register yang merupakan bagian dari TCB dan digunakan untuk mengetahui adanya suatu events.  Pada Femtoo OS fungsi ini disebutkan dengan  taskWaitforallEvents  taskWaitforEventSetOnName
  • 18. Implementasi Femtoo pada Eclipse  Dilakukan untuk mengetahui apakah Femtoo OS dapat berjalan dengan baik atau tidak.  Dilakukan dengan mengunggah program pada microcontroller Atmega32 dengan source program dari demo_source.  Untuk dapat melakukan pemrograman pada Eclipse harus dilakukan  Installasi AVR toolchain  Konfigurasi AVR toolchain pada Eclipse  Pemrograman pada microcontroller
  • 19. Installasi AVR Toolchain  Unduh AVR Toolchain Installer dengan mengakses web berikut ini www.atmel.com/dyn/products/tools_card.asp? tool_id=2725&category_id=163&family_id=607&subfa mily_id=760  Lakukan installasi dengan default options
  • 20. Konfigurasi AVR Toolchain  untuk melakukan konfigurasi dapat dilakukan secara online maupun dengan mengunduh dahulu program avreclipse-p2-repository-2.3.4.20100807PRD.  Karena terdapat masalah pada jaringan maka dilakukan konfigurasi dengan terlebih dahulu mengunduh program avreclipse-p2-repository- 2.3.4.20100807PRD.
  • 21. Pemrograman pada Microcontroller  Buat project baru dengan memilih project C.  Copy folder femtoos_devices, femtoos_source, femtoos_headers yang terdapat pada FemtoOs ke project tersebut.  Include folder-folder tersebut pada AVR Assembler, AVR Compiler, AVR C linker, dengan membuka properties pada project tersebut dan pilih settings pada C/C++ Build. (Untuk AVR C linker, hanya masukkan pada libraries path (-L)).  Exclude Femtoo_devices.  Setelah itu build project dan upload project tersebut ke mikrokontroller.  Pastikan hardware yang digunakan sesuai.