April 2026
356 pages
4h 48m
Japanese
「2章 システムアーキテクチャの設計」では、システムを管理しやすいように分割する方法を検討しました。そして設計の本質とその理由について説明しましたが、本章ではその具体的な実現について説明します。
OSなしの組み込みシステムを構築するには、まずは既存のOSについて理解する必要があります。なおOSについては「6.5 参考」も参照してください。
コンピュータの電源を入れて、電子メールクライアントとWebブラウザ、コンパイラなどを起動したとして、プロセッサが1つであっても、これらは並行して動作しているように見えます。
![]() |
|
タスクとスレッド、プロセスは類似しています。RTOSによっては入れ替わる場合もありますが、教わった定義は、タスクはプロセッサの実行単位です。スレッドはタスクにメモリなどの必要なコストを加えたものです。プロセスは個別にコンパイルされた独自のメモリ空間を持つ実行単位です。スレッドとプロセスはOSが管理する概念で、OS上の単位となります†1。 |
[†1] 訳注:Linuxにおいてもタスクとプロセスについては上記と同じですが、スレッドが異なります。Linuxにおけるスレッドとは主にpthread_create()からclone(CLONE_THREAD)を呼び出して作成された、いわゆるPOSIXスレッドです。呼び出し元の親プロセスとメモリを共有しており、親プロセスに属しているものの独立して動作できます。Linuxカーネルのスケジューラは、プロセスとスレッドを意識せず同等に扱います。 ...
Read now
Unlock full access