《LINUX内核设计与实现》读书笔记之第一章和第二章

时间:2021-07-25 19:02:07

一、第一章

1. Unix内核的特点
简洁:仅提供系统调用并有一个非常明确的设计目的
抽象:几乎所有东西都被当做文件
可移植性:使用C语言编写,使得其在各种硬件体系架构面前都具备令人惊异的移植能力
进程:创建迅速,一次执行保质保量地完成一个任务;独特的fork系统调用
清晰的层次化结构:策略和机制分离的理念,简单的进程间通信元语把单一目的的程序方便地组合在一起。一切皆文件
2.操作系统与内核
操作系统:整个系统中负责完成最基本功能和系统管理的部分。
内核:响应中断的中断服务程序;管理多个进程,分享处理器时间调度程序;管理进程地址空间的内存管理程序;网络、进程间通信
内核空间:系统态和被保护起来的内存空间
系统调用:应用程序与内核通信

将每个处理器在任何指定时间点上的活动必然概括为:
  运行于用户空间,执行用户进程
  运行于内核空间,处于进程上下文,代表某个特定的进程执行
  运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断

二、第二章

1.获取内核源码

使用git,代码如下:

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

git pull # 更新分支到Linux的最新分支

安装:tar xvjf linux-x.y.z.tar.bz2 或者 tar xvzf linux-x.y.z.tar.gz

如果使用git获取就不需要下载压缩文件。

/usr/src/linux目录应当保证原封不动。

打补丁:patch -p1 < ../patch-x.y.z

2.编译内核

2.1配置内核

字符页面的命令行工具:
make config


图形界面工具
make menuconfig


2.2编译内核:make

make > .. /detritus # 重定向到这个文件里了

make > /dev/null # 把无用的输出信息重定向到永无返回值的黑洞里。

2.3安装新内核

make modules_install

3.同步和并发
Linux是抢占多任务操作系统
Linux内核支持对称多处理器系统(SMP)
中断异步到来
Linux内核可以抢占