本と同様こちらもかなり読み応えあります。
http://kozos.jp/kozos/kozos25.html

#「。」で文章が終わっているのが私の記述で、「.」で終わっているのが坂井さんの引用記述です。

OSはOSでも汎用OSと組み込みOSと分類されているが、その分類のよりどころとは一体なんなのか?
その理解がスケジューリングの意味と密接に結びついてきます。

■汎用OS

汎用OSに求められる動作や前提は以下で、「アプリを信用しない」という性悪説を採用しています。

①アプリが重い処理に入ってCPUを食い続けたとしても,適当なタイミングで OSが他のアプリに処理を渡す. (でないとその1アプリのせいで,他のアプリ全体が固まることになる)
②アプリがバグでNULLポインタアクセスとかゼロ除算とかしても, そのアプリだけが落ちて,他のアプリは動作を継続する.
③アプリは別のアプリが使っているメモリ領域を読み書きできない.

この場合,アプリは優先度なしに,全部が同じ優先度で公平に(時分割で)動いてほしい.そしてメモリの保護は,仮想メモリという考えになり, 各タスクはプロセス単位でそれぞれの独立した仮想メモリ上で動作する, という思想につながるとのことです。
ユーザがアプリを好きにインストールして使う
→誰が何をインストールするかわからないので,どんなおかしな アプリやモラルのないアプリをインストールされても,OSがうまく 資源配分して,全てがそこそこ動いてほしい.


■組み込みOS

組み込みOSに求められている動作や前提は以下で、「アプリを信用する」という性善説を採用しています。

①ユーザがアプリをインストールすることはなく何をインストールするかは開発元できちんと管理できるので, システム全体を通してのチューニングが可能.
②全アプリをインストール済みの状態で出荷され,追加インストール されることはない. おかしな動作をするアプリがあった場合には, そのアプリのバグを開発元で修正してから出荷するべきなので, バグがあってもOSがそこそこうまく動かしてくれるような必要は無い.