大家好,今天小编关注到一个比较有意思的话题,就是关于linux内核学习视频的问题,于是小编就整理了3个相关介绍Linux内核学习***的解答,让我们一起看看吧。
为什么要学习Linux内核?
1 学习一些操作系统的理论知识,一些概念。比如:进程,内存管理,文件系统等等。
关于这一方面的书籍太多了,自己找一本就行了2 学习x86汇编,虽然linux用的是AT&T汇编,但二者只是格式不同而已。
而且学习x86汇编有助于了解x86系统结构。书籍推荐王爽的《汇编语言》 ,我学的时候用的不是这个,后面看到这本书,才觉得自己做了“苦功了”。
学完大部分汇编指令时,找些汇编程序读读,熟悉这些指令的用法。
不需要有写汇编程序的能力,能读就行了,当然会写更好3 赵炯的《Linux内核0.11完全注释》。
这个linux内核版本低,作者也讲得很详细。不过关于x86体系的那一部分,作者讲得很繁琐,这一部分一定要大体看懂,那后面章节的内容就没有多大的问题了。
我先把书通看了一遍,用了1个月的时间。
后来,再返回来一个一个研究,用了2个月。
之所以看这本书,是让自己对内核有个实质的感受,不仅仅只是理论上的东西。
4 毛德操的《linux内核情景分析》。linux内核版本2.4.0,这本书很厚,上下两册。
linux下如何实现两个内核线程之间的通信?
线程间通信就是通过全局变量啊,线程之间没有“通信”的说法吧,不管有几个线程,它们都是在同一个进程地址空间内,都共享同样的内存空间,所以“通信”的说法才多见于进程之间,因为不同的进程才是不同的内存地址空间。进程内的变量每个线程都是可以访问的,是共享的,但是线程之间没有固定的执行顺序,为避免时序上的不同步问题,所以线程之间才会需要同步机制。线程之间的重点就是同步机制。
uboot是怎样从nand加载linux?
一般是开发过程中是先把uboot载到nor中,然后通过nor中的uboot再把uboot跟linux内核,根文件系统下到nandflash,它的最终位置应该是在nandflash。
至于nor跟nand有什么区别,nor里面的代码可以直接运行,不需要加载到RAM(内存),而nandflash里面的代码需要加载到RAM才能运行,nor的速度没有ram快,所以一般最终版本的代码应该下载到nand,系统启动的时候会自动拷贝nand里面的前面4k代码到ram中,你这4k的代码必须完成硬件初始化并且把其余的代码全部拷贝到ram中,ram运行速度当然比nor快,这就是为什么最终版本的代码应该放在nand的原因。
到此,以上就是小编对于linux内核学习***的问题就介绍到这了,希望介绍关于linux内核学习***的3点解答对大家有用。