【发布时间】:2020-07-25 09:28:57
【问题描述】:
我无聊地四处寻找可以做的事情,然后偶然发现了一份关于制作自己的简单 C 和汇编命令行操作系统的指南。 我只是想知道,它只是使用 C 之类的主要操作系统还是可以用其他语言创建操作系统,例如 android 和 java。
【问题讨论】:
-
Android 基于 Linux。其中大部分是用 C 和汇编语言编写的。
-
它必须是编译成机器码的语言,而不是虚拟机或解释器。
-
@Barmar 考虑一下。
-
cpu 从内存可寻址位置读取操作码并执行操作码。您可以从您喜欢的任何语言开始,只要最终您了解 cpu 可以读取和执行的操作码。根据您希望操作系统执行的操作,您可以从所需的任何级别开始。您甚至可以在另一个操作系统中运行一个操作系统。听起来你想从一个相当低的层次开始,看看如何从那里引导自己。
-
Android 在用户空间运行 Java,作为由其 Linux 内核管理的进程。内核本身不是 Java。如果您用 Java 编写操作系统,那么它将是由 JVM 管理的 虚拟 机器的操作系统,而不是任何真实硬件的操作系统。它可能只能运行 Java 代码,除非它也是某个 CPU 的模拟器。 (例如像 qemu-user)
标签: c assembly operating-system