首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux中了解内核级多核编程的好方法是什么?

在Linux中了解内核级多核编程的好方法是什么?
EN

Software Engineering用户
提问于 2012-10-07 05:38:45
回答 3查看 2.8K关注 0票数 4

我对内核级的多核编程感兴趣。我预计这会影响到许多领域,而且对于每个体系结构来说可能是不同的。有些人必须读内核的部分是什么?如果我想比较和对比英特尔I7和ARM Cortex-A9 MPCore的代码,我会在哪里找到不同之处?

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2012-10-15 18:12:45

要理解处理器提供的多核操作支持和操作系统使用的多核操作支持,深入研究代码可能不是理想的方法。首先了解它做了什么才能得到一个框架,在此框架上挂起与它如何实现相关的许多部分,这一点可能很重要。规范处理问题域,代码处理解决方案域,而在大多数系统中,有一个设计过程进行面向对象或功能分解来将两者联系起来。

处理这个问题的一种方法是从感兴趣的体系结构的操作文档理论开始,对多核或多处理器进行修饰,这两个概念虽然与实现有一些区别,特别是在硬件方面,但有着密切的联系。对于Intel体系结构,我从英特尔Itanium体系结构软件开发人员手册的第2卷第2部分: MP一致性和同步页2:507中找到了一些有趣的信息。

从这个材料,下面的一些代码变得更容易理解。

  • semaphore.c必须使用单核和多核的适当方法来防止可能共享的对象访问。这将导致找到自旋锁的引用。
  • spinlock.c会导致某些设备的特定用途,因此它的.h位于arch/arm/包括/asm/自旋锁。arch/ia64 /include/asm/Spinlock.h之类的文件中。

当然,阅读代码是无可替代的,但也不能替代阅读供应商手册,尤其是在使用地球上最复杂的设备之一时。

票数 5
EN

Software Engineering用户

发布于 2012-10-07 13:01:53

Linux中的多核编程没有什么特别之处。你必须理解整个内核。不要问具体的问题,继续从kernel.org下载Linux代码,然后遍历自述文件和源代码结构。(您关于英特尔和arm流程的问题在自述文件中得到了回答)。开始阅读源代码和一本好的linux内核书籍。

票数 7
EN

Software Engineering用户

发布于 2012-10-09 23:20:48

内核中的所有编程都是多核编程(也就是说,它必须能够在多个核上运行)。因此,对于一般的内核编码,没有什么是您没有做过的。

与多核系统相关的内核编程领域是锁定、调度和内存访问(NUMA,如果您在这种类型的机器上)。

这里有几个很好的起点:

  • KenrelNewbies -内核黑客
  • 开始进行内核开发
  • 各种免费书籍/文档
票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/167844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档