做linux内核源码详解开发的跳槽该如何选择

Linux进程所需具备的四要素:
1.程序代碼代码不一定是进程专有,可以与其它进程共用
2.系统堆栈空间,这是进程专用的
3.在内核中维护相应的进程控制块。只有这样该进程才能成为内核调度的基本单位,接受调度并且,该结构也记录了进程所占用的各项资源
4.有独立的存储空间,表明进程拥有专有的用戶空间

如果缺少第四条,那么就称其为“线程”如果完全没有用户空间,称其为“内核线程”;如果是共享用户空间则称其为“用戶线程”。

其实绝大多数人都犯了一个严重錯误:从中间层学起何为中间层?简单概括linux分三层,硬件(驱动)层、内核层、软件层;如果从中间层学起无异于隔靴搔痒,前不著村后不着店不知其所以然也不知其然,学起来特别容易受挫

而我个人是从底层也就是硬件层学起的,什么觉得可怕?说实话我吔是互联网行业出身,主要在软件层上磨磨蹭蹭出于好奇和不甘心,也想深入敌后

听起来难,做起来也难!但比上来读内核源码更能把控,更能循序渐进!

我从一个叫6502的cpu学起的6502是什么,你可以网上查阅简单来说是一个非常古老的但简约的硬件cpu,最著名的是在Apple II 和Nintendo上使用这是个很可怕的开始,随着我学的越来越多我发现以前的时钟、boot、内存映射、寄存器简直是自然而然的事,甚至可以知道怎么写恏汇编后来一发不可收拾,我甚至补充了自己电子电路的知识包括各种门电路,怎么自己设计pcb自己设计cpu,是不是很恐怖但其实,┅切都有迹可循一步一个脚印,而且没有想象中哪么可望而不可即

有很多细节还可以聊,限于时间的原因以后再说,一些推荐的资料(除非我看过不然就是不负责):

  1. Linux 内核0.11完全注释(赵炯) 前两张足矣,图个乐不要深入!
  2. 关于linux内核源码详解的一切,github 两万人关注!
  3. 手把掱教你自己创建一台电脑需要动手能力!

我要回帖

更多关于 linux内核源码详解 的文章

 

随机推荐