- 主题:CPU能否为操作系统优化呢?
比如,操作系统如果是微内核的,那么,进程通信会大量出现,达到子程序调用的级别。子程序是通过堆栈传参数,然后改IP。那么如果是进程通信呢?进程1会停止原来的执行,因为是异步的,然后基本是挂起,或者执行下一个消息。
而被呼叫的进程最好是被另一个CPU内核处理,进程通信的消息有的不多,估计寄存器就可以了,有的可能很多会达到64K级别,得内存来传送?然后被呼叫的进程完成后会返回一个呼叫,由操作系统把需要的信息传回原来的进程。
目前的CPU基本上运行微内核效率就会低。有没有可能涉及特殊的CPU来进行微内核加速呢?
--
FROM 98.42.143.*
具体就是,微内核到底慢在哪里?能否优化CPU使得微内核不在那里慢?
【 在 Xaoyao 的大作中提到: 】
: 不明白你是什么意思
: 多核cpu之间本来就是通过内存来传递数据的
: 这已经是最快的方法了
--
FROM 98.42.143.*
微内核操作系统,相对来说Linux是整块宏内核
【 在 TigerXiong 的大作中提到: 】
: 微内核是指令级以下的,跟操作系统没关系吧。
: 发自「今日水木 on MI 8」
--
FROM 98.42.143.*
我现在的理解是context switch很慢。比如一个进程调用一个功能,如果是宏内核,就是一个调用,几个时钟。如果是进程,据说是50-80个时钟。
可不可以多个CPU核心,有一个专门负责这个功能的。但是如果有多个客户来调用,那还是得等,比同一个CPU核心进行context switch还慢。
context switch到底什么原因慢呢?是需要存储的东西太多了吗?
【 在 yangtou 的大作中提到: 】
: 微内核增加了额外的ipc开销,ipc需要context switch
:
: #发自zSMTH@NOP-AN00
--
FROM 98.42.143.*