大家好,今天小编关注到一个比较有意思的话题,就是关于深入linux内核学习交流的问题,于是小编就整理了4个相关介绍深入Linux内核学习交流的解答,让我们一起看看吧。
不懂汇编可以学Linux内核吗?
1.汇编占kernel的极少部分。看你希望学习哪一块了。本人认为不影响你学习kernel,即便是汇编也是嵌入到c语言的汇编,所以不用担心。
2.汇编并不是一个非常苦难的东西。只要你熟悉 计算机体系结构,程序的基本原理(函数堆栈,内存寻址),然后找一下官方的指令手册,一行一行慢慢看,慢慢就熟悉了!
为什么要学习Linux内核?
1 学习一些操作系统的理论知识,一些概念。比如:进程,内存管理,文件系统等等。
关于这一方面的书籍太多了,自己找一本就行了2 学习x86汇编,虽然linux用的是AT&T汇编,但二者只是格式不同而已。
而且学习x86汇编有助于了解x86系统结构。书籍推荐王爽的《汇编语言》 ,我学的时候用的不是这个,后面看到这本书,才觉得自己做了“苦功了”。
学完大部分汇编指令时,找些汇编程序读读,熟悉这些指令的用法。
不需要有写汇编程序的能力,能读就行了,当然会写更好3 赵炯的《Linux内核0.11完全注释》。
这个linux内核版本低,作者也讲得很详细。不过关于x86体系的那一部分,作者讲得很繁琐,这一部分一定要大体看懂,那后面章节的内容就没有多大的问题了。
我先把书通看了一遍,用了1个月的时间。
后来,再返回来一个一个研究,用了2个月。
之所以看这本书,是让自己对内核有个实质的感受,不仅仅只是理论上的东西。
4 毛德操的《linux内核情景分析》。linux内核版本2.4.0,这本书很厚,上下两册。
linux下如何实现两个内核线程之间的通信?
线程间通信就是通过全局变量啊,线程之间没有“通信”的说法吧,不管有几个线程,它们都是在同一个进程地址空间内,都共享同样的内存空间,所以“通信”的说法才多见于进程之间,因为不同的进程才是不同的内存地址空间。进程内的变量每个线程都是可以访问的,是共享的,但是线程之间没有固定的执行顺序,为避免时序上的不同步问题,所以线程之间才会需要同步机制。线程之间的重点就是同步机制。
linux下如何实现两个内核线程之间的通信?
线程间通信就是通过全局变量啊,线程之间没有“通信”的说法吧,不管有几个线程,它们都是在同一个进程地址空间内,都共享同样的内存空间,所以“通信”的说法才多见于进程之间,因为不同的进程才是不同的内存地址空间。进程内的变量每个线程都是可以访问的,是共享的,但是线程之间没有固定的执行顺序,为避免时序上的不同步问题,所以线程之间才会需要同步机制。线程之间的重点就是同步机制。
到此,以上就是小编对于深入linux内核学习交流的问题就介绍到这了,希望介绍关于深入linux内核学习交流的4点解答对大家有用。