我们真的可以 运行 没有内核的程序吗?

Is it true we can run programs without kernel?

我刚刚读了下面这本书中的句子 "The Linux Programming Interface",

"虽然可以在没有内核的计算机上 运行 程序,但是 内核的存在极大地简化了其他程序的编写和使用,并且 增加了程序员可用的能力和灵活性。 “

我们可以 运行 没有内核的程序是真的吗?请给我一些适当的解释。

当然你可以 运行 没有内核的计算机上的程序。

但这意味着您必须自己做所有事情。

计算机通常会启动某种 BIOS,然后找个地方启动。 (引导扇区,从 USB 引导,网络,...)

这个启动代码包含的可以是内核,也可以是您的应用程序。

然后您的应用程序将负责处理所有事情,而且列表很大:

  • 中断
  • 硬件IO
  • 设备
  • 内存 (RAM) 管理
  • CPU 调度
  • 网络IO
  • 磁盘 IO
  • 显卡
  • HDI(人机界面/Keyboard/Mouse/Brail/...)
  • 音频
  • ...

所以从技术上讲这是可能的,但通常这不是您的主要关注点(除非您正在编写下一个大项目 OS)