組み込みオペレーティングシステムとデスクトップオペレーティングシステムの違いは何ですか?
組み込みオペレーティングシステムのデスクトップオペレーティングシステムで作成されたアプリケーションをロードすることは可能ですか?
Visual StudioとWindowXp Proを使用して画像処理を行うためにvc ++とC#でアプリケーションを作成しているとします。組み込みオペレーティングシステムにアプリケーションをロードすることは可能ですか?
デスクトップオペレーティングシステムはソフトウェアエグゼクティブであり、通常、任意のソフトウェアを実行するように設計されたユーザーツールであり、通常は本質的に対話型です(常にではありません)。それtends(重要なWord、その)大量のリソースの使用、強力な保護メカニズム(セキュリティの観点、および他のアプリケーションやシステムを破壊しない不適切に作成されたアプリケーションの観点)を含むユーザーインターフェイスの標準化の形式。
組み込みオペレーティングシステムがスペクトルを実行します。大規模で重量のある組み込みシステムの場合、コアは実際のデスクトップシステム(組み込みLinuxシステムなど)にすることができます。ただし、ほとんどの組み込みオペレーティングシステムは小さく、使用するリソースがはるかに少なく、おそらく保護メカニズムが少ない(またはまったくない)場合が多く、多くの場合(ほとんどの場合)ユーザーインターフェイスに特別な要件はありません。
これらの後者の「オペレーティングシステム」は、代わりに「エグゼクティブ」と呼ばれることが多くあります(「リアルタイムマルチタスクエグゼクティブ」またはRMXのように)組み込みシステムで実行する通常固定されたアプリケーションのセット。タスク切り替え、割り込み処理、および優先度スキームを提供しますが、残りは問題ドメインの実際のタスクを実行するアプリケーションの固定セットによって提供されます。
後の編集に答える場合、組み込みオペレーティングシステムでデスクトップオペレーティングシステム用に作成されたソフトウェアを実行できるかどうかは、いくつかの要因に依存します。ターゲットの組み込みシステムが開発したOSと同じで、アプリケーションが使用するすべての機能がアクティブになっている場合(C#の例を使用してCLRなど)、それはmightアプリケーションをネイティブに実行できる。しかし、そうではないでしょう。
組み込みオペレーティングシステムとデスクトップオペレーティングシステムの違いは何ですか?
LinuxやWindows 7 Embeddedなどの汎用オペレーティングシステムを組み込むことは可能ですが、通常、組み込みシステムはリアルタイムオペレーティングシステム(RTOS)を実行します。これらは何よりもまず、ハードリアルタイムの応答とスケジューリングをサポートします。通常、それらは非常に小さいか、少なくとも非常にスケーラブルです。
ほとんどの場合(常にではありませんが)、組み込みOSは実際には、モノリシックアプリケーションイメージを作成するためにアプリケーションコードと静的にリンクされたライブラリです。これは、ファイルシステムからロードされた任意のアプリケーションコードを動的にロードして実行できるデスクトップOSとは異なります。明らかに、Embedded LinuxまたはWindows Embeddedはこのカテゴリに該当しません。
典型的なRTOSカーネルは、スケジューリング、同期、およびプロセス間通信サービスのみを提供します。他のすべては、アプリケーションまたはオプションまたはサードパーティのアドオンライブラリとドライバーによって提供される必要があります。
組み込みオペレーティングシステムのデスクトップオペレーティングシステムで作成されたアプリケーションをロードすることは可能ですか?
通常、組み込みシステムのアプリケーションは、クロスコンパイルと呼ばれるプロセスによってデスクトップシステムで作成されます。このようなアプリケーションは、開発ホストでは実行されません。同様に、デスクトップシステムでの実行を目的としたアプリケーションは、同じOSおよびマイクロプロセッサアーキテクチャを実行していない限り、組み込みシステムでは実行されません。つまり、ターゲットシステムに適切なリソースがある場合、Windows 7デスクトップアプリケーションはWindows 7 Embeddedで実行できます(たとえば、ディスプレイまたはポインティングデバイスのないシステムではGUIアプリケーションはあまり使用されません)。
ほとんどの場合、開発ホストと組み込みターゲットは、OSまたはハードウェアアーキテクチャのいずれか、または通常は両方で互換性がありません。
Visual StudioとWindowXp Proを使用して画像処理を行うためにvc ++とC#でアプリケーションを作成しているとします。組み込みオペレーティングシステムにアプリケーションをロードすることは可能ですか?
ターゲットがWindowsXP EmbeddedまたはWindows 7 Embeddedを実行している場合は、はい、そうでなければいいえ。
また、VC++またはC#を使用してWindowsCEをターゲットに開発し、C#for .NET Microを使用して、限定された範囲の非x86ターゲットを開発することもできますが、これらの場合、ターゲット実行可能ファイルはデバイスシミュレーション以外の開発ホストでは実行されません。
これら両方のオペレーティングシステムの利点と欠点は何ですか?
組み込みOS:
デスクトップOS
組み込みOSは他の目的のために設計されており、特定の(コンピューターではない)デバイスまたはプロセスを制御することがよくあります。一部の組み込みシステムには、リアルタイム処理のフレーバーのサポートなど、特別な要件があります。通常、デスクトップコンピューターの組み込みシステム用のアプリケーションを作成しますが、組み込みOS /ハードウェア(クロスコンパイラーなど)を対象とするツールを使用する必要があります。
Embeddedは、タスクを実行するために必要なソフトウェアのみを備えているという点で、よりシンプルになる傾向があります。通常、タスクは明確に定義されていますが、電話やダウンロード可能なアプリではルールが変更されています。 Embeddedはより信頼性が高く、クラッシュしたコンピューターの再起動や交換には耐える必要がありますが、乗用車用のコンピューターやフライトコントロールシステムの再起動や交換には耐えられません。
デスクトップは非常に汎用的で、現在のアプリと、まだ作成されていないドライバーやアプリを実行する必要があります。幅広い機能などのため、それらはかさばり、信頼性が低くなります。
組み込みは、より制限された静的なリソースを持っている傾向があります。デスクトップははるかに多くのリソースを持ち、動的であるため、ハードドライブやメモリ、ビデオを自由に追加または変更できます。ベンダーは通常、すべてを制御し、信頼性とパフォーマンスの一部は、ソフトウェアサポートを1つのビデオドライバーまたは製品ライン全体の小さなデバイスセットに制限することから生じます(対デスクトップは、1980年代から現在までのすべてをサポートする必要があります) )。
デスクトップLinuxと組み込みLinux、またはデスクトップウィンドウと組み込みウィンドウの両方の環境で動作するアプリケーションを作成することは非常に可能です。通常、その移植性を計画し、両方のプラットフォームに共通の機能に制限する必要があります。古いデスクトップアプリを使用し、それが常に機能するとは思わない類似の組み込みプラットフォームで実行しようとすると、多少の調整が必要になり、場合によっては書き換えが行われます。
デスクトップオペレーティングシステムは、デスクトップコンピューターで実行するように設計されたOSです。デスクトップ用のドライバー、最適化、およびインターフェイス(APIおよびユーザーインターフェイス)があります。
組み込みオペレーティングシステムも同じですが、組み込みデバイスを対象としています。
アプリケーション、OS、ハードウェア、使用する開発ツール、および場合によってはその他の要因によっては、デスクトップOSで作成されたアプリケーションを組み込みOSにロードできる場合があります。しかし、アプリが違いに対処するように設計されていない限り、おそらくそうではありません。
デスクトップオペレーティングシステムの利点は、デスクトップハードウェアで適切に動作することです。組み込みOSの利点は、組み込みハードウェアで適切に動作することです。両方の欠点は、他のハードウェアに拡張できない可能性があることです。