Berkenalan dengan “RTOS SDK ESP8266”
Sistem Operasi Real-Time untuk SoC ESP8266 dari Espressif
Berbeda dengan ESP32 yang hanya memiliki satu SDK resmi bernama ESP – IDF (Espressif IoT Development Framework) yang merupakan jenis SDK yang berjenis RTOS (Real Time Operating System). ESP8266 memiliki dua jenis SDK resmi, NonOS dan RTOS. SDK yang digunakan oleh Arduino IDE yang pernah dibahas embeddednesia pada tulisan yang lalu adalah jenis SDK NonOS.
Apa itu RTOS? RTOS terdiri dari dua frase utama yaitu “Real-Time” dan “Operating System“. Sistem Operasi sendiri secara umum berarti sekumpulan fungsi atau aplikasi yang menyediakan antarmuka antara perangkat keras dan program aplikasi yang mengelola sumber daya yang dimiliki oleh perangkat keras komputer dan menjadi tuan rumah dari semua aplikasi yang berjalan pada komputer tersebut. Sebuah Sistem Operasi biasanya menyediakan beberapa fungsi yang diantaranya adalah sebagai berikut
-
Memori management: memeriksa seberapa banyak memori yang digunakan untuk proses tertentu dan berapa jumlah yang tersisa. Pada banyak kasus, Sistem Operasi harus membuat keputusan kapan harus mengalokasikan memori untuk sebuah proses
-
Processor Management : merujuk pada proses untuk memutuskan kapan sebuah proses diberikan akses ke prosesor dan seberapa lama proses tersebut dapat menggunakan akses tersebut. Pada kondisi tertentu processor management merunut status dari prosesor dan proses yang menggunakannya. Ketika prosesor dalam kondisi available. Processor Management akaan mengalokasikannya ke proses yang memiliki prioritas tertinggi. Processor Management juga bertugas mendealokasikan prosesor ketika tidak lagi digunakan
-
Device Management : Semua device dikelola oleh sistem operasi melalui driver. Sistem akan terus merunut status semua perangkat sekaligus driver-nya. Sistem mengelola antrian, pengalokasian, dan buffer. Misalkan dalam kasus proses yang mengalami suspended, dimana proses tidak sedang menggunakan CPU. Device Management akan memerintahkan buffer yang menerima masukan data dari perangkat berhenti mengirimkan data tersebut ke proses yang sedang mengalami suspended. Ketika proses berubah menjadi aktif lagi, dimana CPU dialokasikan kembali untuk proses tersebut. Device Management akan memeritahkan buffer untuk mengirim kembali data ke proses yg aktif tersebut
-
File Management mengelola pengorganisasian dan peletakan file dan direktori yang disimpan pada disk komputer. Memungkinkan user untuk melakukan berbagai tugas seperti membuat file, direktori, renaming, copying, moving, deleting.
Frase real-time pada RTOS memberi tambahan makna, bahwa sistem tersebut tidak hanya menuntut dari tepatnya hasil logika komputasi tapi juga konsistensi tentang seberapa lama waktu dari hasil komputasi tersebut diproduksi. Jadi RTOS dirancang tidak hanya untuk mengerjakan sebuah instruksi namun secara khusus dituntut untuk menjalankannya dengan rentang waktu yang memiliki tingkat presisi yang tinggi. Hal ini penting terutama pada aplikasi yang memerlukan sistem pengukuran dan otomasi dimana jeda program beberapa mili detik saja dapat mengakibatkan bahaya fatal.
Jika diprogram dengan benar RTOS dapat memberikan jaminan bahwa program akan berjalan dengan timing yang konsinsten. RTOS memberikan akses kepada programmer kendali tingkat tinggi untuk menentukan mana saja tugas atau proses yang diprioritaskan, juga tenggat waktu eksekusi yang harus dicapainya
Tujuan utamanya adalah untuk mengantisipasi tugas multitasking / multithreading. Multithreading memungkinkan programmer menulis program dengan bersih dan linier tanpa perlu membuat banyak code tentang async callback yang sangat menyusahkan programmer, dikarenakan bahasa pemrograman C/C++ tidak cukup baik dalam mendukung pemrograman asinkronus
Pembaca dapat mengikuti artikel lain dari penulis yang berjudul Tujuh Alasan Mengapa RTOS diperlukan.. Pada tulisan berikutnya, embeddednesia akan menunjukkan bagaimana cara mulai mempersiapkan environment yang diperlukan guna memprogram ESP8266 Menggunakan RTOS SDK dari Espressif
[…] Berkenalan dengan “RTOS SDK ESP8266” […]