随笔分类 - Linux kernel Travel
对linux内核的理解
摘要:进程和线程是我们平时接触的比较多的两个概念,特别是线程机制,很多语言原生就支持它。前段时间主要演示了下linux下进程和线程的创建,这篇文章对其创建的过程做一个简单的分析,错误之处,还请您斧正。 在linux下,线程其实就是一个轻量级的进程,所以其实现都是通过调用给do_fork函数传入不同的参数实现的。先来看下这几个函数:[代码][代码][代码] 上面的代码中,并没有看到fork()函数的实...
阅读全文
摘要:这个学期,开始接触linux内核,觉得其linux内核的实现机制确实挺有趣的,我个人比较喜欢模块这种设计方式,感觉其极大的扩展了内核,感觉就像是window程序中的动态链接库一样,只有当需要的时候,才会加载进来。 就和人与人之间第一次接触一样,和内核开始打交道,首先还是相互问好(当然,内核跟我们问好,就回馈在它能乖乖的听我的话,把信息正确地输出)。程序很简单,就是在进入内核的时候,打印一个Hel...
阅读全文
摘要:linxu下阅读内核源代码,通常都使用vim + ctags 或者 lxr进行,我个人比较倾向于lxr,因为lxr提供了良好的界面,函数和定义都使用超链接标记出来,可以很方便的跟踪到函数内部去查看详细或者查看数据结构的定义等。网上有现成的网站提供了这样的服务,如果你只是偶尔看看内核源代码的话,其实直接登录某些提供这样服务的网站就差不多了,比如LXR,这个网站提供的体验相当不错,我以前就是经常在这个...
阅读全文
摘要:编译了好几次linux内核了,这次总算是成功了。 先说说我悲惨的编译内核的经历。第一次编译内核的时候,sudo make menuconfig,执行配置内核的时候,提醒我缺少包,于是我用apt去自动装那个包,结果说那个包好像正在被占用,现在不能装。我一想,这简单嘛,我直接把这个已有的包先删除了,然后再装上不就行了?(以前装应用程序的时候也遇到过类似的问题,就是这样解决的)。我看着屏幕上疯狂刷出...
阅读全文