zoukankan      html  css  js  c++  java
  • 第二章读书笔记

    第二章读书笔记

    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编出的代码模式总体给予了一定的介绍,为我们以后的学习打下必要的基础

  • 相关阅读:
    UE4 Abc 批量导入
    UE4源码摘录(424)
    JZ10 矩形覆盖
    JZ27 字符串的排列
    JZ66 机器人的运动范围
    JZ65 矩阵中的路径
    JZ12 数值的整数次方
    JZ37 数字在升序数组中出现的次数
    JZ6 旋转数组的最小数字
    JZ67 剪绳子
  • 原文地址:https://www.cnblogs.com/chuishi/p/5299194.html
Copyright © 2011-2022 走看看