|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
看不懂man文档的人.在linux中,命令可分为系统基本命令和应用程序命令.系统基本命令是所有的unix类系统都支持的命令,走到哪都不变,只要是unix类系统上就肯定有.
周末翻阅了之前写在msnspace上的文章,不经意间找到了一篇2006年写的关于Linux内核的文章,当时想不到本人会酿成一个DatabasePerformanceEngineer,不外内里的一些概念却和如今的事情不约而合,只不外当时面临的LinuxKernel,如今面临的倒是OracleDatabase,看来有一些基本的工具是不会变的。
quotebegin“
最早打仗Linux内核是在年夜三的时分,当时《操纵体系》的课程计划就是举行Linux内核源代码的剖析与历程调剂的改善。标题是年夜的有点吓人,出格是对当时一个涉足未深的年老人看来。不外当时做的事变很复杂,认仔细真的看了《Linux内核源代码情形剖析》的媒介部分(次要讲的AT&T汇编言语,内核中一些特别的编程划定规矩),与历程调剂相干的部分,包含历程的办理,历程的切换,历程与中止,软中止,体系挪用,历程互斥与同步机制。并画了几张图论述了历程调剂的线路,对spinlock机制举行了深切的分析。分明了2.4的内核为什么长短抢占式内核,历程调剂器实在也不是甚么奇妙的东东——一个函数而已,啥叫processcontext。同时,为了完成“历程调剂机制的改善”,看了完成可抢占的两个补钉,哦,如今已整合进2.6了,也怪不得今天看2.6历程调剂的先容有种素昧平生的感到。
能够说,当时的剖析完整是实际进修。关于内核编程的理论几近没有。带来的优点最次要的在于进步了对操纵体系运转的熟悉与进步了代码的浏览才能。
转头往看这段旧事,总以为存在着有所改善的中央。
如今看来,内核是啥呢?只是一个对照年夜的软件项目,能够拿它与Eclipse比拟,大概mplayer比拟,大概就是与任何一个开源软件处于同条理的工具,只是它更具庞大性,触及到的软件与硬件的工具更周全而已。
大概说,经由这几年对开源项目标打仗,对软件项目标介入,Linux内核在我心目中的奥秘感已然消散,Eclipse在软件架框方面应当能够算鹤立鸡群,EFI在BIOS这一层上也完成了新的可扩大的和优秀的设备办理模子,而Linux在操纵体系的条理上也应当是一个典型,值得往进修,往推测,往玩味。
2.6内核之于2.4内核,无疑是行进了一年夜步,历程调剂,设备办理等等方面都构成了更优秀的framework。同时也出现出了很多多少优异的传羽士及其佳构,如《LinuxKernelDevelopmentSecondEdition》《LinuxDeviceDriverThirdEdition》。我更想把这些带有浓郁理论性子的书本当作进进Linux内核天下的一个极佳的“切进点”。想起Eclipse天下一本与此相似的书《contributingtoeclipse》,一个倡始的划定规矩就是“MONKEYSEE/MONKEYDORULEAlwaysstartbycopyingthestructureofasimilarplug-in.”。从内核中进修内核,加强内核,应当是内核编程的一个准绳。
不成否定地,“情形剖析”是《Linux内核源代码情形剖析》的一个亮点,为已往有趣的Linux内核源代码浏览注进了一丝亮色。但是,不论如何,这仍是一个静态的历程,我更希冀能从一个静态的体系中猎取关于她的内情与运作纪律。
以是,假如可以假想出一些观察内核运转的切进点,并藉此完成对内核机制的静态把握,真逼真切感知内核的运转,偶然更能得出一些独具特征的结论进而做出更进一步的改善。
比方对内核调剂机制的剖析,有以下几个复杂的成绩:一秒钟内内核也许会做几次历程切换。体系一样平常会存在着哪些历程,哪些体系要素会明显地加重历程切换的次数。这些历程的运转与工夫存在着如何的散布干系(即历程与工夫的函数干系)。经由过程在内核代码中到场响应的举行统计的代码,就能够画出这类函数图出来。再经由过程对它的剖析,就更能从中发明出一些个性工具,数学性的工具,改善的空间。
内核中的调试机制,是与内核打交道首当其冲的成绩,也是举行窥伺内核的路子。做为一个工具,是完成此种进修的一个必经之路。如printk,如proc文件体系等。
而理论的历程,就是一个发明成绩的历程,bottomhalves有几种机制,softirq,workqueue,tasklet,他们之间有哪些区分,timer的完成有哪些,在举行理论的过程当中,一定会碰着这些成绩,并会自动地往寻觅这类成绩的谜底,最初的了局就是本人编写的代码可以优秀的运转于内核当中。
这里有另外一成绩,在内核中是不是能够挪用一样平常的体系挪用?如open,close,read等等。会存在甚么成绩?又当怎样办理?呵呵,当一个一个的成绩被你办理以后,与Linux内核之间的打仗又亲热了一层。
从理论中来,到理论中往吧。
当从一个专业者的角度来看Linux内核时,我想,风趣才是最好的导师,寓学于乐吧。
“quoteend
遗憾的是,自从做完了研讨生的卒业论文以后,就基础上不往做LinuxKernel相干的工具了,但从如今一个DatabasePerformanceEngineer的概念看,当时的一些设法和如今的事情仍是有一些个性的。好比从一个静态的体系中猎取关于她的内情与运作纪律;经由过程在内核代码中到场响应的举行统计的代码,就能够画出这类函数图出来,再经由过程对它的剖析,就更能从中发明出一些个性工具,数学性的工具,改善的空间;内核中的调试机制,是与内核打交道首当其冲的成绩,也是举行窥伺内核的路子,做为一个工具,是完成此种进修的一个必经之路。如printk,如proc文件体系等。
本文来自:http://www.os2ora.com/chat-about-linux-kernel/
对于linux命令,一定要学会用man和info去查他们的解释; |
|