大家好,今天小编关注到一个比较有意思的话题,就是关于linux内核学习计划教程的问题,于是小编就整理了4个相关介绍Linux内核学习***教程的解答,让我们一起看看吧。
Linux、Ubuntu怎样入门?
目前我也在学习linux,说说我的感悟吧。
在接触linux之前我学习的是单片机了解大概硬件的操作,同学说只是配置寄存器的话太low了去接触linux,学习linux时我是先接触命令的,当时学习的时候还是蛮有意思,就像传说中的黑客一样,说个题外的话当初看个电影叫什么“侏罗纪公园2“,那里面有个控制全局的电脑高手,我记得他好像输入ls这个命令就列出所有被龙破坏的地点,说来就有点觉得***。我学的命令是在网易上搜索“李明老师的课程”,这里不是打广告,这个课程不但是免费的,而且讲的非常详细,一节课大概接近1个小时甚至1h+,把基本原理都说的很清楚,这里做个配图:
当然这是以运维的方向来讲的,但是在linux的入门已经足够了,还有一点就是linux的版本有点低,不过不影响。里面还有服务器的配置以及shell脚本。
基本常用的命令用熟练后,可以进入下一步了,我学习的是嵌入式方向,所以我还得去学习计算机方面的知识,包括c++,c,数据结构,计算机网络,操作系统原理,汇编原理,这些知识在嵌入式方面是必学的,当我学完操作系统原理后,就对什么是线程,进程有了进一步的了解,华为再发布那个手机涡轮的强大功能就号称单线程胜多线程,到现在才理解是什么意思,哈哈这就是技术的魅力哈。
上面说的各个学科在工作方面的其实就是基础,进入工作后,若是做开发的,会进一步的接触到多线程,多进程的编程,以及网络编程,makefile等等。目前我处于学习课本的基础阶段,令我最深刻的感悟就是上面的基础不扎实,确实遇到很大的麻烦,每天都要回家看书。
若是学的差不多了,可以进一步的深入学习,那就是真的是没什么书可以看的了,想把技术学好就去看看linux内核的源代码地址就是***.kernel.org好像是这个地址,我没看过,听朋友说里面有很多很经典的结构,比如最基本的二叉树,平衡树都是常见的,最好还是把汇编学一学,了解操作系统的启动代码等等。
对于向大数据方面的研究,我不是做这一行的所以不清楚,但是是嵌入式的话,基本的路线就是这样,其实学到一定的境界了,可以去接触一下cpu是如何制作的相关的书籍,好像和vhdl语言有关系,这个时候就对芯片的架构有了整体的把握,进一步的解析操作系统的各个内核结构或许有更大的帮助,或许自己可以开发一个小的操作系统,有本书叫“30天自制操作系统”还可以,可以去学学。
不懂汇编可以学Linux内核吗?
1.汇编占kernel的极少部分。看你希望学习哪一块了。本人认为不影响你学习kernel,即便是汇编也是嵌入到c语言的汇编,所以不用担心。
2.汇编并不是一个非常苦难的东西。只要你熟悉 计算机体系结构,程序的基本原理(函数堆栈,内存寻址),然后找一下官方的指令手册,一行一行慢慢看,慢慢就熟悉了!
如何学习嵌入式linux?
stm32确实是一个瓶颈。而且现在毕业的相关[_a***_]的学生越来越多,stm32的技术门槛和知识点确实相对容易掌握。那么在主流的电子行业对嵌入式的需求是比较大的。主要是在于Linux的广泛运行。哪怕是安卓系统也是可以运行在Linux相同的电路开发板上的。
开发板的话就不好推荐了,有点像广告了。
学习Linux分为两个大方向,底层驱动和上层运用,这也是操作系统的特点。底层涉及驱动系列,对于硬件有比较直接的相关性。而应用几乎和硬件没他大的关系,主要掌握的是如何使用Linux操作系统,涉及各种指令,可以看 很多Linux运用的书籍。进而写一些基于Linux GCC的程序来熟悉这个。可以玩一玩树莓派板子,这个资料比较多,可玩性,掌握知识是很有帮助的。最近出了新版的,可以备一个用来学习Linux。
而底层是比较枯燥的,需要投入比较多。主要是驱动层比较难,所以需求很多,不愁找不到工作。仅仅会单片机已经确实不太有很大的竞争力了。底层需要掌握很多知识,随便去买一个比较流行的开发板就行了,主要是资料多,不懂的好找到人来问。否则自己一个人遇到卡壳的就很慢了。可以看看原子的,stm32你应该知道他很出名,打算出Linux开发板了。
我目前只会各类单片机及电路板的设计,当然也自学了服务器后端的简单使用,以及网站前端开发,android app开发,IOS还没怎么学,时间不那么丰富。你趁着毕业前三年的业余时间,学习一下是很不错的,时间相对多一点,但是也需要靠自觉性,毕竟你的同事可能都在打游戏,你能坚持走下去吗?
技术工作是非常枯燥的,希望你能有找到自己的方向,多积累,多思考。
嵌入式Linux其实范围很广,只以我个人经验简单说说。
我们简单的把嵌入式Linux开发工作分成几类:
Bootloader层开发
驱动层开发
应用程序开发
其中:
Bootloader层开发和Linux关系不太大,一般用汇编语言+C语言,更类似单片机开发
如何学习Android上的linux kernel,从哪学起,怎么样循序渐进地看不同的部分?
不清楚楼主从事哪方面的工作,一般做Android系统剪裁或者驱动开发, 需要学习内核部分。
我的想法,可以从2方面进行。
1. 研究一下linux内核 0.1版
此版是学习linux系统原理的经典,只有几百K。
可以自己尝试编译运行linux 0.1版,以下是别人的分享
***s://mapopa.blogspot***/2008/09/linux-0.html
通过此版的研究(虽然功能单一),你能对操作系统有进一步的理解。
2. 研究Android内核
从加电power on启动流程分析 入手,然后到init进程,然后到binder,匿名内存共享等学习。
一步一个脚印,做好笔记,提升肯定会很快。
到此,以上就是小编对于linux内核学习***教程的问题就介绍到这了,希望介绍关于linux内核学习***教程的4点解答对大家有用。