zoukankan      html  css  js  c++  java
  • Linux读书笔记1/2章

    linux的内核设计:

    第一章

    1.1Linux历史:

    历经时间的考验,今天Unix已经发展成一个支持抢占式多任务、多线程、虚拟内存、换页、动态链接、TCP/Ip网络的现代化操作系统。

    1.2追寻Linux的足迹:

    Linux是类Unix系统,但不是Unix系统;

    Linux是个非商业化的产品;

    Linux系统的基础是:内核、C库、工具集和系统的基本工具;

    1.3操作系统和内核:

    上下文代表着内核的活动范围。

    1.4Linux内核与传统的Unix内核比较:

    操作系统内核可以分为:单内核和双内核;

    不能忽视Unix的API;

    Linux支持加载动态模块;

    Linux支持对称多处理(SMP)机制;

    Linux可以抢占;

    Linux对线程实现更有意思;

    Linux体现了自由这个词的精髓;

    1.5Linux内核版本:

    稳定和出于开发中的;

    1.6Linux开发者社区:

    成为社区中的一员:

    1.7小结:

    去书中寻找快乐吧!

    第二章:

    从内核出发

    2.1获取内核源码:

    登陆Linux内核官网:HTTP:// kernel.org.

    2.1.1使用Git:

    一个副本:

    git clone  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

    下载代码,新的分支:

    git pull

    2.1.2安装内核源代码:

    如果压缩是bzip2:

    tar xvjf linux-x.y.z.tar.bz2

    如果是GNU的zip:

    tar xvzf linux-x.y.z.tar.gz

    注意:/usr/src/linux应该原封不动

    2.1.3使用补丁:

    patch -p1 < ../patch-x.y.z

    2.2内核源码树:

    2.3编译内核

    2.3.1内核配置:

    字符界面工具:

    make config

    图形界面工具:
    make menuconfig

    基于gtk的图形工具:

    make defconfig

    验证更新配置:

    make oldconfig

    最后:

    make

    2.3.2减少编译的垃圾信息:
    重定向:

    make > .. /detritus

    无返回值的黑洞:
    make > /dev/null

    2.3.3衍生多个编译作业:

    多作业编译内核:

    make jn

     2.3.4安装新内核:

    make modules_install

    2.4内核开发的特点:

    1.内核开发时既不能访问C库也不能访问标准的C头文件

    2.内核编程时必须使用GNU C

    3.内核编程时缺乏像用户空间那样的内存保护机制

    4.内核编程时难以执行浮点运算

    5.内核给每个进程只有一个很小的定长堆栈

    6.由于内核支持异步中断、抢占和SMP,必须时刻注意同步和并发

    7.要考虑可移植性的重要性

    2.5小结:
    内核有独一无二的气质,只有通过实际的理解和阅读才能理解内核。

  • 相关阅读:
    【模板时间】◆模板·III◆ 单调子序列
    【学时总结】◆学时·VII◆ 高维DP
    【例题收藏】◇例题·IV◇ Wooden Sticks
    【赛时总结】◇赛时·VI◇ Atcoder ABC-104
    【例题收藏】◇例题·III◇ 木と整数 / Integers on a Tree
    【学时总结】◆学时·VI◆ SPLAY伸展树
    【模板时间】◆模板·II◆ 树链剖分
    【赛时总结】◇赛时·V◇ Codeforces Round #486 Div3
    【例题收藏】◇例题·II◇ Berland and the Shortest Paths
    【例题收藏】◇例题·I◇ Snuke's Subway Trip
  • 原文地址:https://www.cnblogs.com/20135314ZHU/p/5284870.html
Copyright © 2011-2022 走看看