【发布时间】:2021-05-27 04:58:30
【问题描述】:
这是一个有趣的问题,有许多解释语言可用于创建操作系统,可以使用 PHP 或 JS 创建操作系统吗?
它不必是成熟的操作系统,至少是打印Hello World的操作系统。
问候
【问题讨论】:
-
您似乎对口译员的工作方式有一些基本的误解。解释语言不会“解释为 C++”(或用于创建解释器的任何语言)。相反,解释器是一个单独的程序,它将另一个程序加载到内存中,并尝试读取内存以执行其中可能的指令。是的,可以使用解释语言创建操作系统。想想使用 Dalvik Virtual Machine 的 Android。
-
话虽如此,实际上比这要复杂一点,因为许多现代解释语言实际上是编译为本机代码,根本没有解释。这是由 Dalvik VM(前面提到的)以及大多数 Javascript“解释器”完成的。此外,还有 C 和 C++ 的实际解释器,它们不能编译为本机代码。
-
最后关于“操作系统”这个术语本身......这是一个非常宽泛的术语,可以应用于许多不同的级别。有些人认为直接硬件内核是 操作系统。其他人只考虑操作系统的面向用户的部分。还有一些人认为操作系统是两者的混合体。您还必须记住,并非所有语言都公开或具有直接与硬件通信的接口,这是较低级别的操作系统所必需的。
-
开发操作系统的主要障碍(无论如何我理解操作系统角色的方式)是您需要一些代码来与外围设备交互,这些外围设备(在一天结束时)需要是机器代码,因为这是系统在启动时唯一能理解的。解释器和更高级别的东西需要从某个地方读取,而某个地方需要读取代码。据我所知,PHP 或 JS 不容易编译为机器代码,所以除非你(至少)将 PHP 或 JS 编写到 ASM 编译器,否则你真的不走运
标签: javascript php operating-system