Linux系统可以划分为4个部分:
1. Linux内核
2. GNU工具
3. 图形化桌面环境
4. 应用软件
内核负责的功能:
系统内存管理、软件程序管理、硬件设备管理、文件系统管理
内存管理:
Linux内核不仅可以管理物理内存,也可以创建和管理虚拟内存。
虚拟内存:即实际上不存在的内存。通过硬盘的存储空间来解决物理内存不够用的问题,这一块硬盘空间被称为交换空间。内核可以不断地在交换空间和真实物理内存之间交换虚拟内存的内容,因此可用的内存容量就会变大。内存会被划分为一个个的page,称为页,内核将每个内存页记录下来,指明哪些页在物理内存里,哪些在硬盘上,当需要一个页的时候内核就会将需要的页调到内存里使用。
软件程序管理:
在系统中运行的程序称为进程。Linux内核会创建一个init进程,该进程负责启动系统上所有其他进程。当内核启动的时候,会将init进程加载到虚拟内存中去,进而在每次要启动新的进程的时候,都会给新进程分配一块内存来存储该进程内容。
硬件设备管理:
Linux系统将硬件设备当成特殊的文件,成为设备文件,有三类:字符型设备文件,块设备文件喝网络设备文件。
字符型设备文件指的是处理数据的是每一次只能处理一个字符的设备,例如调制解调器,块设备文件处理数据的时候可以处理大块的数据,例如硬盘。完了过设备文件指的是次啊用数据包发送和接收进行数据传输的设备。
文件系统管理:
Linux内核支持通过不同类型的文件系统从硬盘中读写数据,内核必须在编译的时候就加入对所有可能用到的文件系统的支持。
GNU工具:
GNU(GNU's Not Unix)的主旨在于为Unix系统管理员设计出一套类似于Unix的环境,Linux内核和GNU工具共同组成了Linux这个东西,GNU软件包由三部分组成,分别是处理文件的工具,操作文本的工具,管理进程的工具。GNU/Linux shell是一种特殊的交互工具,为用户提供了启动程序、管理文件系统中的文件以及运行在Linux系统上的进程的途径,shell的核心是命令行提示符,也是shell负责交互的部分。
在Linux系统上,由好几种shell可以使用,不同shell有不同的特性,默认的版本是bash shell,由GNU项目开发,被当作Unix标准shell的替代品。
Linux桌面环境:
决定系统显示内容的两个基本要素是显卡喝显示器,Linux需要知道如何和这两个东西沟通,才可以在电脑上显示画面,X Window软件是图形显示的核心部分。该软件直接和PC上的显卡及显示器进行交互,控制Linux的程序如何在电脑上显示出内容。