Linux内核设计与实现:Linux内核简介

Linux内核设计与实现:Linux内核简介

Unix历史

  1. 1969年,贝尔实验室的Dennis Ritchie和Ken Thompson在一台DPD-7型机器上实现了Unix这个全新的操作系统。
  2. 1971年,移植到DPD-11机型。1973年,使用C语言重写了Unix。
  3. 1977年,贝尔实验室推出Unix System 3,1983年AT&T推出Unix System 5。(商业)
  4. 伯克利大学于1977、1978、1979年分别推出了1DSD\2BSD\3BSD。并在其后推出了4.1、4.2、4.3、4.4版本的BSD。(开放)
  5. 其后的系统大多基于AT&T和BSD版本的修改版本,其中包括IBM的AIX和Sun的Solaris和SunOS。

追寻Linus足迹:Linux简介

  1. 1991年,芬兰赫尔辛基大学学生Linus Torvalds开发了Linux。
  2. 1991年年底,Linus在网上发布了早期版本。Linux宽松开放的许可条款很快吸引了很多开发者和黑客对其代码修改和完善。
  3. Linux是类Unix系统。Linux借鉴了Unix很多设计并实现了Unix的API(Posix)。
  4. Linux是自由(公开)软件,其使用GPL(General Public License)v2作为限制条款。可以自由使用和修改,但是当你发布修改过的内核时,必须保证其他人能够获取到你修改过的全部源代码。

操作系统与内核简介

  1. 操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分。

  2. 内核是操作系统内在的核心。

  3. 通常一个内核由负责响应和中断的中断服务程序、负责管理多个进程从而分享处理器时间的调度程序、负责管理进程地址空间的内存管理程序和负责网络、进程间通信等系统服务程序共同组成。

  4. 内核独立于应用程序,拥有受保护内存空间和访问硬件设备的所有权限。

  5. 内核运行在内核空间,应用程序运行在用户空间。

  6. 应用程序通过系统调用与内核通信。

  7. 每个处理器在任何指定的时间点上的活动必然概况为下列三者之一:

    1. 运行于用户空间,执行用户进程。
    2. 运行于内核空间,处于进程上下文,代表某个指定的进程执行。
    3. 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断。

    当CPU空闲时,运行一个空进程,处于进程上下文,运行于内核空间。

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

Linux内核与传Unix内核的比较

  1. 操作系统按内核分为:单内核和微内核。(外内核主要用于科研)
  2. 单内核共享内存空间,内核模块之间调用通过函数调用通信,效率高,速度快。
  3. 微内核模块独立,内核模块之间通过消息传递通信。服务各自独立。
  4. Unix、Linux是单内核,Windows、Mac OS X是微内核。
  5. Linux和Unix显著的差异:
    1. Linux支持动态加载内存模块。
    2. Linux支持对称多处理(SMP)机制。
    3. Linux内核可抢占(preemptive)。
    4. Linux线程是一种共享资源的进程。
    5. Linux提供面向对象的设备模型、热插拔时间。
    6. Linux忽略了一些拙劣的Unix特性。
    7. Linux体现了自由这个词的精髓。

Linux内核版本

  1. Linux内核版本有2种,稳定的和处理开发中的。

  2. Linux版本号由主版本号、从版本号、修订版本号和稳定版本号四部分组成。

    Linux Kernel版本号命名规则

Linux内核开发者社区

  1. http://vegr.kernel.org 上订阅邮件,获取最近Linux内核动态,也可以贡献自己的代码。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!