組込みOSでは、高速性やリアルタイム性を求められる場合が多く、カーネルは極力コンパクトに、付加機能はアプリケーションとして実装するという思想があります。

汎用OSならばカーネル内部でサポートしているような機能でも、組込みOSではアプリケーションとして提供されている場合があります。

汎用OSのようなすべてカーネルの内部に包含した設計をモノシリック・カーネルと呼び、組込みOSのようにOSにリアルタイム性を持たせるるときそれを実現するのを妨げるサービスをカーネルから分離するような設計をマイクロ・カーネルと呼びます。

付加機能をシステムコールを介しカーネルで実装すると、例えば検索時間が推測できない問題を内包していることなどがリアルタイム性の妨げになるわけです。

アプリケーションにするとは具体的にはスレッドを作成するということになります。

メモリ管理などを行うようなスレッドを作成し、任意サイズの領域が必要な場合にはそちらのスレッドでタスク間通信で依頼して領域を割り当ててもらうなどの実装が考えられます。

そのようなどのアプリケーションでも使うような基本サービスを行う管理スレッドを一般にシステム・タスクなどと呼びます。

反対に、OSのユーザ側で作成するアプリケーションをユーザ・タスクと呼びます。

もっとつっこむと、基本機能をサービスとして提供する側なのか、もしくはサービスを利用する側なのかの使われ方の違いによって分類されます。