linux内核源码的阅读顺序

corro 2008-05-19 10:28:29
内存管理,文件系统,块设备,字符设备这些部分,那些在实际开发中用的比较多(嵌入式中哦),那个更重要些,应该侧重哪一部分,现在在看linux内核完全剖析,讲得是0.11的,2.60的已经改了很多了,不知道看这还有什么意义了,进程调度基本都变了,文件系统也不同了,内存管理早都改了,不知道该不该继续下去了,大家给个建议吧,谢谢了
还有就是嵌入式系统在工业控制中都有那些应用,要怎么学习,是不是要有自动化,电子,机械方面的知识哦
...全文
458 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
crepso1007 2008-05-24
  • 打赏
  • 举报
回复
关键还是实践 从调试解决bug中提高会快很多。
Erorr 2008-05-24
  • 打赏
  • 举报
回复
建议先不看,用到的时候再看
Linux_Android 2008-05-21
  • 打赏
  • 举报
回复
学习
xk306 2008-05-21
  • 打赏
  • 举报
回复
学习
jake1121 2008-05-21
  • 打赏
  • 举报
回复
可以先看看整个内核的模块组成结构。
再看你从事哪方面的开发。
一般嵌入式对于驱动和网络(如果有这部分功能的话)两部分做的工作比较多。
对内存管理,进程管理和文件系统部分的修改比较少。

学习驱动开发最好就是自己去写一个驱动。
当你完整写好一个驱动,至少能对驱动的工作原理有一个大概了解。

上层与内核通讯的方法也看看,如proc,netlink等。
对于开发和调试都很有用。
jimzuo 2008-05-21
  • 打赏
  • 举报
回复
多实践,做的多了就知道哪里欠缺了,我是给KernelPanic,OOP这些东西一路带过来的。毕竟我们不是做理论研究的,真正的知识都是自己体会出来的,读书可以给你提供一些新的方法和思路,重要的是自己还是要实践。
whoami17 2008-05-20
  • 打赏
  • 举报
回复
基本上都重要,主要看你所用的系统的侧重点是什么。
happy381 2008-05-20
  • 打赏
  • 举报
回复
学习,很好,坚持

往往胜利都是再坚持一会以后.
honggaoyan 2008-05-20
  • 打赏
  • 举报
回复
都得好好 看啊
共计8个压缩包 本压缩包是:part01.rar 出版社:人民邮电出版社 ·页码:368 页 ·出版日期:2008年 ·ISBN:7115187118/9787115187116 ·条形码:9787115187116 ·包装版本:1版 ·装帧:平装 ·开本:16 ·中文:中文 ·附带品描述:附光盘一张 ·市场价格:49元 内容简介 Linux内核Linux操作系统中最核心的部分,用于实现对硬件部件的编程控制和接口操作。《Linux2.6内核标准教程》深入、系统地讲解了 Linux内核的工作原理,对Linux内核的核心组件逐一进行深入讲解。 全书共8章,首先讲解Linux系统的引导过程;然后对Linux内核的3大核心模块——内存管理、进程管理、中断和异常处理进行了深入的分析; 在此基础上,对时间度量、系统调用进行了分析和讨论;最后讲解了Linux内核中常见的同步机制,使读者掌握每处理器变量和RCU这两种新的 同步机制。 《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么研究Linux内核 2 1.1.1 Linux的历史来源 2 1.1.2 Linux的发展现状 3 1.1.3 Linux的前景展望 3 1.2 选择什么版本进行研究 3 1.3 内核基本结构 4 1.3.1 内核在操作系统中的地位 4 1.3.2 Linux 2.6内核源代码目录树简介 5 1.3.3 Linux 2.6内核的新特性 8 1.4 如何阅读本书 9 1.4.1 内核探索工具 10 1.4.2 推荐阅读方法 12 第2章 引导过程分析 14 2.1 内核镜像的构建过程 15 2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统最终初始化 47 2.3 系统引导过程总结 47 第3章 内存管理 50 3.1 基础知识 51 3.1.1 存储器地址 51 3.1.2 分段机制 52 3.1.3 分页机制 59 3.2 内核页表的初始化过程 65 3.2.1 启用分页机制 65 3.2.2 构建内核页表 68 3.3 物理内存的描述方法 76 3.3.1 内存节点 77 3.3.2 内存区域 81 3.3.3 物理页框 85 3.4 物理内存的初始化过程 86 3.4.1 探测系统物理内存 87 3.4.2 初始化内存分配器 89 3.5 物理内存的分配与回收 101 3.5.1 伙伴分配算法 101 3.5.2 对象缓冲技术 103 3.6 内核地址空间 105 3.6.1 常规映射地址空间 105 3.6.2 固定映射地址空间 107 3.6.3 长久内核映射空间 109 3.6.4 临时内核映射空间 116 3.6.5 非连续映射地址空间 119 第4章 进程管理 128 4.1 进程与线程的概念 129 4.1.1 程序与进程 129 4.1.2 进程与线程 129 4.2 进程描述符 131 4.2.1 进程标识符 132 4.2.2 进程的状态 132 4.2.3 进程上下文 134 4.2.4 当前进程 139 4.3 进程的组织形式 143 4.3.1 进程标识符构成的哈希表 143 4.3.2 所有进程构成的双向链表 148 4.3.3 执行态进程组成的运行队列 149 4.3.4 阻塞态进程组成的等待队列 152 4.4 进程的创建过程 155 4.4.1 进程创建的接口函数 156 4.4.2 进程创建的处理过程 162 4.5 进程调度算法 177 4.5.1 进程的分类 178 4.5.2 进程优先级 178 4.5.3 时间片分配 181 4.5.4 进程调度时机 182 4.6 进程切换过程分析 183 4.6.1 选取合适进程 183 4.6.2 完成上下文切换 184 4.7 空闲进程的初始化 187 4.7.1 空闲进程的内核态栈 187 4.7.2 空闲进程的内存描述符 188 4.7.3 空闲进程的硬件上下文 190 4.7.4 空闲进程的任务状态段 190 第5章 中断和异常 192 5.1 基础知识 193 5.1.1 中断和异常的定义 193 5.1.2 中断和异常的分类 193 5.1.3 中断和异常的对比 194 5.2 处理机制 195 5.2.1 IA32架构下的处理机制 195 5.2.2 Linu

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