一、Linux历史
Unix强大的根本原因:
1、简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的
2、文件对待所有东西,通过一套相同的系统调用接口来进行对数据和设备的操作
3、由于用C语言编写,移植性强
4、进程创建非常迅速,使用fork()系统调用。
5、进程间通信元语,进程间通信机制
二、Linux简介
Linux是类Unix系统,Linux内核是公开软件,Linux用途广泛。
Linux系统的基础是内核、C库、工具集和系统的基本工具。
三、操作系统和内核简介
内核:管理者,操作系统的核心
通常一个内核由负责响应中断的中断服务程序和网络、进程间通信等系统服务共同组成。
提供保护机制的现代系统:内核独立于普通应用程序,一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限。内核空间:系统态与被保护的内存空间。
应用程序在用户空间执行,只允许使用部分系统资源和特定系统功能,不能直接访问硬件,不能访问内核划给别人的内存范围。
内核运行时,系统以内核态进入内核空间。执行普通用户程序时,系统以用户态进入用户空间。
系统运行的应用程序通过系统调用来与内核通信。
四、Linux内核和传统Unix内核比较
Unix内核通常需要硬件系统提供页机制管理内存;
初期的Linux系统也需要MMU,有的特殊版本不依赖。
单内核与微内核设计之比较
单内核:
整体上作为一个单独的大过程,运行在一个单独的地址空间。
内核直接调用函数。
Linux是单内核。
微内核:
划分为多个独立过程(服务器),需特权服务的服务器运行在特权模式下,其他运行在用户空间。
通过消息传递处理通信。
IPC机制的开销多于函数调用。
消息传递需要一定的周期。
实际基于微内核的系统都让大部分或全部服务器位于内核。