リアルタイム処理用のソフトウェア
ソフトウェアには適切に行えば時間がかかっても良い場合と、処理の時間をms単位で決めていくリアルタイム処理があります。多くのソフトウェアではレスポンスが多少悪くても思ったとおりの動きができていれば問題にしない場合が多いです。しかし、ms単位での動きに注目されるソフトウェアの場合は適切な動きをする以外に適切な時間で処理が終わることが重要視されています。組み込み系のプログラミングでは処理時間も計算されながら作られていきます。
msや場合によってはusでの動作保証は経験がないと難しい面が多いですが、デバイス周りでは重要視されます。速度が短い、ほぼリアルタイム処理が必要な場合には開発ツールも特徴があるものが使われることが多いです。リアルタイム処理が必要な場合の開発ツールはライブラリから一般的なツールとは異なっています。プログラムの稼働自体は同じですが、ライブラリが効率化されていたり、並列処理に特化したライブラリとなっていたりと普通のソフトウェア開発に比べて設定する項目や準拠しなければならない取り決めが多くなっています。
そのため、コーディングの自由度を犠牲にしている場合も多く、経験が重要になる分野です。組み込み系は車は産業機械などむけも増えてきています。以前はCを利用している場合が多かったのですが、汎用にプログラムしづらいことからJavaや基盤によってはJavascript、Pythonなどインタプリタ系の言語が使えることもあります