• 第二章读书笔记


    第二章读书笔记

    git工具使用获取内核代码

    本质:git实际上是一种开源的分布式版本控制工具

    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

    1:查看邮件或者通过其它方式查看一般开发者的提交状态。

    2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

    3:向公共服务器提交结果,然后通知所有开发人员。

    优点:

    1 适合分布式开发,强调个体。

    2 公共服务器压力和数据量都不会太大。

    3 速度快、灵活。

    4 任意两个开发者之间可以很容易的解决冲突。

    5 离线工作。

    缺点:资料少(起码中文资料很少)。学习周期相对而言比较长。不符合常规思维。代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

    内核源码结构

    主要介绍有:

    Documentation:这个目录下面没有内核代码,只有很多质量参差不齐的文档,但往往能够给我们提供很多的帮助。

    arch:所有与体系结构相关的代码都在这个目录以及include/asm-*/目录中,Linux支持的每种体系结构在arch目录下都有对应的子目录,而在每个体系结构特有的子目录下又至少包含3个子目录。

    kernel:存放支持体系结构特有的诸如信号量处理和SMP之类特征的实现。

    lib:存放体系结构特有的对诸如strlen和memcpy之类的通用函数的实现。

    mm:存放体系结构特有的内存管理程序的实现。

    等等

    编译内核

    make config:遍历所有配置项,并让用户选择

    make deconfig:按默认的配置

    make oldconfig:先将/boot目录下的配置文件写进.config文件中,采用的是注释的形式写进新增加的功能。

    内核开发特点

    1 无libc库/标准头文件

    2 必须使用GNU C

    3 没有内存保护机制

    4 难以执行浮点运算

    5 每个进程只有一个很小的定长堆栈

    6 必须时刻注意同步和并发

    7 考虑可移植性的重要性

    总结:

    本章主要介绍的是关于linux内核的一些基本工具的使用以及怎么配置的问题,也为总体介绍了Linux的一些主要特点以及在使用中经常用到以及关注到的小问题

    对于linux内核,C编出的代码模式总体给予了一定的介绍,为我们以后的学习打下必要的基础

  • 相关阅读:
    Eclipse 开发过程中利用 JavaRebel 提高效率
    数字转化为大写中文
    网页变灰
    解决QQ截图无法在PS中粘贴
    ORACLE操作表时”资源正忙,需指定nowait"的解锁方法
    网页常用代码
    SQL Server 2000 删除注册的服务器
    GridView 显示序号
    读取Excel数据到DataTable
    清除SVN版本控制
  • 原文地址:https://www.cnblogs.com/chuishi/p/5299194.html
Copyright © 2020-2023  润新知