Questions tagged «kernel»

15
为什么Tanenbaum在Tanenbaum-Torvalds辩论中错了?
最近,在我的OS课堂上,我被分配阅读Tanenbaum-Torvalds辩论的内容。在辩论中,Tanenbaum做出了一些预测: 微内核是未来 x86将消失,RISC架构将主导市场 (从那时起的5年内)每个人都将运行一个免费的GNU OS 辩论发生时我只有一岁,所以我缺乏历史直觉。为什么没有提出这些预测?在我看来,从Tanenbaum的角度来看,它们是对未来的相当合理的预测。发生了什么事以至于他们没有通过?

12
操作系统如何运行……而无需运行操作系统?
我现在真的很好奇。我是Python程序员,这个问题令我感到困惑:您编写了一个OS。您如何运行它?它必须以某种方式运行,并且这样可以在另一个OS中运行吗? 没有OS的情况下如何运行应用程序?如果没有要运行的操作系统,如何告诉计算机运行C,并在屏幕上执行这些命令? 它与UNIX内核有关吗?如果是这样,什么是Unix内核,或者一般来说是一个内核? 我敢肯定,操作系统比这更复杂,但是它如何工作?

5
自旋锁与轮询有何不同?
自旋锁和轮询是同一件事吗? 维基百科: 自旋锁是一种锁,它使试图获取它的线程在循环中反复等待(“自旋”),而反复检查该锁是否可用 这听起来非常像: while(!ready); 我被教导要避免轮询,因为它是完全次优的。那么,自旋锁是否适合不良的旧民意测验?自旋锁与轮询有何不同?
41 locks  kernel  polling 

13
为什么操作系统会在C和C ++中做底层工作?为什么不只是C ++?
在Windows的Wikipedia页面上,它指出Windows是用Assembly语言编写的,用于引导加载程序和任务切换器,以及C 和 C ++语言的内核例程。 IIRC,您可以从extern "C"'d块调用C ++函数。我可以将C用于内核函数,这样纯C应用程序就可以使用它们(诸如此类printf),但是如果它们只能包装在一个extern "C "块中,那么为什么要用C语言编写代码?

6
大会仍然有意义吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在编码和/或管理项目方面,汇编语言和高级语言之间是否有主要区别?显然,与大多数其他语言相比,用汇编语言执行特定的操作要花费更多的语句,但是是否存在差异会影响基于目标汇编语言(特别是x86 / x64汇编语言)运行项目(或应该)运行项目的方式? 就汇编语言和其他语言之间的差异而言,可以合理地猜测,其中至少有一些是其他语言的优势。谁能指出汇编语言的特定缺点以及减轻这些缺点的方法吗? 一个具体的例子是人员的可用性。是否有人在寻找经验丰富的汇编语言程序员时遇到麻烦,如果可以,可以采取哪些步骤来减轻此问题?
18 assembly  kernel 

5
为有抱负的学生提供有关构建自己的内核的建议[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我是一个非常有野心的大学生,希望学习几乎所有有关计算机的知识(如果有需要,请抨击我,我喜欢学习)。最近,我认为设计和构建自己的内核是一个有趣的项目(尽管是一个漫长的项目)。 我掌握了一些基本信息,并且已经积累了一些需要掌握Assembly和C / C ++才能真正完成此工作的信息。当我从事这些工作时,我想从编程的角度学习内核实际上是如何工作的。我已经花了几个小时浏览Linux内核的代码,但这只能带您到现在为止。 构建内核的基本步骤是什么?您需要解决的问题?命令还是做事?我知道我很讨厌,但我决心要应付。
18 c  assembly  kernel 

3
对于初学者内核黑客来说,有什么有趣但又不太困难的项目?
在学习了操作系统课程之后,我对扩展我对Linux内核的了解以及练习使用大型系统感兴趣。我可以尝试哪些有趣但又不太困难的项目? 编辑:我对内核做了些什么背景。 实施了新的计划政策 已实现的用户线程和相应的互斥体库(不是真正的内核黑客,而是包含了内核相关的理论)
13 linux  kernel 

5
如何为初学者理解Linux内核源代码?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我是一名对内存管理感兴趣的学生,尤其是linux内核的页面替换组件。 有什么不同的指南可以帮助我开始理解内核源代码? 我曾尝试阅读Mel Gorman 的《了解Linux虚拟内存管理器》和Cesati和Bovet的《了解Linux内核》这本书,但是他们没有解释代码中的控制流程。他们仅最终解释了所使用的各种数据结构以及各种功能执行的工作。这使代码更加混乱。 我的项目涉及在主流内核中调整页面替换算法,并针对一组工作负载分析其性能。有没有一种易于理解的Linux内核(如果不是linux-2.6.xx内核)?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.