1.什么是linux
linux可包含四个部分:Linux内核、GNU工具、图形化桌面工具、应用软件
1.1 linux内核
linux系统的核心是内核,内核控制着计算机的硬、软件,在必要时分配硬件。
内核主要负责功能:系统内存管理、软件程序管理、硬件设备管理、文件系统管理
- 系统内存管理:管理可用物理内存,创建和管理虚拟内存。内核通过硬盘上的存储空间来实现虚拟内存(交换空间、swap),内核不断在虚拟内存和物理空间中反复交换交换空间中的内容。内存中会划分很多块(page、页面),内核将每个页面放在物理内存或交换空间中,并会维护一个内存页面表,指明那些页面存在内存上还是硬盘上。将长时间不访问的页面从内存上转移到swap中,即使内存有剩余(这个过程叫做换出);当要访问一个被换出的页面需要将页面从swap中转移到内存中。
- 软件程序管理:运行中的程序会有进程,进程可以运行在前台,也可以运行在后台。内核创建第一个进程init运行在虚拟内存中,用来启动其他进程,在启动其他进程时都会在虚拟内存中给新进程分配一个区域来存储进程用到的数据和代码。CentOS中会有/etc/inittab管理系统的默认启动方式,/etc/init.d储存开机启动时的脚本放在该目录下,/etc/init.d实际是/etc/rc.d/init.d的软连接。
- 硬件设备管理:Linux系统想要使用硬件就需要在内核中加入驱动代码,现普遍的驱动代码插入方式是可插入内核的设备驱动模块,linux 系统将硬件谁被当做是特殊的文件(设备文件)
字符型设备文件:大多数调试调节器、终端都是作为字符型设备创建的
块设备文件:每次可以处理大块数据的设备,例如:硬盘
网络设备文件件:数据包发送和接收的设备,例如:网卡
每个设备都会创建一个节点,设备与系统的通信都是通过节点来进行的。每个节点都有一个数值对(主设备号、次设备号)供内核标识,类似的设备被划分到主设备号下,次设备号标识特定的设备。
- 文件系统管理:linux内核支持不同的文件系统冲硬盘中读取数据。内核在编译时就必须加入所有可能的文件系统的支持。内核采用虚拟文件系统VFS,作为与很每个文件系统交互的接口。
1.2 GNU工具
1.GNU组织开发了一套完整的unix工具,这些工具是在开源软件理念下完成的,开源软件允许程序员开发、免费发布,并允许任何人使用、修改软件、将软件集成到自己的系统。通常将GNU、linux集合成为linux系统,但会看到GNU/linux的叫法。
GNU包括三部分:用以处理文件的工具、用以操作文件的工具、用以管理进程的工具
2.shell是一种特殊的交互工具,为用户提供了启动程序、管理文件系统、管理运行在Linux系统上的进程的途径。bash shell 是liunx默认的shell,除了bash shell 还有其他常见的shell
2.Linux发行版本
将系统各个不同部分汇集起来的完整的Linux系统包被称为发行版本。
不同的Linux发行版通常归类为3中:完整的核心Linux发行版、特定用途的发行版、LiveCD测试发行版。
2.1核心Linux发行版
Slackware:最早的linux发行版中的一员
Red Hat:主要用于internet服务器的商业发行版本
Fedora:从red hat 分离出的家用发行版本
Gentoo:为高级Linux用户设计的,包含Linux源代码
openSUSE:用于家用和商业
Debian:linux专家和商用linux产品中流行的发行版
2.2特定用途的发行版本
CentOS:基于Red Hat企业版构建的免费发行版本
Ubuntu:一款用于学校和家用的免费发行版本
许多特定用途的Linux版本都是基于Debian,他们使用一一样的安装文件,但只有一小部分。
2.3Linux LiveCD
可以通过CD来启动,并且无需在硬盘安装任何东西就能运行的Linux发行版本。因在CD上访问,应用程序会运行的更慢;无法在CD中写入数据,对Linux的任何操作都会在重启后失效。使用内存、硬盘、U盘存储可以解决一些问题。