当前位置:  技术问答>linux和unix

大家都是如何学习Linux内核。

    来源: 互联网  发布时间:2016-12-25

    本文导语:  我是一个C#/Jave程序员,作为爱好从今年三初开始学习Linux内核。开始是直接读Linux内核代码,读了几天后,发现实在是无法读懂。后来只好看书,在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动...

我是一个C#/Jave程序员,作为爱好从今年三初开始学习Linux内核。开始是直接读Linux内核代码,读了几天后,发现实在是无法读懂。后来只好看书,在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。现在快三个月了书也看的差不多了,我想开始再读Linux内核代码,不过Linux内核代码函数,参数,变量名字实在是太抽象了,对此现在我还心有余悸(我对无处不在的缩写,和没有namespace非常不习惯)。
不知道大家都是如何学习Linux内核的?有什么没有经验?还有觉得内核那些部分比较难,原因是什么?

|









         看unix的源码分析吧,莱昂氏unix源码分析,

         unix操作系统的设计和实现 .

|

在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。


感觉有点不可意思,能只按概念 写一个简单的OS 的人,在这个版里,没几个人能做到!
反而,看Linux源代码却感觉生涩。Linux最难的部分感觉(尤其是对于没有嵌入式经验),应该就是x86下保护模式的编程。
我也是内核新手,不过看了robert love的书,以及啃了大坂本深入理解内核后,反而很多函数名字 参数类型是很亲切的。
但是要我自己写个仿Linux的内核OS,决计做不到。所以对你的言论不可信。

|
linux内核源代码情景分析(上下)不错啊,我也正在学习中。。。。。

|
很多人提议从ldd看起,但linux的精髓并不在驱动。看linux源码,内存管理,进程管理和文件系统是必须过关的,不管你花多长时间,这部分过关,你会觉得自己的突发猛进,对于其他部分的理解帮助非常大;进程才是操作系统的精髓,内存管理为进程提供运行的空间,文件管理为进程提供存储的地方,外设驱动是为延升进程的能力。

|
其实学习内核,只要能坚持下去就行,不懂的地方就上GOOGLE,或者自己看书,比上来请教什么学习方法有用,学习方法人和人是不一样的,你是有经验的人,这个你应该相当了解啊

|
我也正要学内核,我决定先搞linux下的开发,再去读内核。

|
贵在坚持。

|
为什么要读内核……

|
为什么刚开始就去读内核代码呢?
先把Linux操作系统机制弄清楚会好一些。
设备驱动程序占内核代码一半以上,
先把这个东西搞清楚吧。

另外,十分佩服楼主的毅力~

|
学生中,一直都在打基础,打算暑假开始研究研究

|


一句话形容你的心态, 老婆总是别人的好。 呵呵。
任何语言,工具,系统,模式,框架, 都只是工具。

若真是兴趣,你能坚持10年20年吗 ?

盲目的读内核代码是没有意义的,
先读lkd, 了解linux的大体框架,
再读ldd, 了解kernel中常用的api。
再尝试 写驱动,读驱动。 
写自己的内存管理,进程调度,文件系统。
硬件知识也不可少,路漫漫,何其长远,非1日1年之功。

|
先熟悉 linux 环境,然后 shell 编程,再是应用程序,最后再涉足核心


|
路过……

|
赵炯那本内核解析,看那本吧

|
为什么不合ulk和ldd配合着看呢

|
mark
顺便帮lz加加人气、。

|
来帮忙顶顶。来学习学习方法~~~

|
在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。
============================================
别的不说,但看这一句,楼主已经比这个版块百分之九十八的人都厉害了,而且还有那么多年的工作经验,应该

知道怎么去进入一个全新的领域吧?何况这个对你来说也未必是全新的...

所以楼主还是按照自己的方式学下去吧,别来这里征求什么建议了,一群不如你的人,能给你什么有价值的建议吗?(包括我)

|
7楼的兄弟说得很在理,工作中学习,学习中工作,如果只看书只看代码,坚持10年也只能当教授

|
过来分享经验的~~

