2011-05-04 149 views
38
  1. 嵌入式操作系统和桌面操作系统有什么区别?嵌入式操作系统和桌面操作系统的区别

  2. 是否可以加载在嵌入式操作系统中的桌面操作系统中创建的应用程序?

  3. 说我创建一个应用程序在vC++和C#中使用Visual Studio和WindowXp Pro进行图像处理是否可以在嵌入式操作系统中加载应用程序?

+3

这应该重新打开。我已经删除了基于意见的部分。 – 2014-12-22 05:21:11

+0

看起来他们没有听... – Chucky 2015-09-04 12:33:16

+0

@KyleStrand它太过宽泛的话题。如果问题因不合适的原因而关闭,那么将不会重新打开,并使用正确的关闭选项重新关闭。 – 2016-02-02 15:06:50

回答

150

桌面操作系统是一种软件执行程序,通常还包含用于运行任意软件的用户工具,通常是交互式的(尽管不总是)。它涉及到大量的资源使用,强大的保护机制(无论是在安全性方面还是在严重书写的应用程序方面都不会摧毁其他应用程序和/或系统)和某种形式的标准化用户界面。

嵌入式操作系统运行频谱。对于大型重量级嵌入式系统,核心可以是实际的桌面系统(例如嵌入式Linux系统)。然而,大多数嵌入式操作系统规模较小,使用的资源要少得多,可能只有更少(甚至没有)保护机制,并且在许多(大多数)情况下对用户界面没有特殊要求。这些后来的“操作系统”品种常常被称为“执行”(如“实时多任务执行”或RMX),因为它们通常只在桌面系统中被称为内核,并且只具有该功能使得您需要在嵌入式系统中运行的通常固定的一组应用程序。它们提供任务切换,中断处理和优先级方案,而其他方面则由一组固定的应用程序提供,这些应用程序执行问题域的实际任务。

回答以后的编辑,是否可以运行为嵌入式桌面操作系统创建的软件取决于几个因素。如果目标嵌入式系统与您开发的操作系统相同,并且您的应用程序使用的所有功能都已激活(例如,CLR,使用你的C#示例),那么它可能可能本地运行你的应用程序。但这不太可能。

+0

请注意,WSE7和其他win 7或8变体不是实时操作系统。尽管如此,确实存在为其编写实时内核的各方。然而那些未来有限的版本,有更详细的期货设置。通常足以运行你的C#东西。对于实时的东西,通常远离操作系统,使用微控制器,PLC或FPGA的 – user613326 2015-06-19 11:14:04

+1

你说的远离操作系统和使用微控制器。这与“远离汽油和使用汽车”大致相同。 微控制器可以有操作系统。 – 2015-06-20 07:02:30

+0

至少我在Windows域中提供了一些区别,不能从你的文章中获得它。我只是警告人们操作系统有延迟,实时编码就像煤油一样,与汽油车相反;) – user613326 2015-06-23 12:11:15

2

桌面操作系统是设计用于在台式计算机上运行的操作系统。它具有用于桌面使用的驱动程序,优化和界面(API和用户界面)。

嵌入式操作系统是一样的东西,但是专用于嵌入式设备。

根据应用程序,操作系统,硬件,使用的开发工具以及可能的其他因素,可能可以在嵌入式操作系统上加载在桌面操作系统上创建的应用程序。但它可能不是除非应用程序旨在应付差异。

桌面操作系统的优点是它在桌面硬件上运行良好。嵌入式操作系统的优点是在嵌入式硬件上运行良好。两者的缺点是它们可能无法扩展到其他硬件。

4

嵌入式操作系统专为其他目的而设计,通常用于控制某些(非计算机)设备或过程。一些嵌入式系统有特殊要求,如支持某种实时处理。 您通常会在桌面计算机上为嵌入式系统创建应用程序,但您需要使用针对嵌入式操作系统/硬件(通常是交叉编译器等)的工具。

4

