第1章 Linux内核的简介
1.1 Unix
Unix强大的根本原因
- Unix很简洁:仅提供几百个系统调用并且有一个非常明确的设计目的;
- 所有东西都被当做文件对待:提供一套系统调用接口—open()、read()、write()、lseek()和close();
- 用C语言编写而成:移植力强;
- 进程创建非常迅速:调用fork();
- 拥有一套简单又稳定的进程间通信元语。
1.2 Linux
Linux系统的基础
Linux系统的基础:内核、C库、工具集和系统的基本工具
操作系统
操作系统是指整个系统中负责完成最基本功能和系统管理的那些部分。
其中系统管理的那些部分应该包括:
- 内核
- 设备驱动程序
- 启动引导程序
- 命令行shell
- 其他种类的用户界面
- 基本的文件管理工具
- 系统工具
1.3 Linux与Unix的区别
- Linux支持动态加载内核模块;
- Linux支持对称多处理(多CPU系统)机制(SMP),而传统的Unix不支持只有部分变体的Unix才支持;
- Linux内核可以抢占,而Unix大多数不支持仅有少数变体的Unix才支持;
- Linux内核不区分线程和一般进程;
- Linux提供具有设备类的面向对象的设备模型、热插拔事件以及用户空间的设备文件系统(sysfs);
- Linux忽略了一些被认为是设计得拙劣的Unix特性和过时的标准;
- Linux体现了自由这个词的精髓。