Sistem Operasi Real Time

Sistem Operasi Real Time

Sistem Operasi Real Time – Bagian di bawah ini menguraikan konsep dasar dan terminologi yang terkait dengan sistem operasi real-time.

Apa itu OS Real-Time?

Secara umum, sistem operasi (OS) bertanggung jawab untuk mengelola sumber daya perangkat keras dari sebuah komputer dan hosting aplikasi yang berjalan di komputer. RTOS melakukan tugas-tugas ini, tetapi juga dirancang khusus untuk menjalankan aplikasi dengan pengaturan waktu yang sangat tepat dan tingkat keandalan yang tinggi. Ini bisa menjadi sangat penting dalam sistem pengukuran dan otomatisasi di mana waktu henti sangat mahal atau penundaan program dapat menyebabkan bahaya keselamatan. bet88

Sistem Operasi Real Time

Untuk dianggap “real-time”, sistem operasi harus memiliki waktu maksimum yang diketahui untuk setiap operasi kritis yang dilakukannya (atau setidaknya dapat menjamin maksimum itu sebagian besar waktu). Beberapa operasi ini termasuk panggilan OS dan penanganan interupsi. Sistem operasi yang benar-benar dapat menjamin waktu maksimum untuk operasi ini biasanya disebut sebagai “waktu nyata keras”, sedangkan sistem operasi yang hanya dapat menjamin waktu maksimum sebagian besar disebut sebagai “waktu nyata lunak”. Dalam praktiknya, kategori ketat ini memiliki kegunaan terbatas setiap solusi RTOS menunjukkan karakteristik kinerja yang unik dan pengguna harus hati-hati menyelidiki karakteristik ini. www.mustangcontracting.com

Untuk memahami konsep-konsep ini sepenuhnya, ada baiknya mempertimbangkan contoh. Bayangkan Anda sedang merancang sistem airbag untuk mobil model baru. Dalam hal ini, kesalahan kecil dalam pengaturan waktu (menyebabkan airbag terlalu dini atau terlalu terlambat) bisa menjadi bencana besar dan menyebabkan cedera. Oleh karena itu, diperlukan sistem waktu-nyata yang sulit; Anda perlu jaminan sebagai perancang sistem bahwa tidak ada operasi tunggal yang akan melampaui batasan waktu tertentu. Di sisi lain, jika Anda mendesain ponsel yang menerima streaming video, mungkin tidak apa-apa kehilangan sejumlah kecil data sesekali meskipun rata-rata penting untuk mengikuti aliran video. Untuk aplikasi ini, sistem operasi waktu nyata yang lembut mungkin sudah cukup.

Poin utamanya adalah, jika diprogram dengan benar, RTOS dapat menjamin bahwa suatu program akan berjalan dengan waktu yang sangat konsisten. Sistem operasi waktu-nyata melakukan ini dengan memberikan kepada para programmer suatu tingkat kontrol yang tinggi atas bagaimana tugas-tugas diprioritaskan, dan biasanya juga memungkinkan pengecekan untuk memastikan bahwa tenggat waktu yang penting dipenuhi.

Berbeda dengan sistem operasi waktu nyata, sistem operasi yang paling populer untuk penggunaan komputer pribadi (seperti Windows) disebut sistem operasi tujuan umum. Sementara informasi teknis yang lebih mendalam tentang perbedaan sistem operasi waktu nyata dari sistem operasi serba guna diberikan pada bagian di bawah ini, penting untuk diingat bahwa ada kelebihan dan kekurangan kedua jenis OS. Sistem operasi seperti Windows dirancang untuk menjaga respons pengguna dengan banyak program dan layanan berjalan (memastikan “keadilan”), sementara sistem operasi real-time dirancang untuk menjalankan aplikasi penting secara andal dan dengan waktu yang tepat (memperhatikan prioritas programmer).

Terminologi dan Konsep Penting

Determinisme: Aplikasi (atau bagian penting dari suatu aplikasi) yang berjalan pada sistem operasi real-time yang keras disebut sebagai deterministik jika waktunya dapat dijamin dalam margin kesalahan tertentu.

Soft vs Hard Real-Time: OS yang benar-benar dapat menjamin waktu maksimum untuk operasi yang dilakukannya disebut sebagai real-time yang sulit. Sebaliknya, OS yang biasanya dapat melakukan operasi dalam waktu tertentu disebut soft-time.

Jitter: Jumlah kesalahan dalam waktu tugas atas iterasi selanjutnya dari suatu program atau loop disebut sebagai jitter. Sistem operasi real-time dioptimalkan untuk memberikan jumlah jitter yang rendah ketika diprogram dengan benar; tugas akan sangat dekat dengan jumlah waktu yang sama untuk dieksekusi setiap kali dijalankan.

Contoh Aplikasi Real-Time

Sistem operasi real-time dirancang untuk dua kelas umum aplikasi: respons peristiwa dan kontrol loop tertutup. Aplikasi respons peristiwa, seperti inspeksi visual otomatis untuk komponen jalur perakitan, memerlukan respons terhadap stimulus dalam jumlah waktu tertentu. Dalam sistem inspeksi visual ini, misalnya, setiap bagian harus difoto dan dianalisis sebelum jalur perakitan bergerak.

Dengan secara hati-hati memprogram aplikasi yang berjalan pada sistem operasi real-time yang keras, desainer yang bekerja pada aplikasi respons peristiwa dapat menjamin bahwa respons akan terjadi secara deterministik (dalam jumlah waktu tertentu). Mempertimbangkan contoh inspeksi bagian, menggunakan gen eral-purpose OS dapat mengakibatkan bagian yang tidak diperiksa dalam waktu – karena itu menunda jalur perakitan, memaksa bagian yang akan dibuang, atau mengirimkan bagian yang berpotensi rusak.

