kap*_*dit 9 embedded embedded-linux
嵌入式系统的意思是什么?
如果我们制作的系统/机器或产品用于多种用途,那么我们可以将其视为嵌入式系统吗?或者只是一个专门用于特定任务的系统被视为嵌入式系统?PC /移动/笔记本电脑可以被视为嵌入式系统吗?
通常,嵌入式系统是为了特定的,狭窄的目的而投入运行的系统,缺少普通台式机/笔记本电脑上的通用用户界面.
这并不是说嵌入式系统不能拥有这些 - 我见过测试设备,如运行桌面操作系统的网络分析仪,鼠标/键盘端口.人们可能会破解其中一个将其用于通用计算,但它不具有成本效益.
另一方面,您可以使用通用计算机并将其推送到嵌入式应用程序中.但是,针对嵌入式使用进行优化的系统可能更加强大,支持更好的实际I/O(通常保留传统端口),并且使用预期比商用PC使用寿命更长的部件(如果一个失败,你想要能够用完全相同的东西替换它).
嵌入式系统通常较小 - 具有有限内存的8位处理器(历史上甚至是4位或串行核心); 虽然像arm系列这样的32位内核现在价格低廉且常见.数十到数百兆的内存也不为人知.
较旧的手机与嵌入式系统有很多共同点,但显然现代智能手机正在追赶功率和多功能性,但仍然经常受到用户界面的限制.软件明智的一些"思考小"习惯持久 - 例如,Android的紧凑仿生C库和工具箱外壳具有与嵌入式C库和busybox类似的设计目标.但在其他方面,扩展资源吞噬用户体验现在已成为手机的常态.将基于相同处理器并使用键盘配置的平板电脑组合在一起,运行最初为桌面计算机设计的内核,真正的区别在于设计用于在触摸界面上运行隔离"应用"的UI软件堆栈与设计的一个运行更传统的程序.
这是一个甚至嵌入式系统专家经常提出并讨论的问题.频谱有很多东西,简单的定义很难.
我的首选定义是:包含一个或多个计算或处理元素的系统,该系统不是通用计算机.
有些系统无可争议地嵌入到该定义中,包括洗衣机控制器,电话交换机,卫星导航设备,海图绘图仪,激光打印机等.
有些不太容易归类.第一代数字移动电话可能肯定是一个嵌入式系统,而更现代的功能和智能手机却有所不同.他们可以运行最终用户选择和安装的应用程序,允许他们执行未由制造商确定的任务.随着功能的增加,它们本质上是手持式计算机和足以将它们视为"通用"的应用程序范围.
有了这些更模糊的系统,或许不想问什么是嵌入式系统,而是什么是嵌入式系统开发?例如,智能手机的制造商在其上部署了操作系统,信号处理和通信堆栈,它需要作为电话运行,所有设备驱动程序和堆栈用于WiFi,USB,数据存储等,以及当然是嵌入式系统开发.然而,为Marketplace或AppStore等编写应用程序的人正在写入由所有嵌入式代码抽象的已定义的通用平台 - 这不是我接受的任何定义的嵌入式系统开发,除非应用程序适用于某些定制的垂直市场应用程序 - 就像UPS驱动程序在PDA上具有的交付签名应用程序一样 - 在该环境中,"通用"设备已被重新用作"专用"设备.
关于PC; PC可以是不是通用计算机的系统中的嵌入式计算元件.工业PC通常被嵌入制造和包装机械,数控机床,医疗设备等中.尽管它们与台式PC共享硬件架构,但它们看起来不一定像台式PC,并且具有许多不同形式的板和外壳.然而,即使在台式PC中,也存在嵌入式计算元件的许多示例,以及诸如BIOS的嵌入式软件,其例如负责引导系统,键盘控制器和盘驱动器控制器.