Operating system 专用于一个程序的计算机

Operating system 专用于一个程序的计算机,operating-system,embedded,cpu-architecture,dedicated,freestanding,Operating System,Embedded,Cpu Architecture,Dedicated,Freestanding,我想让一台计算机只运行一个程序,因此每当计算机启动时,它都会执行该程序 例如: 特斯拉汽车公司的计算机板,通用超市系统 我如何使用它的一个例子: 开发一个系统使房子自动化,这样会有一个屏幕显示可以打开或关闭的灯光,如果房子用光了,当能量恢复时,计算机会重新启动并再次显示灯光选项 我必须为此构建一个操作系统吗?在裸机上启动+运行的程序被称为。它不在操作系统下运行,包括管理硬件所需的一切,还包括所需的所有库(静态链接) 它需要做一些与操作系统相同的事情(与硬件对话、安装中断处理程序等),因此在某些方

我想让一台计算机只运行一个程序,因此每当计算机启动时,它都会执行该程序

例如: 特斯拉汽车公司的计算机板,通用超市系统

我如何使用它的一个例子: 开发一个系统使房子自动化,这样会有一个屏幕显示可以打开或关闭的灯光,如果房子用光了,当能量恢复时,计算机会重新启动并再次显示灯光选项


我必须为此构建一个操作系统吗?

在裸机上启动+运行的程序被称为。它不在操作系统下运行,包括管理硬件所需的一切,还包括所需的所有库(静态链接)

它需要做一些与操作系统相同的事情(与硬件对话、安装中断处理程序等),因此在某些方面可以称它为操作系统,但它也只是一个程序,不一定提供任何运行其他程序的机制

微控制器(和/或程序)越简单、越轻,就越明显它只是一个程序,而不是一个操作系统。(例如,如果您不进行任何动态内存分配,或者您不从任何地方将任何代码加载到RAM中,只需从ROM执行即可)


顺便说一句,操作系统内核是一个独立的程序。并非所有独立的程序都是内核,但是内核必须是独立的,因为内核的定义是独立的


顺便说一句,嵌入式系统运行操作系统,并让该操作系统启动某些特定程序是完全正常的。事实上,您引用的示例确实使用操作系统。因此,您不用编写所有自己的驱动程序、调度代码等,而是使用现有的操作系统,编写在该操作系统下运行的程序

有时候这个操作系统是Linux,有时候它是一个轻量级的实时操作系统


对于信息亭来说,有时该操作系统甚至是Windows。(或者在较旧的系统中,DOS仅仅是一个操作系统。)请参见问题下方的注释。

您应该查看哪些是完全为您的目的而制作的,只包括所需的。

不,您不需要操作系统。如果你有电气/电子/计算机工程方面的背景,你可以创建一个简单的设备。或者你可以用树莓皮做一个。它需要一个易于安装的操作系统。这不是特斯拉汽车,也不是超市系统,它们运行的是操作系统,而且不止一件事。(几十年来,他们一直在运行DOS,因此人们可以肯定一个程序,但现在它的windows(超市注册/系统))。对于所有这些操作系统,都有启动依赖于操作系统的程序的方法。如果您想要一个裸机程序,请确保您可以编写该程序(操作系统本身就是裸机程序)。但是,定义的问题与一个程序或需要裸金属无关,等等,你只需在便宜的亚马逊fire平板电脑上下载一个应用程序即可。或者为windows、ios、android、linux或macos等编写自己的应用程序。您需要更好地定义问题,并解释您是如何满足这些要求的。似乎您所要求的并不是您想要的:)尝试在谷歌上搜索“kiosk系统”,即仅承载一个严格控制的人机界面的系统,但可能有一个操作系统和多进程/线程的子系统作为后盾。您的超市EPOS till必须拥有一个价格查询数据库,与操作员、激光扫描仪、收据打印机、卡片终端、管理服务器进行通信。您的Y型“仪表板”同样复杂,有许多到otber车载系统的链接和无线接口。