仓酷云
标题:
Linux教程之闲话Linux内核――进修,推测与玩味仓酷云
[打印本页]
作者:
活着的死人
时间:
2015-1-18 11:37
标题:
Linux教程之闲话Linux内核――进修,推测与玩味仓酷云
看不懂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去查他们的解释;
作者:
愤怒的大鸟
时间:
2015-1-21 11:14
任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。
作者:
分手快乐
时间:
2015-1-30 16:45
众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
作者:
小妖女
时间:
2015-2-6 14:09
选择交流平台,如QQ群,网站论坛等。
作者:
再现理想
时间:
2015-3-5 03:55
对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。
作者:
再见西城
时间:
2015-3-5 20:49
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
作者:
谁可相欹
时间:
2015-3-5 23:34
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
作者:
乐观
时间:
2015-3-9 23:55
虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。
作者:
兰色精灵
时间:
2015-3-12 09:58
直到学习Linux这门课以后,我才知道,原来我错了。?
作者:
若相依
时间:
2015-3-19 19:49
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
作者:
活着的死人
时间:
2015-3-31 06:52
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
作者:
海妖
时间:
2015-4-21 16:27
笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机
作者:
金色的骷髅
时间:
2015-4-26 01:10
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
作者:
山那边是海
时间:
2015-4-26 06:11
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。
作者:
变相怪杰
时间:
2015-4-26 16:45
学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。
作者:
小魔女
时间:
2015-4-28 23:09
我是学习嵌入式方向的,这学期就选修了这门专业任选课。
作者:
老尸
时间:
2015-5-1 00:34
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
作者:
因胸联盟
时间:
2015-5-4 00:29
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
作者:
第二个灵魂
时间:
2015-5-6 06:16
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
作者:
简单生活
时间:
2015-6-11 16:20
选择交流平台,如QQ群,网站论坛等。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2