蓉杠学习网

linux内核学习方法交流,《linux内核分析》

大家好,今天小编关注到一个比较意思的话题,就是关于linux内核学习方法交流的问题,于是小编就整理了3个相关介绍Linux内核学习方法交流的解答,让我们一起看看吧。

  1. 未来想从事Linux后台开发,需要学习linux内核吗?像读内核源码。还是学好linux网络编程,C,算法。学习内核的意义有哪些呢?
  2. 如何学习嵌入式linux?
  3. Linux内核开发与Linux驱动开发有什么关系?

未来想从事Linux后台开发需要学习linux内核吗?像读内核源码还是学好linux网络编程,C,算法。学习内核的意义有哪些呢?

如果想从事 Linux后台开发,需要学习 linux内核。但,且听我说完。

学习linux网络编程,如果要学好,也是得学习Linux内核的。

linux内核学习方法交流,《linux内核分析》div>
图片来源网络,侵删)

C,算法这些是作为程序员基础现在几乎任何岗位面试要求算法了。

学习内核的意义不在于做一个操作系统,而是遇到问题的时候明白怎么解决。比如至少是得学习完APUE(Unix环境高级编程)之后,你可能才能感受到学习Linux内核的意义在哪,对于实践工作有何帮助。

但对于一个天天curd的程序员来说,你说学Linux内核干啥,***吗?

linux内核学习方法交流,《linux内核分析》
(图片来源网络,侵删)

在此之前还是先把数据结构、计网、计组、操作系统这些基础学好。

后台不等于内核开发,但了解内核肯定有助于后台开发,内核集精华为大成,理解内核精髓,你就离大咖不远了。

程序逻辑抽取器支持c/c++/esqlc,数据库支持oracle/informix/mysql,让你轻松了解程序干了什么

linux内核学习方法交流,《linux内核分析》
(图片来源网络,侵删)

本站正在举办注解内核赢工具活动,你对linux kernel的理解可以传递给她人。

如何学习嵌入式linux?

嵌入式Linux其实范围很广,只以我个人经验简单说说。

我们简单的把嵌入式Linux开发工作分成几类:

Bootloader层开发

驱动层开发

文件系统搭建

应用程序开发

其中:

Bootloader层开发和Linux关系不太大,一般汇编语言+C语言,更类似单片机开发

stm32确实是一个瓶颈。而且现在毕业的相关专业学生越来越多,stm32的技术门槛和知识点确实相对容易掌握。那么在主流的电子行业对嵌入式的需求是比较大的。主要是在于Linux的广泛运行。哪怕是安卓系统也是可以运行在Linux相同的电路开发板上的。

开发板的话就不好推荐了,有点像广告了。

学习Linux分为两个方向底层驱动和上层运用,这也是操作系统的特点。底层涉及驱动系列,对于硬件有比较直接的相关性。而应用几乎和硬件没他大的关系,主要掌握的是如何使用Linux操作系统,涉及各种指令,可以看 很多Linux运用的书籍。进而写一些基于Linux GCC的程序来熟悉[_a***_]。可以玩一玩树莓派板子,这个资料比较多,可玩性,掌握知识是很有帮助的。最近出了新版的,可以备一个用来学习Linux。

而底层是比较枯燥的,需要投入比较多。主要是驱动层比较难,所以需求很多,不愁找不到工作。仅仅会单片机已经确实不太有很大的竞争力了。底层需要掌握很多知识,随便去买一个比较流行的开发板就行了,主要是资料多,不懂的好找到人来问。否则自己一个人遇到卡壳的就很慢了。可以看看原子的,stm32你应该知道他很出名,打算出Linux开发板了。

我目前只会各类单片机及电路板的设计,当然也自学服务器后端的简单使用,以及网站前端开发,Android app开发,IOS还没怎么学时间不那么丰富。你趁着毕业前三年的业余时间,学习一下是很不错的,时间相对多一点,但是也需要靠自觉性,毕竟你的同事可能都在打游戏,你能坚持走下去吗?

技术工作是非常枯燥的,希望你能有找到自己的方向,多积累,多思考。

Linux内核开发与Linux驱动开发有什么关系?

还没学到驱动,大致的说一下吧,驱动是建立在内核之上来开发的,比如你写了一个驱动的代码,那就要把驱动加载到内核中去,然后内核去执行,为什么需要内核,我个人的理解就是,内核是来管理硬件***的,你写的驱动代码是来驱动硬件的,内核不可能去驱动硬件的,当然包括管理进程,这部分的事情由驱动去做,驱动可以理解为一个进程,内核负责来管理,结构就是:应用程序->内核(比如系统调用write,read等等)->驱动程序(比如write来驱动磁盘来写)。

换句话说就是对于驱动开发,不知道楼主是否学过单片机,可以理解驱动就是一个驱动硬件的过程,就像单片机一样,当然再发过程中还是有很大的区别的。

内核开发,这个工作还真不是一般的人能开发的,不然linux内核的维护就不会给linux之父了,内核的开发就是用一种方法来合理的管理并分配硬件***,比如内存的管理就用到分页的方法,还有一些磁盘的管理,进程的管理,cpu的调度算法(比如简单的FIFO,时间片)等等,在学习内核前做好把操作系统原理看一下,这本书还可以:

我学习的时候结合了国外的操作系统原理第七版,因为这两本书介绍的侧重点有所不同,上图的书注重实践性(相比后一本),后一本注重算法方面。

额。。说偏了哈,反正总有一天楼主估计是想开发内核的,所以建议先把原理学会,还有最基本计算机科学基础知识最好学的扎实点,到时学习内核就不是特别吃力,当然是相比什么都不懂的情况下。

到此,以上就是小编对于linux内核学习方法交流的问题就介绍到这了,希望介绍关于linux内核学习方法交流的3点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.rongung.com/post/31568.html

分享:
扫描分享到社交APP