大家好,今天小编关注到一个比较有意思的话题,就是关于怎样学习linux源码交流的问题,于是小编就整理了5个相关介绍怎样学习Linux源码交流的解答,让我们一起看看吧。
- Linux下如何编译Android源码~~~?
- linux下如何获取软件源码?
- 未来想从事Linux后台开发,需要学习linux内核吗?像读内核源码。还是学好linux网络编程,C,算法。学习内核的意义有哪些呢?
- 需要多久才能看完linux内核源码?
Linux下如何编译Android源码~~~?
1.在Linux设置文件共享,将项目共享,最好有个密码什么的。
2.在Linux上配置ssh server,用于和编译安卓源码3.Linux mac 通过连接,原因是有线传输比无线的快很多,ping只是0.3左右ms,不影响使用。然后就可以mac编写代码,然后ssh编译什么的,很方便,
linux下如何获取软件源码?
以redhat为例
软件包以rpm结尾的已经打包的文件,我不知道怎么看
但是linux有很多开源的软件,都是以压缩文件形式发布的,如tar,tar。gz。gz2,bz
未来想从事Linux后台开发,需要学习linux内核吗?像读内核源码。还是学好linux网络编程,C,算法。学习内核的意义有哪些呢?
如果想从事 Linux后台开发,需要学习 linux内核。但,且听我说完。
学习linux网络编程,如果要学好,也是得学习Linux内核的。
C,算法这些是作为程序员的基础,现在几乎任何岗位面试都要求算法了。
学习内核的意义不在于做一个操作系统,而是遇到问题的时候明白怎么去解决。比如至少是得学习完APUE(unix环境高级编程)之后,你可能才能感受到学习Linux内核的意义在哪,对于实践工作有何帮助。
但对于一个天天curd的程序员来说,你说学Linux内核干啥,***吗?
在此之前还是先把数据结构、计网、计组、操作系统这些基础学好。
后台不等于内核开发,但了解内核肯定有助于后台开发,内核集精华为大成,理解内核精髓,你就离大咖不远了。
程序逻辑抽取器支持c/c++/esqlc,数据库支持oracle/informix/mysql,让你轻松了解程序干了什么。
本站正在举办注解内核赢工具活动,你对linux kernel的理解可以传递给她人。
作为一名学生,是否应该去花较多的精力看linux内核的源码?
我觉得有时间的话是可以看看的
首先,题主是一名大三的学生,即将会面临找工作的问题,而且根据问题中提到的内容,我猜测可能选择的方向是WEB后端开发,那么在面试过程中对于深层次的问题是一定会被提及的,因为基础的大家都会,所以这时候都学习和了解是尤为重要的,至于是否要自己造轮子,这个对于你现在的情况,估计短时间内不会接触到。WEB开发对效率往往要求很高,需要在短时间内就要上线产品抢占市场,所以很少会有自己造轮子的时候,当然也不是永远都用不到
其次,相信很多已经参加工作的人都多多少少会有这种感觉:参加工作之后,学习的热情会不断的降低,工作时间越长,接触新知识越难,题主还是大三,而且还这么有探索精神,所以还是学学的好。
需要多久才能看完linux内核源码?
linux内核不需要看完,分分类,选几个必须看的研究一下,多数不需要看。
内存管理,管理,进程管理,进程调度,设备管理,inode数据结构等是必修的,设备驱动看俩代表性的,串口的,[_a***_]的, 磁盘的。文件系统看一个意思一下,文件系统很多,代码太多一辈子都看不完。中断管理要多看看,涉及到很多定时,包括进程调度。
当年我花一学期陆陆续续看完所以unix内核代码,但那时的代码少,就2,3万行,现在linux全部内核一辈子也看不完。
我敢说,没有一个人把最新linux内核代码看完过,即便linus本人,也不会把内核每个部分了解得很清楚,太庞大了。
作为一个读过2.4代码和ucos II内核的过来人,读代码的目的是什么?是为了了解一个内核各个模块是如何具体实现的,比如内核如何引导的,如何从实模式切换到虚模式,内存如何分配管理的,文件系统是如何实现的,进程是如何管理调度的,中断又是如何实现的,驱动模型是什么样子。学习内核,最好结合前人的分析、一些书籍,在自己结合代码看,这样梗高效,目的是为了理解机制,和代码实现,不需要理解每行代码。国内计算机专业,理论和实践脱节了,尤其操作系统这类基础课,讲了进程管理,却不会讲具体如何实现,不过大学老师没几个能结合实际内核讲,都是照本宣科。
建议先读读ucos,代码量小,可以很深入了解进程和内存管理的实际实现,和各种锁的实现机制,尤其它进程调度算法,太经典了。
Linux内核分为CPU调度、内存管理、网络和存储四大子系统,针对硬件的驱动成百上千。代码的数量更是大的惊人。看看最新的关于内核代码量的统计。
从图中可以看出,2020年1月份,内核的代码量大约是2千6百万行。回忆你一下你一天能看懂多少代码?反正我自己觉得自己一辈子都看不完Linux内核的代码。
其实阅读代码无非是为了学习代码中有用的内容,所以,我们没有必要阅读所有的代码,只需要阅读关键的代码,或者说对自己有用的代码。
由于内核分为四大子系统,因此我们可以选择自己相关的子系统来阅读。比如你是做存储相关的,可以阅读存储栈相关的代码,如果你是做网络的,你可以做网络相关的代码。
对于代码阅读方法从两个角度来介绍,一个方面是需要选择一个比较有效阅读代码的工具,这样能辅助我们来理解代码;另外一个方面是先阅读基础代码,比如链表,自旋锁等等。
当然,Linux内核确实博大精深,想要一下子搞明白是不可能的。
有些人推荐先阅读一些低版本的内核,比如0.01版的,总代码量才1万行左右。阅读这个代码大概一个月应该能比较清晰了。但是,改代码与现在的代码差异巨大,阅读后可以理解基本思想,但对理解现有代码的帮助不是特别明显。所以,还是要根据自己的需求来选择性的阅读比较好。
linux 0.11的内核源码,结合下面这本书,我花了大概一个寒***(1个半月),看了一遍。
然而,现在的内核已经膨胀的不成样子了,以还不算最新的linux-4.9.229为例:
整个内核源码一共约 801M:
驱动代码占了大概一半,大约407M:
体系相关的代码大约164M:
网路子系统相关的代码29M:
文件系统相关的代码38M:
linux内核核心代码大约7.7M:
但是就这7.7M,其实你要完全看完看懂也不容易。linux内核代码涉及c语言、硬件组成原理、操作系统、数据结构和算法等,这些基础知道你都具备了吗?如果没有具备,即使看完linux内核源码,你也看不懂liux内核的精髓。
如果你的目标仅仅是看完,内核源码2000+万行,你给自己你个目标每天看多少行吧!而如果不要完全看懂这二千万行代码,恐怕要花掉你这一辈子光阴,都不一定能达成目标。
到此,以上就是小编对于怎样学习linux源码交流的问题就介绍到这了,希望介绍关于怎样学习linux源码交流的5点解答对大家有用。