这是一个非常高级的架构问题。为什么没有JVM被移入 Linux内核,它可以更高效(包括即时编译代码)。
我意识到这对于最小内核粉丝来说是令人憎恶的,但Linux并不是那些操作系统之一,
它似乎。可以通过/dev
条目控制的JVM内核模块是可能的。
为什么不呢?
答案 0 :(得分:2)
将内容移入内核本身并不会“让它变得更快”。在某些特殊情况下它可以做的是允许使用替代方法。直到你有一些利用内核的方式,在内核中完全没有任何好处。
答案 1 :(得分:2)
我至少可以说出几个原因(当然还有更多):
答案 2 :(得分:0)
可能效率不高;它可能更少效率。每次你想处理数据时,数据都存在于内核之外(除非你还将程序和他们想要的任何数据直接加载到内核中),并且至少需要进行两次上下文切换。如果解释器在内核之外,则不需要上下文切换(除非必须从某个地方(文件,用户,网络等)读取数据。
此外,那些“从某处读取”的情况下即使内核请求也会产生额外的上下文切换,因为在幕后有很多东西要用来获取这些数据。
(上下文切换是很昂贵的。他们有点像在头脑中踢CPU并告诉它在看到星星时看到别的东西;然后它需要在你踢它之前记下它正在做的事情,然后去读一下你刚才告诉它要做的事情。)