设为首页 加入收藏

TOP

初探Linux kernel系列
2014-11-24 11:45:20 来源: 作者: 【 】 浏览:0
Tags:初探 Linux kernel 系列

首先阐述一下我为什么想学习一下Linux kernel。最早是因为对嵌入式的一时脑热,我买了开发板,买了不少资料,前前后后投进去了1000多了。不过好歹还是有点回报的,虽然还没有怎么着调,但又似乎拓宽了不小的知识面。


慢慢的我发现,对于从学软件入手的我来说,硬件知识的薄弱是个不容忽视的缺陷,毕竟软硬件间的代沟还是不小的,就像现在的老爹和fashion闺女一样,鸿沟还是忽视不得的。这有点让我望而却步,不过多大的困难都无法阻挡我的前进啊。我对策略稍作调整,因为我发现,嵌入式无论是现在,还是未来一段时间都还是Linux的天下;另外是真正的做Linux的大牛们似乎也都有涉足embedded system 的经历。这就使得仅仅会管理Linux系统和服务,简单的用几个Shell commands ,编译安装几个Linux 应用,读懂几个Makefile …… 根本满足不了需求;另外也为了不让学习的OS知识只是空洞的理论。这都要求着自己必须有编写自己Shell 程序的能力;要求着可以在Linux做程序开发的能力;要求着可以自己往kernel中附加自定义的系统调用、重组内核、添加自写驱动……的能力。这就要求着必须深入了解,正如任何一门技术一样,接触久了你就有种相地层实现挖掘的冲动。


调整后的策略就是先把Linux 这个OS的机制弄明白,才可以迁移定制满足需求的系统,才可以写出高效率的Linux应用。整体路线就是农村包围城市,不断补充必要知识,循序渐进,最终呈现星星之火可以燎原之势。。。额,扯得够远。废话不多说,转来学习笔记再说。


首先介绍一下内核源码的根目录描述:


arch(architecture) 特定体系结构的源码


crypto crypto API


Documention 内核源码文档


drivers 设备驱动程序


fs VFS和各种文件系统


include 内核头文件


init 内核引导和初始化


ipc 进程间通讯代码


kernel 像调度程序这样的核心子系统


lib 通用内核函数


mm 内存管理子系统和VM


net 网络子系统


scripts 编译内核所用到的脚本


security Linux安全模块


sound 语音子系统


usr 早期用户空间代码(所谓的initramfs)


这里只是简单阐述个目录及系统模块分布。随着课程的学习我相信一定可以把它们搞明白是怎么一回事的。


另外,你需要明白一些Linux必备的一些常识性名词解释知识,这里罗列一些名词,不明白的不再一一阐述,自己百度,Google,天涯,搜搜,搜狗,bing,Yahoo…… 去 :管态、目态、内核空间、用户空间、POSIX 、system V 、GNU 、GPL 、GNOME 、KDE、QT 、GTK+、openGL 、shell 、awk 、Makefile 、CC 、GCC 、G++ 、GDB 、Perl……


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇TQ2440烧写Linux系统 下一篇Android 如何用HttpClient 以Get..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·TCP/UDP协议_百度百科 (2025-12-26 12:20:11)
·什么是TCP和UDP协议 (2025-12-26 12:20:09)
·TCP和UDP详解 (非常 (2025-12-26 12:20:06)
·Python 教程 - W3Sch (2025-12-26 12:00:51)
·Python基础教程,Pyt (2025-12-26 12:00:48)