问题标签 [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.

0 投票
1 回答
274 浏览

linux-kernel - 如何在没有 DI/EI、TS 和 CS 指令的情况下实现信号量

我正在阅读 Milan Milenkovic 的操作系统书籍(http://books.google.co.in/books?id=wbvHuTfiQkoC&printsec=frontcover#v=onepage&q&f=false)。由此我了解了如何使用以下汇编指令实现信号量:

我想知道除了使用上面的 3 个汇编指令之外,是否还有其他的信号量实现方式。任何帮助将不胜感激。谢谢。

0 投票
0 回答
203 浏览

scala - 将 Akka MicroKernel 用于独立调度程序模块

我们计划创建一个scheduler模块。有一个外部服务为调度程序提供所有必要的任务,并且调度程序必须定期调用这些任务。调度程序有各种用例,调度会根据数据存储中的数据发生巨大和动态的变化。我们不想将此功能作为play framework我们当前正在构建的系统(in )的一部分包含在内,而是希望有一个独立的进程来执行调度。

考虑到上面提到的用例,Akka MicroKernel 是否可以达到目的,还是我们应该考虑将调度程序部署在其他容器或应用程序服务器中(如果是这样,人们更喜欢哪一个)?

0 投票
1 回答
639 浏览

driver - 有没有一种简单的方法可以将 linux 驱动程序移植到 L4?

我想在 seL4 上构建一个系统,我不想从头开始编写驱动程序。我知道 L4linux 设法通过 fiasco.OC 提升了整个 linux 内核,包括驱动程序。

理想情况下,我想要一个驱动程序包装器,它允许我在 sel4 上将 linux 驱动程序作为独立任务运行。

我愿意编写很多代码。但我想避免阅读硬件规格表和重写驱动程序。

0 投票
1 回答
710 浏览

java - scala akka 微内核中的线程“主”java.lang.InstantiationException 中的异常

我已经通过这个文档http://doc.akka.io/docs/akka/snapshot/scala/microkernel.html#microkernel-scala使用微内核制作独立的 akka 应用程序。我已经完成了它的依赖和 sbt 插件。这是我的主要课程:

线程'main'到底发生了什么?谢谢 :)

0 投票
1 回答
472 浏览

linux-kernel - 哪一个对 IPC 性能的影响更大?上下文切换或进程数?

在我的印象中,当谈到提高 IPC 性能或降低所涉及的延迟时,上下文切换似乎是最重要的因素。但我一直想知道为什么我从来没有听说过可运行进程的数量也是一个因素?

如果我理解正确的话,大多数现代 CPU 都可以通过硬件执行上下文切换,这应该会大大减少浪费的时间。另一方面,CPU 时间由系统中所有可运行的进程共享。系统中可运行的进程越多,进程获得 CPU 控制权的频率就越低。(虽然一般来说大部分进程大部分时间都应该处于睡眠状态,但这只是系统的一个不合理的假设,不能适用于我认为的所有可能的情况。)

例如,假设一个系统被配置为具有循环调度器、1ms 的时间片和 7 个具有相同优先级的可运行进程,如下所示:

根据循环调度的定义,上下文切换顺序应该是:

由于上面的上下文切换顺序,如果 P1 尝试通过某种 IPC 机制向 P5 发送消息,则消息将在 3ms 后由 P5 处理。这是因为 P5 需要等待 P2、P3 和 P4 用完自己的时间片,所以 P5 最终被安排运行并处理 P1 发送的消息。因此,在这种情况下,IPC 延迟至少为 3ms,与上下文切换所需的时间(通常为 µs 数量级)相比要大得多!如果 P5 想要对 P1 发送的消息进行回复,又浪费了 2ms,因为 P6 和 P7 必须提前完成轮到。往返延迟时间(https://en.wikipedia.org/wiki/Round-trip_delay_time)应该是:3ms + 2ms = 5ms!

如果可运行进程的数量增加如下:

从 P13 发送到 P57 的消息的 IPC 延迟将为:(57 - 13 - 1)ms = 43ms

总而言之……上述问题真的存在吗?在测试或测量 IPC 性能时是否会考虑可运行进程的数量?或者为什么系统中可运行进程的数量与 IPC 性能/延迟无关?

0 投票
2 回答
297 浏览

arm - 哪个板用于使用 TrustZone 扩展

我正在尝试找到一个基于 ARM 的单核板,在该板上启用了 TrustZone 技术,以实现双执行环境(在将成为我的 TEE 的 TrustZone 中运行的微内核旁边的丰富操作系统)。当我在互联网上搜索时,我发现在 ARM Cortex A8、A9、A15 上启用了 TrustZone 扩展。但在大多数使用这些处理器的板上,此扩展未启用。我可以知道启用了 TrustZone 的板的名称吗?

0 投票
0 回答
315 浏览

akka - 如何为 akka 微内核使用 sbt-native-packager JavaAppPackaging archtype

根据此链接http://www.scala-sbt.org/sbt-native-packager/archetypes/akka_app/index.html,不推荐使用 akka 微内核架构类型。但是,我不清楚如何使用推荐的 JavaAppPackaging 架构来创建 akka 微内核应用程序。

我试过了

sample.kernel.hello.HelloKernel 是从 Bootable 派生的。HelloKernel 的代码大部分是从http://doc.akka.io/docs/akka/2.1.0/scala/microkernel.html复制而来的。

编译后,当我在 sbt 控制台中“运行”时,我得到:

java.lang.NoSuchMethodException: sample.kernel.hello.HelloKernel.main

为什么 sbt 仍在寻找“主要”?如何让 sbt 知道它正在运行 akka 微内核应用程序而不是常规的 Java 应用程序?感谢任何提示。

0 投票
0 回答
34 浏览

c++ - C++ 中的微内核或依赖注入容器

Form C# 和 Java 我知道微内核也称为依赖注入容器。它们的主要目标是将接口与实现分开。

在 C# 中它是这样工作的

我认为 C++ 没有反射,你不能传递、保存或实例化一个类型。C++ 中是否有可能获得类似的结果?

0 投票
1 回答
465 浏览

operating-system - 面向桌面用户的基于微内核架构的操作系统?

我们能否拥有针对桌面用户的具有微内核架构的操作系统?我在这个网站上读到过旧的微内核可能比单体内核慢 50%,而像 L4 这样的更高版本只比单体内核慢 2% 或 4%。L4内核以其性能而闻名。

为什么我们没有针对桌面用户的基于微内核架构的操作系统?我们将来能有这样的操作系统吗?

0 投票
1 回答
2158 浏览

linux-kernel - 单体,微内核和外内核之间有什么区别?

谁能解释一下,单片,微内核和外内核之间有什么区别?