一、Linux内核设计与实现——Linux与Unix的关系

1.Unix的简介:
Unix是1969年从贝尔实验室诞生的。1969年的夏天,贝尔实验室的程序员设计一个文件系统原型,而这个原型最终发展演化成了Unix。由于Unix设计简洁并且在发布时提供了源代码,所以许多其他组织和团体对它进行了进一步的开发。加州大学伯克利分校便是其中影响最大的一个。他们推出来的变体叫做Berkeley Software Distributions(BSD)。
Unix的特点:第一,Unix非常简洁。系统调用仅仅提供几百个,设计目的非常明确。第二,所有东西都被当作文件对待,对数据和对设备的操作都是通过同一套的系统调用接口进行。open()、write()、read()、close()。第三,Unix的内核及其相关的系统工具都是用C语言编写,因此在各种硬件设备上移植非常方便。
第四,Unix的进程创建非常迅速。第五,Unix提供了一套非常简单但又非常稳定的进程间通信机制。

2.Linux的简介
Linux是1991年,由Linus Torvalds为当时新推出的使用Intel80386微处理器的计算机开发的一款全新的操作系统,Linux由此诞生。Linux是类Unix系统,但它不是Unix。需要说明的是,尽管Linux借鉴了Unix的许多设计并且实现了Unix的API,但是Linux没有像其他的Unix的变种那样直接使用了Unix的源代码。必要的时候,它的实现可能和其他各种Unix的实现大相径庭,但是它没有抛弃Unix的设计目标并且保证了应用程序编程接口的一致。

3.Linux与Unix间的差异
1)Linux支持动态加载内核模块。尽管Linux内核也是单内核,可是允许在需要的时候动态的卸除和加载部分内核代码。
2)Linux支持对称多处理器(SMP)机制。尽管许多Unix的变体也支持SMP,但传统的Unix并不支持这种机制。
3)Linux内核支持抢占。
4)Linux提供具有设备类的面向对象的设备模型、热插拔事件,以及用户空间的设备文件系统。
5)Linux体现了自由的特性。现有的Linux特性集就是Linux公开开发模型自由发展的结果。

猜你喜欢

转载自blog.csdn.net/chg2663776/article/details/115497371