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小结:
内核有独一无二的气质,只有通过实际的理解和阅读才能理解内核。

Linux读书笔记1/2章的更多相关文章

  1. # linux读书笔记(3章)

    linux读书笔记(3章) 标签(空格分隔): 20135328陈都 第三章 进程管理 3.1 进程 进程就是处于执行期的程序(目标码存放在某种存储介质上).但进程并不仅仅局限于一段可执行程序代码( ...

  2. linux读书笔记(5章)

    linux读书笔记(5章) 标签(空格分隔): 20135328陈都 第五章 系统调用 5.1 与内核通信 系统调用 让应用程序受限的访问硬件设备 提供创建新进程并与已有进程通信的机制 提供申请操作系 ...

  3. linux读书笔记第三章

    第3章 进程管理20 3.1 进程20 进程就是处于执行期的程序(目标码存放在某种存储介质上),但进程并不仅仅局限于一段可执行程序代码.通常进程还要包含其他资源,像打开的文件,挂起的信号,内核内部数据 ...

  4. Linux读书笔记第五章

    主要内容: 什么是系统调用 Linux上的系统调用实现原理 一个简单的系统调用的实现 1. 什么是系统调用 简单来说,系统调用就是用户程序和硬件设备之间的桥梁. 用户程序在需要的时候,通过系统调用来使 ...

  5. 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度

    <Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...

  6. 《Linux内核设计与分析》第六周读书笔记——第三章

    <Linux内核设计与实现>第六周读书笔记——第三章 20135301张忻估算学习时间:共2.5小时读书:2.0代码:0作业:0博客:0.5实际学习时间:共3.0小时读书:2.0代码:0作 ...

  7. 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度

    20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...

  8. 《Linux内核分析》读书笔记(四章)

    <Linux内核分析>读书笔记(四章) 标签(空格分隔): 20135328陈都 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行 ...

  9. 《LINUX内核设计与实现》第三周读书笔记——第一二章

    <Linux内核设计与实现>读书笔记--第一二章 20135301张忻 估算学习时间:共2小时 读书:1.5 代码:0 作业:0 博客:0.5 实际学习时间:共2.5小时 读书:2.0 代 ...

随机推荐

  1. Spring Security OAuth2 源码分析

    Spring Security OAuth2 主要两部分功能:1.生成token,2.验证token,最大概的流程进行了一次梳理 1.Server端生成token (post /oauth/token ...

  2. 使用Git分支开发新特性或修复Bug与使用Git分支开发新特性或修复Bug

    使用Git分支开发新特性或修复Bug 通过分支,可以在不影响原有代码的前提下改变代码,主要用于开发新功能新特性.下 一代产品 为已经发布的正式版修复bug 团队开发时为每个人建立一个分支,从而避免相互 ...

  3. WebStorm 常用安装,配置,快捷键

    WebStorm  软件资源   http://pan.baidu.com/s/1c2OmyQW(不建议使用汉化版,都已可能出现很多意想不到的问题) * Web前端集成开发工具 - WebStorm ...

  4. lightoj1132—Summing up Powers (取膜技巧&&组合数应用)

    题目链接:https://vjudge.net/problem/LightOJ-1132 题目意思:(1K + 2K + 3K + ... + NK) % 232 矩阵快速幂的题目一般都很短,这道题也 ...

  5. URI 、URL 和 URN

    URI URI 是 Uniform Resource Identifier 的缩写. Uniform 统一不同类型的资源.比如 txt.mp3.jpeg 等不同的类型的资源都可以使用 URI 来标识 ...

  6. 刚开始学Python,坚持下去

    嗯,刚开始学Python没几天,挺好的一门语言,十分简洁,也很好上手. 坚持下去,每天至少看一个小时的Python.

  7. C程序编译过程浅析(转)

    前几天看了<程序员的自我修养——链接.装载与库>中的第二章“编译和链接”,主要根据其中的内容简单总结一下C程序编译的过程吧. 我现在一般都是用gcc,所以自然以GCC编译hellworld ...

  8. 小程序 Page is not constructed because it is not found.

    如下错误一般发生在点击事件切换页面的时候 解决方式: 在需要切换到的那个页面的js文件中添加Page({ })方法即可解决此问题. Tis:在js文件中输入Page回车,可自动添加Page方法,包括里 ...

  9. python基础-第三篇-函数编程

    基本数据类型之set set是无序不允许重复的集合 set创建:s = set() 创建空集合  s = {11,22,33} 转换s = set(可迭代数据) li = [11,22,33,44] ...

  10. 兼容ie的半透明背景颜色过滤器,会影响事件的触发.

    兼容ie的半透明背景颜色过滤器,会影响事件的触发.