Sebaliknya, sistem kontrol loop tertutup, seperti sistem kontrol jelajah otomotif, terus memproses data umpan balik untuk menyesuaikan satu atau lebih output. Karena setiap nilai output tergantung pada pemrosesan data input dalam jumlah waktu yang tetap, sangat penting bahwa tenggat waktu loop terpenuhi untuk memastikan bahwa output yang benar dihasilkan. Apa yang akan terjadi jika sistem cruise control gagal menentukan pengaturan throttle pada titik waktu tertentu? Sekali lagi, sistem operasi real-time yang keras dapat menjamin bahwa data input sistem kontrol diproses dalam jumlah waktu yang konsisten (dengan maksimum kasus terburuk tetap).

Juga harus dicatat bahwa banyak aplikasi yang harus dijalankan untuk waktu yang lama dapat mengambil manfaat dari keandalan yang disediakan RTOS. Karena sistem operasi real-time biasanya menjalankan perangkat lunak minimal daripada banyak aplikasi dan proses pada saat yang sama, mereka sangat cocok untuk sistem yang memerlukan operasi 24-7 atau di mana down-time tidak dapat diterima atau mahal.

Bagaimana OS Real-Time Berbeda dari OS

Sistem operasi seperti Microsoft Windows dan Mac OS dapat menyediakan platform yang sangat baik untuk mengembangkan dan menjalankan aplikasi pengukuran dan kontrol yang tidak penting. Namun, sistem operasi ini dirancang untuk kasus penggunaan yang berbeda dari sistem operasi waktu nyata, dan bukan platform yang ideal untuk menjalankan aplikasi yang membutuhkan waktu yang tepat atau waktu yang diperpanjang. Bagian ini akan mengidentifikasi beberapa perbedaan utama yang tersembunyi di antara kedua jenis sistem operasi, dan menjelaskan apa yang dapat Anda harapkan saat memprogram aplikasi real-time.

Menentukan Prioritas

Saat memprogram aplikasi, sebagian besar sistem operasi (dari jenis apa pun) memungkinkan pemrogram untuk menentukan prioritas untuk keseluruhan aplikasi dan bahkan untuk berbagai tugas dalam aplikasi (utas). Prioritas ini berfungsi sebagai sinyal ke OS, yang menentukan operasi mana yang dirasa paling penting oleh desainer. Tujuannya adalah bahwa jika dua atau lebih tugas siap dijalankan pada saat yang sama, OS akan menjalankan tugas dengan prioritas yang lebih tinggi.

Dalam praktiknya, sistem operasi untuk tujuan umum tidak selalu mengikuti prioritas yang diprogram ini dengan ketat. Karena sistem operasi untuk keperluan umum dioptimalkan untuk menjalankan berbagai aplikasi dan proses secara bersamaan, mereka biasanya bekerja untuk memastikan bahwa semua tugas menerima setidaknya beberapa waktu pemrosesan. Akibatnya, tugas-tugas berprioritas rendah dalam beberapa kasus dapat meningkatkan prioritas mereka di atas tugas-tugas prioritas lebih tinggi lainnya. Ini memastikan sejumlah run-time untuk setiap tugas, tetapi berarti bahwa keinginan perancang tidak selalu diikuti.

Sebaliknya, sistem operasi real-time mengikuti prioritas programmer jauh lebih ketat. Pada sebagian besar sistem operasi waktu nyata, jika tugas prioritas tinggi menggunakan 100% prosesor, tidak ada tugas prioritas rendah lainnya yang akan berjalan sampai tugas prioritas tinggi selesai. Oleh karena itu, perancang sistem waktu-nyata harus memprogram aplikasi mereka dengan hati-hati dengan prioritas dalam pikiran. Dalam aplikasi waktu nyata yang khas, seorang perancang akan menempatkan kode kritis waktu (mis. Respons acara atau kode kontrol) di satu bagian dengan prioritas yang sangat tinggi. Kode lain yang kurang penting seperti masuk ke disk atau komunikasi jaringan dapat digabungkan dalam bagian dengan prioritas lebih rendah.

Latensi

Latensi interupsi diukur sebagai jumlah waktu antara saat suatu perangkat menghasilkan interupsi dan ketika perangkat itu diservis. Sementara sistem operasi untuk keperluan umum mungkin memerlukan sejumlah waktu variabel untuk menanggapi interupsi yang diberikan, sistem operasi waktu nyata harus menjamin bahwa semua interupsi akan dilayani dalam jumlah waktu maksimum tertentu. Dengan kata lain, latensi interupsi sistem operasi waktu-nyata harus dibatasi.

Sistem Operasi Real Time

Performa

Satu kesalahpahaman umum adalah bahwa sistem operasi waktu nyata memiliki kinerja yang lebih baik daripada sistem operasi tujuan umum lainnya. Sementara sistem operasi waktu nyata dapat memberikan kinerja yang lebih baik dalam beberapa kasus karena kurang multitasking antara aplikasi dan layanan, ini bukan aturan. Kinerja aplikasi aktual akan tergantung pada kecepatan CPU, arsitektur memori, karakteristik program, dan banyak lagi.

Meskipun sistem operasi real-time mungkin atau tidak dapat meningkatkan kecepatan eksekusi, mereka dapat memberikan karakteristik waktu yang jauh lebih tepat dan dapat diprediksi daripada sistem operasi tujuan umum.