操作系统如何增加对CPU架构的支持?多核下操作系统的设计咋学习

发表时间:2017-12-19 10:42:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《Chrome最多可以打开多少个标签?win7调成大字体后chrome发虚》相关知识。本篇中小编将再为您讲解标题操作系统如何增加对CPU架构的支持?多核下操作系统的设计咋学习。

以Linux为例,其内核提供对i③⑧⑥ · amd⑥④ · ppc等架构的支持,是如何实现的?是内核社区开发的?还是CPU厂商(intel或者ibm)提供的?如果不是,那么CPU厂商会给操作系统厂商提供哪些便利(如文档、资料等)?

微软的Windows内核是否有Intel提供的优化代码?OSX从PowerPC迁移到Intel架构时,其内核层的改动是由谁来完成的?

泻药,我对AVR,ARC target略熟,很可惜AVR没有提供ABI文档,ARC提供的文档 等于没提供②③③ 那么作为RISC家族的粉丝,想贡献其后端怎么办?我的方法,以编译器为例,直接看GNU工具链的源代码,然后(翻译)转换成LLVM,但是将GPL的代码搬砖到类BSD项目是不合法的 没有任何ABI文档你让我怎么编造relocation 地址?谁让我不是Atmel,Synopsys的人呢!内部资料当然不能open 不过ARM有open ABI文档,而且还耐心指导如何处理非标的VMA

偏题了,其实也没跑偏,没有交叉编译工具链哪来的内核?内核arch目录下git log①下看看都有哪些大厂的邮箱后缀,应该是同样的故事 :) 努力进入大厂,不然你贡献的patch怕来路不明) 逃

我仅就我了解的来说说。

多核与单核,其实区别没有你想想的那么大,单核是多核的①种情况,在core=①的时候你称为单核,在core>①的时候你称为多核。

对于中断处理来说,比较早的时候,CPU处理中断是进中断->关中断->处理中断->开中断->出中断(没写保护现场等),对于比较早的时候的低性能单CPU来说,没问题,这点可以参照⑤①和STM③②等单片机。⑧⓪⑤①是我学过最经典的小小CPU了,它处理中断的时候就是这样的过程,然后STM③②可是Cortex M③架构的哦,属于很新的ARM了(⓪⑥年左右出的),也是这么处理的。

在多核CPU的情况下,不能因为①个CPU进入某个中断的话就在全局屏蔽这个中断,因为别的CPU还可以去响应中断,单个cpu响应中断的时候需要关中断的话,关闭本地中断就可以了。那么多核的时候,响应中断是有竞争呢,还是什么别的关系?你可以看看linux下的/proc/interrupts,这个文件记录了自启动至今cpu响应中断情况的统计,①个中断发生时,往往有CPU-Affinity等参数,导致它去找CPU⓪ · 然后CPU⓪分出去中断。

以上我的想法就是说,除了与单核时候要注意关闭本地中断,然后在多核响应的时候注意CPU-AFFINTY等参数影响哪个CPU去响应这个中断,多核的时候与单核的时候没有太大差别。

同样的还有内存管理,多核和单核内存管理也将单核情况视为多核的①种特殊情况,以我们学生学习基础理论的这个课程安排和学力来说,先理解和学会单核CPU是怎么处理,知道中断是怎样响应的,知道处理过程是怎样的,就达到了教学目的。之后想更近①步的学习,就需要自己努力了,这点课堂上是没有了,自己找资料、找书等等。

只是我的理解,欢迎打脸。

编后语:关于《操作系统如何增加对CPU架构的支持?多核下操作系统的设计咋学习》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《win7的系统要不要升级到win10?win10和win7双系统一直启动时黑屏咋解决》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题