仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 914|回复: 15
打印 上一主题 下一主题

[其他Linux] Linux编程:成为Linux内核妙手的四个办法仓酷云

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你让他去用linux搭建一个web服务器,做一个linux网关,他就什么都不会了.他们把时间都浪费在了版本的转换上了.
我已经问他人怎样入手下手内核编程的进修,他们基础上都说:①假如你不必要懂得内核是怎样为你事情的,你为什么要实验呢?②你应当定阅Linux内核邮件列表,然后勉力往了解。③假如你不往编写针对Linux内核的代码,你就是在华侈工夫。
这些对我一点儿匡助都没有。以是我在这里枚举了一些可行的办法,他们是有关操纵体系和Linux内核是如何在你的项目里事情的,并且还很风趣。固然我晓得得其实不多,但最少比我做这些之前懂得了更多。
关于上面这几个路子,你只必要懂得一些C言语和汇编言语(最少要会复制粘贴)。我会写一些小的C程序,还会用汇编来上课,固然这些我都忘得差未几了。
办法一:编写你本人的操纵体系

这看起来是一个相称可骇的办法。但现实上并非!我是从rustboot这个项目入手下手的,主要的是它已能够事情了。然后我会做一些复杂的事变,好比让屏幕由白色变成蓝色,打印字符到屏幕,延续猎取键盘中止来事情。
MikeOS是我另外一个风趣的入手下手。请记着,你的操纵体系没有需要做得很年夜很专业——假如你可以让它把屏幕色彩由白色变成紫色大概让它打印一首视,你就算乐成了。
你必定会想利用一个仿真器往运转你的操纵体系,好比qemu。OSDevwiki一样是一个很有效的网站——下面有良多你会碰着的罕见的成绩。
办法二:编写写一些内核模块!

假如你已筹办运转Linux了,那末再写一些内核模块就会是相称相称简单的,即便他们甚么都不会做。
这里有一个可以打印“Hello,hackerschool!”到内核日记的模块源代码。它只要18行代码。基础上你只必要编写一个init历程和一个cleanup函数就能够了。我其实不晓得__init和_exit这两个宏命令做了些甚么,可是我会利用他们!
编写一个有必定功效的内核模块是对照难的。我做这个的时分,都是先决意要完成的功效(好比打印一个信息给每个经由内核的数据包),然后归去浏览一些KernelNewbies上的工具,再大批地利用谷歌来搜刮,再复制和粘贴大批的代码来弄分明事实该如何往编写它。这里有几个内核模块的例子,我把他们放在了kernel-module-fun项目里。
办法三:列入一次Linux内核练习!

Linux内核团队介入了GNOME女性拓展练习项目。它是惊人、奇奥而且使人十分兴奋的一个举动。这意味着,假如你是一个女人而且乐意消费三个月工夫在内核开辟上,你就可以介入内核的开辟,而且不必要任何的履历,还能失掉一些待遇(5000美圆)。在KernelNewbies上有关于它的先容。
假如你对此感乐趣,那会长短常值得往请求的——你可以为内核做一个格局化的补钉,这十分风趣。SarahSharp是一个Linux内核开辟职员,她在和谐这个举动并且她自己也长短常热情的。你能够浏览她的这篇博客文章,报告了在第一轮里137个补钉是如何被同意到场到内核中往的。这些补钉也将会是你供应的!检察请求申明!
假如你不是一个女生,那末能够选择GoogleSummerofCode这个类似的举动。(编注:这句话大概会引发女程序员的恶感)
办法四:浏览内核源码

这听起来像是最糟的倡议——“想要往懂得内核是怎样事情的就往看源代码,太蠢了”
但现实上这个办法长短常风趣。你其实不必要懂得统统工具。当碰到没法了解的工具时,我就会感应力所不及,可是我告知人们的时分,每一个人城市说:“嗯,这就是传说中的Linux内核,你不克不及了解很一般!”
我的伴侣Dave比来给了我一个网站LXR,在内里你能够浏览到内核的资本,并且还供应了大批有效的援用链接。好比,假如你想要懂得chmod这个命令的体系挪用,你能够在thechmod_commondefinition页面看到有关于它在Linux内核里的界说!
这里是部分chmod_common的部分代码,个中有一些我写的正文:
<p>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
staticintchmod_common(structpath*path,umode_tmode)
{
structinode*inode=path->dentry->d_inode;
structiattrnewattrs;
interror;
//不晓得这是在干甚么
error=mnt_want_write(path->mnt);
if(error)
returnerror;

对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
只想知道 该用户已被删除
沙发
发表于 2015-1-20 22:22:31 | 只看该作者
期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
莫相离 该用户已被删除
板凳
发表于 2015-1-30 07:14:28 | 只看该作者
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
变相怪杰 该用户已被删除
地板
发表于 2015-1-30 19:49:23 | 只看该作者
随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。
金色的骷髅 该用户已被删除
5#
发表于 2015-1-30 19:50:37 | 只看该作者
选择交流平台,如QQ群,网站论坛等。
山那边是海 该用户已被删除
6#
发表于 2015-2-2 22:13:37 | 只看该作者
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
柔情似水 该用户已被删除
7#
发表于 2015-2-6 21:27:51 | 只看该作者
学习Linux应具备的。[书籍+网络资源]
愤怒的大鸟 该用户已被删除
8#
发表于 2015-2-8 21:45:32 | 只看该作者
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
小妖女 该用户已被删除
9#
发表于 2015-2-10 08:50:58 | 只看该作者
再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。?
第二个灵魂 该用户已被删除
10#
 楼主| 发表于 2015-3-1 02:42:57 | 只看该作者
就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
小魔女 该用户已被删除
11#
发表于 2015-3-4 15:31:59 | 只看该作者
为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?
若天明 该用户已被删除
12#
发表于 2015-3-8 15:28:13 | 只看该作者
永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
乐观 该用户已被删除
13#
发表于 2015-3-17 10:10:26 | 只看该作者
熟读写基础知识,学得会不如学得牢。
因胸联盟 该用户已被删除
14#
发表于 2015-3-17 10:10:28 | 只看该作者
为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
蒙在股里 该用户已被删除
15#
发表于 2015-3-17 10:10:28 | 只看该作者
应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。
海妖 该用户已被删除
16#
发表于 2015-3-24 06:26:34 | 只看该作者
对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-11 19:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表