Linux可划分为以下四部分:
1,Linux内核;
2,GNU工具;
3,图形化桌面环境;
4,应用软件;
1,内核主要负责以下四种功能:
系统内存管理,软件程序管理,硬件设备管理,文件系统管理
1.1系统内存管理
内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存(即实际并不存在的内存)。
内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空间 (swap space)。内核不断地在交换空间和实际的物理内存之间反复交换虚拟内存中的内容。
1.2软件程序管理
内核创建了第一个进程(称为init进程 )来启动系统上所有其他进程。当内核启动时,它会将init进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码
1.3硬件设备管理
任何Linux系统需要与之通信的设备,都需要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备的中间人,允许内核与设备之间交换数据。
Linux系统将硬件设备当成特殊的文件,称为设备文件 。设备文件有3种分类:
1.3.1,字符型设备文件
字符型设备文件是指处理数据时每次只能处理一个字符的设备。大多数类型的调制解调器和终端都是作为字符型设备文件创建的。
1.3.2,块设备文件
块设备文件是指处理数据时每次能处理大块数据的设备,比如硬盘。
1.3.3,网络设备文件
网络设备文件是指采用数据包发送和接收数据的设备,包括各种网卡和一个特殊的回环设备。这个回环设备允许Linux系统使用常见的网络编程协议同自身通信。
1.4文件系统管理
Linux内核支持通过不同类型的文件系统从硬盘中读写数据。除了自有的诸多文件系统外,Linux还支持从其他操作系统(比如Microsoft Windows)采用的文件系统中读写数据。内核必须在编译时就加入对所有可能用到的文件系统的支持。
2,GNU工具
GNU工具包由三部分构成:
用以处理文件的工具
用以操作文本的工具
用以管理进程的工具
GNU/Linux shell是一种特殊的交互式工具。
它为用户提供了启动程序、管理文件系统中的文件以及运行在Linux系统上的进程的途径。shell的核心是命令行提示符。命令行提示符是shell负责交互的部分。它允许你输入文本命令,然后解释命令,并在内核中执行。
在Linux系统上,通常有好几种Linux shell可用,所有Linux发行版默认的shell都是bash shell
3,Linux桌面环境
3.1. X Window系统
3.2. KDE桌面
3.3. GNOME桌面
3.4. X Window系统
3.5. Unity桌面
3.6. 其他
3.4. X Window系统
3.5. Unity桌面
3.6. 其他