问题标签 [microkernel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compilation - 如何编译 Mach 3?
这些天我对mach 操作系统很感兴趣。然而,我发现在现代 Linux 系统上构建它似乎相当困难,比如 Debian Wheezy。
所以我想知道是否有任何方法可以构建并启动它?
欢迎任何想法和建议:-)
顺便说一句:似乎 Mach 操作系统是由 ODETools(odemake 和其他东西)构建的。那是什么?我很难找到这种 odetools 的任何东西。
kernel - 托管内核和虚拟机之间的差异
我一直在阅读 AROS,尤其是托管版本。AROS 说如下。
根据我对虚拟机的了解,有两种类型的系统虚拟机和进程虚拟机。我知道 AROS 不是系统虚拟机,但所有进程虚拟机都类似于 Java JVM、Mono、Python、Ruby 等。它们都与特定语言接缝。AROS 似乎是一个在用户模式下运行的完整系统/平台,类似于用户模式 Linux。
AROS 托管:操作系统中的操作系统?
AROS 最初是在基于 Intel 的计算机上运行的 Linux 上开发的。不过,它可以在更多的机器和操作系统上运行。这听起来可能很奇怪:一个运行在另一个操作系统之上的操作系统,这就是仿真,对吧?
AROS 托管的一个很好的术语是“API 仿真”。API 是 Application Programmer's Interface 的三个字母的首字母缩写词。简而言之:API 提供程序员可以使用的(C 语言)函数。AmigaOS API 包含大量库调用,Amiga 程序员可以使用这些库调用来制作 Amiga 程序。AROS 模拟 AmigaOS API:它尝试提供与 AmigaOS 相同的库调用。Amiga 模拟器,例如阿联酋;模拟 Amiga 计算机:处理器、连接的硬件,一切。这有它的优点,比如能够在不同的硬件上玩二进制 Amiga 游戏,也有它的缺点,比如不能在“真实”处理器上将模拟器用作“真实”操作系统。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这样的系统吗?
我想做这样的东西,可以在许多操作系统上托管。
scala - 运行 Akka 微内核时获取命令行参数?
我有下面的Akka 微内核:
因为内核扩展Bootable
而不是App
,我将如何访问启动内核时使用的命令行参数?例如,如果我使用start namespace.ServiceKernel -d rundevmode
或类似方式运行内核。谢谢!
附加信息
我认为值得在微内核中添加有关启动脚本的信息。在/bin/start
您注意到以下内容:
尽管 om-nom-nom 最初建议-D
使用选项,但它看起来正在使用中,并且主要启动参数正在传递给akka.kernel.Main
类(在这种情况下是ServiceKernel
上面的类)。
scala - 在 Akka 微内核中指定主类时编译器错误?
这是我在Build.scala
. 当我去运行sbt run
或sbt dist
我得到相同的编译器错误not found: value distMainClass
。这很烦人,因为我检查了 akka-microkernel-plugin 项目以distMainClass
在 2.0 版中找到。我使用的是 2.0.5,它也存在于 2.1.0 中。
关于问题根源的任何想法?谢谢!
minix - 黑白 Hurd 和 Minix 有什么区别?
知道两者都是微内核,b/w Mach(Hurd 所基于的)和 Minix 有什么区别。有任何架构差异吗?稍微了解一下“什么是 L4”会很有帮助。我找不到任何涉及此内容的文件。
scala - AKKA 微内核中的实例化
遵循文档示例(2.1.4)后,我在加载微内核的actor处理消息时遇到了问题,其中可引导扩展类定义如下:
如果创建了一个虚拟(即未在代码中的其他任何地方使用)实例,如下所示,则消息将按预期进行处理。
是否确实存在虚拟实例化,或者通过这样做,我是否会造成一些副作用,从而导致消息被处理?
根据 Thomas Letschert 在Akka 2.1 最小远程参与者示例中给出的代码,我将服务器端变成了微内核托管的参与者。
在这种情况下,当删除消息时不处理的虚拟实例化是
调用者代码是
heroku - Heroku 上的 Akka 微内核
我有一个在微内核上运行的 Akka 2.1.0。在我的本地机器上,我运行sbt dist
构建 exec 然后cd target/dist
和bin/akka sample.kernel.hello.HelloKernel
.
Heroku 使用自动sbt clean compile stage
命令来构建target/start
脚本。
有什么想法可以绕过这个阶段并在 Heroku 上部署微内核吗?也许有关如何更改heroku-buildpack-scala的一些提示。
任何帮助表示赞赏。
scala - Akka Scheduler 仅在 MicroKernel 中引发异常,但在 eclipse IDE for scala 中工作正常
我有一个如下所示的调度程序。它意味着每 30 分钟向 Actor 系统中的另一个 Actor 发送一条消息。当我在 eclipse IDE for scala 中运行此代码时,它运行良好。但是,当我在 MicroKernel 中抛出此代码(使用可引导代码以便 Microkernel 可以调用它)时,我得到一个异常说
java.lang.NoSuchMethodError:akka.actor.ActorSystem.dispatcher()Lscala/concurrent/ExecutionContext; 完整的堆栈跟踪如下所示。我怀疑问题可能与在此上下文中无效的“import system.dispatcher”行有关。或者调度程序试图过早地触发消息。
请帮忙...
调度程序.scala:
完整的堆栈跟踪:
kernel - 什么是内核开销?
什么是(微)内核开销以及增加微内核周期的组件是什么?信息来源将非常有用。
operating-system - 为什么 Windows NT 远离微内核?
有人告诉我,Windows NT 最初是为实现微内核架构而设计的,但后来转向混合内核。
是什么导致了这种变化?我很难找到有关此的任何信息。