嵌入式更简单,因为它只有执行任务所需的软件。这项任务通常都有明确的定义,尽管手机和可下载的应用程序的规则正在发生变化。嵌入式需要更加可靠,人们可以容忍重新启动或更换坠毁的计算机,但不能容忍重新启动或更换他们的汽车电脑或飞行控制系统的客机。

桌面超级通用的,需要运行当前的应用程序以及驱动程序,并且还没有被编写的应用程序。由于更广泛的特征等,它们体积更大,可靠性更低。

嵌入式往往有更多的限制和静态资源,其中台式机有更多的资源,是动态的,你可以继续添加或更换硬盘和随意存储和视频,你的期望是它会继续工作。嵌入式供应商通常控制所有产品,部分可靠性和性能来自于将软件支持限制在一个产品线上的一个视频驱动器或一小部分设备(而桌面必须支持从1980年代到现在的所有产品)。

很有可能编写在两种环境下运行的应用程序无论是桌面Linux VS嵌入式Linux或桌面Windows VS嵌入式windows。通常情况下,您应该计划这种可移植性,并将自己的功能限制在两种平台通用的功能上。如果你使用任何旧的桌面应用程序,然后尝试在类似的嵌入式平台上运行它,我不希望它一直工作,我会期待一些调整,并在某些情况下重新编写。

18

是什么一个嵌入式操作系统和桌面操作系统之间的差异?

尽管可以嵌入通用操作系统(如Linux或Windows 7 Embedded),但嵌入式系统通常运行实时操作系统(RTOS)。这些首先支持硬实时响应和调度。它们通常非常小或者至少具有更大的可扩展性。

大多数情况(但不总是)一个嵌入式操作系统,其实,它是静态与应用程序代码来创建整体应用图像链接库。这不同于可以动态加载和执行从文件系统加载的任意应用程序代码的桌面操作系统。显然,嵌入式Linux或Windows Embedded不属于这一类。

典型的RTOS内核提供仅调度,同步,和进程间通信服务。其他一切必须由应用程序或可选或第三方附加库和驱动程序提供。


是否有可能加载桌面操作系统的嵌入式操作系统创建的应用程序?

嵌入式系统的典型应用程序是通过称为交叉编译的过程在桌面系统上创建的。这些应用程序不会在开发主机上运行。同样,在桌面系统上执行的应用程序不能在嵌入式系统上运行,除非它运行的是相同的操作系统和微处理器体系结构。也就是说,如果目标系统具有适当的资源(例如,GUI应用程序在没有显示器或定点设备的系统中使用不多),Windows 7桌面应用程序可以在Windows 7 Embedded上运行。

大多数情况下,开发主机和嵌入式目标不兼容,无论是由操作系统还是硬件架构,通常都是兼而有之。


说我创造了VC++使用Visual Studio和和WindowXP Pro是它可以加载在嵌入式操作系统中应用程序的应用程序和C#做的图像处理?

如果目标是运行WindowsXP Embedded或Windows 7 Embedded,是的,但否则没有。

您还可以开发使用VC++或C#将WindowsCE和C#for .NET Micro用于有限范围的非x86目标,但在这些情况下,目标可执行文件不会在开发主机上运行,器件模拟。


有什么优势,双方的缺点,这些操作系统?

嵌入式操作系统:

  • 可扩展性
  • 实时性能(在RTOS的情况下)
  • 广泛的架构支持
  • 功能,如文件系统,网络,GUI,USB,WiFi等通常通过附加选项或第三方库,可能并不适用于所有系统,或者需要开发人员实施或移植。
  • 许多不同的,很大程度上不兼容的系统。

桌面OS

  • 少可扩展
  • 没有实时能力,或有限的实时能力。
  • 广泛的应用支持
  • 开发商
  • 只有三个主要的球员,其中只有两个是嵌入庞大的身躯。
  • 多种开发语言和工具
  • 广泛的标准外围硬件,文件系统和通信支持。
  • 开发主机和目标环境可能相同。