我想让一台计算机只运行一个程序,所以每当计算机启动时,它都会执行该程序。
例如:特斯拉汽车的电脑板,常见的超市系统
我如何使用它的一个例子:开发一个系统来使房子自动化,所以会有一个屏幕显示可以打开或关闭的灯,如果房子没电了,当能量恢复时,计算机会重新启动并再次显示灯光选项。
我必须为此构建一个操作系统吗?
我想让一台计算机只运行一个程序,所以每当计算机启动时,它都会执行该程序。
例如:特斯拉汽车的电脑板,常见的超市系统
我如何使用它的一个例子:开发一个系统来使房子自动化,所以会有一个屏幕显示可以打开或关闭的灯,如果房子没电了,当能量恢复时,计算机会重新启动并再次显示灯光选项。
我必须为此构建一个操作系统吗?
boot + 在裸机上运行的程序称为“独立”程序。它不在操作系统下运行,包括管理硬件所需的一切,并包括它需要的所有库(静态链接)。
它需要做一些与操作系统相同的事情(与硬件通信、安装中断处理程序等),因此在某些方面你可以称它为操作系统,但它也只是一个程序,不一定提供任何机制运行其他程序。
微控制器(和/或程序)越简单和轻量级,就越明显它只是一个程序,而不是操作系统。(例如,如果您不进行任何动态内存分配。或者您不从任何地方将任何代码加载到 RAM 中,只需从 ROM 执行它)。
顺便说一句,操作系统内核是一个独立的程序。并非所有独立程序都是内核,但内核必须是独立的,因为内核是什么的正常定义。
另外顺便说一句,嵌入式系统运行操作系统并让该操作系统启动一些特定程序是完全正常的。 实际上,您引用的示例确实使用了操作系统。因此,您无需编写所有自己的驱动程序、调度代码等,而是使用现有的操作系统并编写在该操作系统下运行的程序。
有时该操作系统是 Linux,有时它是轻量级实时操作系统。
对于信息亭,有时该操作系统甚至是 Windows。(或者在较旧的系统中,DOS 几乎不是操作系统。)请参阅问题下的评论。
你应该看看IncludeOS正是为你的目的而制作的,只包括需要的东西。