我需要知道,Linux内核是如何实现的?我想了解哪些模块实现了多线程,哪些是单线程实现的,并且在运行多线程应用程序时,用户线程到内核映射线程是如何完成的? (是m到n还是m到1还是有1到n?)。 如果有手册或纸张甚至白皮书,如果介绍的话,对我来说将是一个很大的帮助。 (我无法找到有关我的问题的来源,特别是我的第一个问题)
任何人都可以给我一个线索吗? 感谢。
答案 0 :(得分:0)
我认为你的问题没有一站式服务。这里你最好的选择是阅读所有内核文档。你无能为力 - 并发只是内核的基础,几乎内核的每个部分都需要意识到它可能与其他部分同时运行。在这种情况下,简单的答案是内核的所有都实现为多线程 - 虽然高度并发可能是一个更好的术语,因为'线程'的概念也是由内核实现并且内核并发不一定是基于线程的。每个驱动程序都需要知道它的一部分可以同时执行,因此它们 all 必须使用内部同步技术来确保共享数据的安全。
https://www.kernel.org/doc/Documentation/
您还可以在各种网站和各种书籍中找到特定于子系统的内容,尽管它们也会有各种各样的过时...