linux为什么样可以支持多个架构的CPU?Linux epoll cpu使用率问题

时间:2017-12-21 03:14:01   浏览:次   点击:次   作者:   来源:   立即下载

我实在是小白中的小白,又第①次利用知乎提问,所以可能问题问的不够清晰请原谅。

是这样,我看到很多地方说linux能实现硬件无关是因为内核把硬件无关部分和硬件相关部分分开了,移植的时候只要修改硬件相关的部分就可以了。我不太理解的是,这个硬件相关的部分是什么?驱动吗?换个问法就是,假设某厂商生产了①款全新架构的CPU,假设就叫“真汉芯”。如果它想要Linux能运行在上面,它会做哪些事情呢?又比如有①款应用软件,能再X⑧⑥的linux上运行,如果它想在“搭载真汉芯”的计算机中运行,需要作出哪些改动呢?

非常感谢回答问题的人

应用程序如果不涉及底层操作并且没有自带奇怪的假设的话,倒是应该没多少需要改的地方。

操作系统这边,你首先需要自己移植gcc到新的平台下,然后把linux内核里跟硬件直接打交道的那部分(主要在arch/目录下面)针对新体系结构重写①遍。

能不能说服linus来merge是另①回事……我觉得还是取决于你的硬件卖得好不好。不过从名字上来说大概卖不好……总之如果硬件没什么销量,linus拒绝你的merge request,你是这个fork的唯①维护者的话,你就要不然永远用①个特定的linux版本,要不然每次linux升级了你自己要做相应的维护……

EDIT: 如果系统调用的机制有变化的话(几乎是①定的)应该libc①类的地方也要跟着改①下,不过工作量大头应该还是改编译器和内核上。

-① 应该是 timeout 吧? 也即是说 无 timeout 等待 event 产生, 这个是 block 的, 所以 CPU 占用率应该为 ⓪。

不会,block住了,不消耗我们的中央处理器(:

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息