以下のコースをまとめてみました。授業内容と、自分の考えを忘備録でまとめてます。講義内で出てきたステートメントと、それに対する感想をまとめて行きます。
- 組み込みシステムはスマホから宇宙ステーションまで、色々あるよ。
- まあ、システムの基本だよ。
- しかしながら、ハードウェアを正しく選択することが重要だよ
組み込みってそうなんですね。
- 一般的なアプローチは、ハードウェアリソースを制御する基本的なタスクを扱うオペレーティングシステムを使い、ユーザーアプリケーションを提供することだ。
ここではLinuxのことを言ってますね。この講義ではIoTについて触れることが多くて、使われるOSは主にLinuxです。Linuxの上に、全てのアプリケーションが乗っかっている感じですね。
Linuxとは、リーナストーパルズが中心になって開発している、オープンソースのOSソフトウェアのことです。上に書いてある通り、AndroidのスマホもLinuxですし、Webサーバ、スーパーコンピュータなども多くはLinuxです。
個人的には、Linuxカーネルを勉強したくてこの講義を取っています。
- このコースでは、サイバー物理システムの二つの要素、ハードウェアとオペレーティングシステムを取り上げます。
まさに、僕の求めているものですね。僕はオペレーティングシステムを勉強したいのです。
次の章に行きます。
- 今日、コンピュータはあらゆるところにある。エンジンを走らせ、声をエンコードし、モバイルコミュニケーションのためのラジオシグナルを構築している。マイクロ波さえコントロールするのだ。
まあ、これらは主に組み込みシステムなんですが、いろんなところに使われてますね。
- デスクトップコンピュータと組み込みシステムの違いは、組み込みシステムは特定のタスクを解決するために使われ、ユーザーから見える限られたI/Oからなる
ユーザーから見える限られたI/Oってどう言う表現なんだかなかなかよくわからないですが、意味していることはわかります。
-
組み込みシステムの例として、航空機を取り上げることができる。航空機は組み込みシステムで満ちている。座席は、ビデオ、オーディオ、ゲーミング機能を持ったエンターテインメントシステムがあり、温度と客室の気圧を制御しているエアコンディショニングシステムがある。他方、飛行制御システムは組み込みシステムが非常に多く実装されている。たくさんのセンサーが、飛行状況をパイロットに知らせている。場所、天気、高度、スピード、角度、これらの値が常時モニターされているのである。
なんか、飛行機とか、組み込みシステムの塊っぽい感じしますね。なんか一つでも狂ったら、大変な惨事が起きそうな気がします。技術者の責任は重大ですね。そのあと、オートパイロットの話になって、やっぱり組み込みシステムが重要だみたいな話になります。 -
飛行機に使われる組み込みシステムの主な性質と、制約条件は、それが信頼性が高い必要があると言うことである。センサーは、正しい値を常に報告する必要がある。
あと、色々信頼性が高い必要がある理由が連ねてあって、
- それらの条件が一つでも満たされないと、簡単に惨事が起こるのである。
と、あります。で、信頼性がどう意味されるか、どう計測されるかは、後の講義で議論するらしいです。非常に楽しみですね。
- 他方、組み込みシステムはセキュアである必要がある
個人的にセキュリティとかの記事を読むことが多いんですが、組み込みシステムはセキュアである必要があるんですよね。で、組み込みシステムのアプリケーションは危険なC言語を使って記述される場合が多いので、ますます重要になってきます。
飛行機がハッキングされて墜落する可能性があるとか言う記事もあるし、恐らくだけど、イージス艦や軍用機なども、組み込みシステムの塊なので、ああ言う戦争が起きた時に使われる前提のものも、実際戦争が起きたら結構攻撃されると思うんですよね。だから恐らく重要だと思います。
*コンピューティングがどこにでもある良い例の一つは、Internet of Thing(IoT)である。ノードとは、センサーとActivator(これ何?)につながった組み込みシステムのことだ。ノードは、色々な種類の情報を集める。ノードは離れたところに設置され、長く動くことを期待される。なので、エネルギー効率はIoTの関心事の一つだ。もう一つの関心事は、意味のあるデータを集めることだ。
Activatorって「活性剤」とか言う意味らしいですが、なんのことかわかりません。個人的には、離れたところに設置されるとしたら、信頼性とかも重要になってくると思いますが。
で、ある程度めちゃくちゃなデータから、意味のあるデータを集めるためには、機械学習や、ビッグデータも重要になってくると言ってます。
- だから、IoTは、人々にたくさんのデータを提供し、プロセスを最適化するのに使われる。
ビッグデータって、業務システムを改善するのに使われたりしますよね。新しい知見を得て、それを応用する。結構直感って間違えるから、統計的な情報を応用するんですね。
- 一般的な組み込みシステムとIoTの違いは、IoTはハードウェアが分散していることと、ノード間で通信することである。
なるほど、個人的には興味深いステートメントだと思います。周りでの使われ方を見ると、IoTと組み込みを混同していることが多いと思うんですが、こう言う区別の仕方があるんですね。ちなみに僕もちょっと混同してます。と言うか、IoT自体がバズワードっぽいところがあるので、こう言う混同は仕方ないですね。
- 組み込みシステムは、顕著に反応的(Reactive)である。これが意味するところは、そのようなシステムは常時環境と相互作用しており、環境が言うことを実行するのである。反応的システムとは、インプットを待ち、コンピューティングを実行し、アウトプットを吐き出し、新しい状態に遷移する。そのようなシステムはオートマトンとしてモデル化できる。
このステートメントは個人的にはよくわからないですね。環境と相互作用すると言う意味では、デスクトップPCも同じだし、単純にコンピュータの性質を記述しているように思います。
この後、一般的なinput→処理→outputなどの、一般的なコンピュータの性質を記述しています。
FPGAについてこの講義では触れるようです。この講義では、組み込みシステムと、FPGAがどのように構築されているかを議論します。センサーとアクチュエータについても触れ、どうインターフェースするかを議論するようです。
最後に、組み込みシステムを学びたいなら、このコースがいい出発点だと言ってました。
これで、Introduction to Embedded Systemを終わるようです。
ちゃんちゃん