zei*_*tue 7 kernel virtual-machine microkernel amiga
我一直在阅读AROS,尤其是托管版本.AROS说如下.
Run Code Online (Sandbox Code Playgroud)kernel.resource contains AROS microkernel. It's the lowest level component, which is responsible for handling CPU and motherboard. For hosted ports kernel.resource contains a virtual machine.
从我读到的有关虚拟机的内容来看,有两种类型的系统虚拟机和进程虚拟机.我知道AROS不是一个系统虚拟机,但是所有的流程虚拟机都可以像Java JVM,Mono,Python,Ruby等一样.它们都是特定于语言的.AROS接缝是一个完整的系统/平台,在用户模式下运行,如用户模式Linux.
AROS托管:操作系统中的操作系统?
AROS最初是在基于Intel的计算机上运行的Linux上开发的.但它可以运行在更多的机器和操作系统上.这可能听起来很奇怪:运行在其他操作系统之上的操作系统,这是仿真,对吧?
AROS托管的一个很好的术语是"API仿真".API是Application Programmer接口的三个字母的缩写.用简单的英语:API提供程序员可以使用的(C语言)函数.AmigaOS API包含一系列库调用,Amiga程序员可以使用它来制作Amiga程序.AROS模拟AmigaOS API:它尝试提供与AmigaOS相同的库调用.Amiga仿真器,如阿联酋; 模拟Amiga计算机:处理器,连接的硬件,一切.这有其优点,例如能够在不同硬件上播放二进制Amiga游戏,以及它的缺点,例如无法在"真实"处理器上将模拟器用作"真实"OS.AROS托管在"真正的"处理器上运行.但它不是"真实的" 操作系统,除非你以不需要Linux的方式运行.这被称为"原生"AROS.
AROS可以在Intel和Amiga计算机上本机运行,但不如在Linux上运行.AROS库函数首先在Linux下运行,内部使用Linux内核和库调用.这样,程序员就有机会首先关注整个系统的实现,并在以后的体育场中打扰技术细节.人们正在努力使"原生"AROS更加有用.结果非常令人印象深刻,完全可以将AROS-native用作IBM PC兼容机器上的真实(且唯一)操作系统.
当然,AROS不仅仅是一个API模拟器.它还试图为所有AmigaOS 3.1系统软件提供替代品,你也会发现AROS附带的一些演示和游戏,只是为了表明它们有效 - 我们可能只占整个系统的77%,但我们已经有Quake运行了!
从这些信息中可以看出,当用作虚拟机时,AROS kernel.resource只是包装了Linux内核的系统调用接口?或者我错过了什么
另外还有像AROS这样的其他系统吗?
我想制作一些可以在许多操作系统上托管的东西.
(编辑注意:这个问题征求意见,因为我固执己见......):
\n\n内核结构的分类并不像物种甚至头发颜色那样严格。像(微|单片|虚拟)内核这样的术语比分类分区的描述更加模糊。这有助于向好争论的极客推销啤酒。
\n\n所有内核都呈现某种虚拟机。在 UNIX 中,它通常是用户模式指令集 + 一组执行各种操作的系统调用的解释 + 一定数量的 cpu 作为线程。该抽象机可以强制执行其他规则,例如内存类型(堆栈、堆、文本)的放置和范围。在虚拟化内核中,它通常是整个指令集、一组 cpu、内存和设备。在大多数情况下,对内存的访问由虚拟化内核(常见:虚拟机管理程序)仲裁,设备通过解释对内存的访问在虚拟机管理程序内实现,并且系统指令由虚拟机管理程序模拟。
\n\n但这两者(UNIX、虚拟机管理程序)都提供虚拟机,只是抽象不同。UNIX 虚拟机可能有优先级的概念,进程据此确定它应该或多或少地优先获得 CPU 或内存资源;而纯虚拟计算机(管理程序)则无法传达这样的概念。
\n\n无论环境如何,在我的执行单元(进程、虚拟机)内,我可能会选择制定自己的线程、进程、设备和交互的运行时概念。gvisor项目提供了这个概念的相当完整的实现,但即使是 golang 运行时也将 golang 程序与底层内核分开。对于倾向于将内核视为特权共享库的 C 程序员来说,这是一个相当陌生的概念。
\n\n所以,是的,您可以在内核下运行内核,直到满足您的愿望。Linux 很有趣,如果你通过 google 搜索一下,你可以弄清楚如何构建一个使用 qemu-* 作为加载器的容器,这样你的分区就可以在 x86 机器上运行arm bash并无缝运行arm和x86二进制文件。当你向你的朋友展示这个时,他们会取笑你。
\n\n实际问题:
\n\n..或者我错过了什么..?AROS 可以将自身嵌套在 Linux 环境中,不会将 Linux 环境泄露给来宾。在这种模式下运行内核通常称为托管。请参阅 gvisor 的示例,了解如何在不成为 root 的情况下做到这一点。
\n\n还有其他类似AROS的系统吗?无数。
\n