《Linux内核设计与实现》读书笔记Linux内核简介

Posted 东皇※太一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Linux内核设计与实现》读书笔记Linux内核简介相关的知识,希望对你有一定的参考价值。

Unix的历史

①Unix诞生于1969年,至今仍然被认为是现存操作系统中最强大和最优秀的系统。

②Unix起源于一个失败的多用户操作系统Multics,Multics终止而Unix萌生。

③1973年整个Unix操作系统用C语言进行了重写,为后面各种平台的移植铺平了道路。

④至今,Unix已经成为一个支持抢占式多任务、多线程、虚拟内存、换页、动态链接和TCP/IP网络的操作系统。

Linux简介

①1991年 芬兰赫尔辛基大学的linus因不能随心所欲的使用强大的Unix系统而苦恼,于是开发了自己的操作系统,开始写的是一个简单的终端仿真软件,经过一学年的研发跟完善,就有了不太成熟但功能较全的Linux,并在年底发布了早期版本。

②于是吸引了很多开发者对代码修改跟完善,因为其许可证条款很自由,迅速成为了很多人的合作开发项目。到现在已经被广泛移植到多种体系架构之上

③Linux是类Unix系统,但它不是Unix,它没有使用Unix的源码,但它没有抛弃Unix的设计目标并且保证了应用程序编程接口一致,总的来说就是重新实现了Unix的功能。

④Linux是一个非商业化的产品,是一个互联网上的写作开发项目,Linux内核也是自由软件

操作系统和内核简介

①操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分,包括内核、设备驱动程序、启动引导程序、命令行shell或其他种类用户界面、基本的文件管理工具和系统工具。

②内核是操作系统的内在核心,系统其它部分需要依靠内核提供的服务,管理设备、分配资源等。

③应用程序、内核和硬件的层次关系

单内核与微内核

Linux是一个单内核,同时Linux也汲取了微内核的精华,模块化设计、抢占式内核、支持内核线程以及动态装载内核模块的能力。而且Linux还避免了微内核设计上性能损失的缺陷,让所有事情都运行在内核态,直接调用函数,无需消息传递。

原理

优势

劣势

典型代表

单内核

整个内核都在一个大内核地址空间上运行。

简单高效:内核各个功能之间的调用和调用函数类似,几乎没有性能开销。

一个功能的崩溃会导致整个内核无法使用。

Unix

Linux

微内核

内核按功能被划分成各个独立的过程。每个过程独立的运行在自己的地址空间上。

安全:内核的各种服务独立运行,一种服务挂了不会影响其他服务。

内核各个服务之间的调用涉及进程间的通信,比较复杂且效率低。

Windows NT内核

Mach(Mac OS X)

内核版本号

Linux内核有两种:稳定的和处于开发中的,稳定的内核具有工业级的强度,可以广泛应用和部署,内核的版本号主要有四个数组组成。比如版本号:2.6.26.1  其中(从左至右),

2  - 主版本号

6  - 从版本号

26 - 修订版本号

1  - 稳定版本号

这个内核的主版本号是2,从版本号是6,修订版本号是26,稳定版本号是1.

副版本号表示这个版本是稳定版(偶数)还是开发版(奇数),上面例子版本号是稳定版。

修订版本号的升级包括BUG修正,新的驱动和一些新的特性。

稳定版是为了解决版本发布周期变长,一些关键性bug修改或向前移植了处于开发版内核的重要修改而发布的。

以上是关于《Linux内核设计与实现》读书笔记Linux内核简介的主要内容,如果未能解决你的问题,请参考以下文章

《Linux内核设计与实现》第3章读书笔记

《Linux内核设计与实现》第18章读书笔记

《Linux内核设计与实现》Chapter 5 读书笔记

《Linux内核设计与实现》读书笔记——第一二章

Linux内核设计与实现读书笔记——第三章

《Linux内核设计与实现》Chapter 3 读书笔记