|
大家都是如何学习Linux内核。[图片]  中文版
为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。CPU与外部世界的所有交互活动都是由内核处理的;哪些程序会分享处理器的时间,以什么样的顺序来分享。内核不遗余力地管理有限的内存,以使数以千计的进程有效地共享系统资源。内核还精心组织数据传送,使得 CPU不再受限于慢速硬盘。
《深入理解Linux内核》第三版将引领你畅游内核中用到的最主要数据结构、算法和编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。
本书第三版涵盖Linux 2.6,从中可以看到几乎内核每个子系统都有相当大的变化,首当其冲的是内存管理和块设备部分。本书集中讨论了如下内容:
●内存管理,包括文件缓冲、进程交换以及直接内存访问(DMA)
●虚拟文件系统层和第二及第三扩展文件系统
●进程创建及调度
●信号、中断及设备驱动程序的主要接口
●定时
●内核中的同步
●进程间通信(IPC)
●程序执行
本书将使你熟悉Linux所有的内在工作机理,但本书不仅仅是一种学术演练。你将了解到什么条件会促使Linux产生最佳性能,你还会看到,Linux在各种环境下如何满足进程调度、文件访问及内存管理期间系统提出的快速响应要求。本书有助于你充分展现Linux系统的魅力。

大家都是如何学习Linux内核。[图片]  影印版

市场价 :¥98.00
普通会员 : ¥88.20
1-3星会员: ¥86.24
4-5星会员: ¥83.30
校园优惠价 :¥86.24(88折) (马上了解) 

    
 
 

您可能感兴趣的文章:

  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?
  • 学习linux网络编程需要学习些内核知识吗?
  • 《Linux内核情景分析》值得推荐的内核学习参考两用资料
  • linux内核中网络模块的学习
  • 有关linux内核的学习
  • 高人指点下内核学习
  • 在哪儿可以报名学习Linux内核编程
  • 紧急求救,内核的学习
  • 如何深入Linux的内核学习?
  • ★★★小弟想学习Linux内核,请问装哪个版本的比较合适?★★★
  • 学习linux内核入门:从哪一部分开始学习?
  • 有没有linux内核学习的QQ群呢?
  • 内核学习,请达人指导
  • 学习LIUNX内核应具备那些知识!!
  • 请教linux的学习,怎么学? 内核开发找什么样的工作?
  • 搞ARM一定要学习Linux内核吗?
  • 请教高手:如何学习内核编程?
  • linux内核学习及工作的提问
  • 怎么学习LINUX的内核呀?
  • 内核学习求教!
  • 我想问一个大家,我现在刚学习LINUX,我想问一下在LINUX学习哪些知识有前途???
  • 新手提问:学习c++同时也想学习unix和linux
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 我想学习linux,请问哪个linux版本适合新手学习,哪里有相关资料下载,谢谢了
  • 你们学习Linux是学习什么的?
  • 我想学习Unix,请高手给个下载网址,用linux来学习Unix差别大吗?
  • 我想学习LINUX,在哪里下手学习,我现在要看什么样的教材?
  • 我是学习web开发的,主要是java开发SSH开发框架和ajax等。我想知道有没有必要学习一下linux相关知识。
  • 找几位刚刚入手学习Linux kernel的人共同学习(0.11 赵炯)
  • 想学习Linux编程 哪里有比较好的讨论区(有学习资源)
  • 学习linux一定要先学习寄存器、汇编等吗
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • PHP介绍及学习网站推荐
  • 想深入学习Java应该学习哪些东西
  • 准备学习docker: docker version命令查看版本
  • 学习c后,学习pb,大家提点建议,谢谢哦
  • HTML 学习总结及下一步学习教程推荐
  • 有最近开始学习Minix的吗?一起来学习吧
  • OpenStack相关学习资料搜集
  • 我想问问哪里有AIX下啊!~版本越新越好!~我想拿来学习学习
  • juqery的python实现:pyquery学习使用教程
  • 学习java好 还是学习嵌入式开发好??
  • 从Delphi开始学习Java,如何学习Java.欢迎大家的光临!
  • 请问学习JAVABEANS是不是就是学习java.beans.*类库??
  • 谁有 电子版 mastering ejb 2e 多谢!!及学习EJB 集合什么实例学习比较快一点?
  • unix下C++代码中如何进行数据库操作?给个完整代码学习学习
  • 学习Java是从基础知识开始学习好还是直接学习JBuilder好?
  • 学习JSP编程的话,JAVA学到什么样的程度可以开始JSP的学习呢?
  • 用java做东西,除了学习java,最重要的还应该学习些什么东西?
  • 想要学习java不知道在win98下能不能学习java?????????????????
  • 刚学习玩纯java语言,没学任何API,接下来该怎么学习?
  • 我准备学习Java,重点在J2EE,高分向大家讨教学习的思路和方法!!!
  • 小弟刚来,只能给100分!请教一下各位:学习UNIX,用什么作为学习的“入门书”?推荐一个作为我的第一本书吧!我最想用FREEBSD!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3