Linux的哲学思想:
1、一切皆文件;
把几乎所有资源,包括硬件设备都组织为文件格式;
2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;
组合小程序完成复杂任务;
3、尽量避免跟用户交互;
目标:实现脚本编程,以自动完成某些功能;
4、使用纯文本文件保存配置信息;
目标:一款使用的文本编程器即能完成系统配置工作;
Linux的优点:
稳定的系统
免费或少许的费用
安全性、漏洞的快速修补
多任务、多用户
用户与用户组的规划
占用资源相对比较小
整合度佳且多样的图形用户界面
Linux的缺点:
没有特定的厂商
游戏的支持度不足
专业的软件支持度不足
首先,Linux可划分为四个部分:
Linux内核
GNU工具组件
图形化桌面环境
应用软件
一、 Linux内核
内核基本负责以下四项主要功能:
系统内存管理
软件程序管理
硬件设备管理
文件系统管理
1、 系统内存管理
内存管理是操作系内核的基本功能之一。内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存(不实际存在的内存)。
内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空间(swap space)。内核不断在交换空间和实际的物理内存之间反复交换虚拟内存存储单元中的内容,这使得系统以为它拥有比物理内存更多的可用内存。
查看Linux系统上虚拟内存的当前状态:
如图所示,MemTotal : 表明这个linux 服务器的内存大小,
MemFree : 表明/proc/meminfo文件还有110M的空闲空间
SwapTotal : 表明这个系统还有大约2G的交换空间
多个进程可在同一块内存区域进行读取和写入操作,内核负责维护和管理这块公用内存区域并控制每个进程访问这块共享区域,可用ipcs -m命令查看系统上的当前共享内存页面.
2、 软件程序管理
Linux操作系统称运行中的程序为进程,进程可以在前台运行,将输入显示在屏幕上;也可以在后台运行。内核控制着linux系统如何管理运行在系统上的所有进程。
内核创建了第一个进程—init进程,用来启动系统上所有的其他进程。当内核启动时,它会将init进程加载到虚拟内存中,内核在启动任何其它进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。
/etc/inittab 目录专门用来存储开机时要自动启动的进程
/etc/init.d 目录存放开机时启动或停止某个应用的脚本,这些脚本通过/etc/rc.X.d目录下的入口启动(X:运行级别)
运行级别:为了系统的运行或维护等应用目的而设定;
0:关机
1:单用户模式(root, 无须登录), single, 维护模式;
2: 多用户模式,会启动网络功能,但不会启动NFS;维护模式;
3:多用户模式,正常模式;文本界面;
4:预留级别;可同3级别;
5:多用户模式,正常模式;图形界面;
6:重启
默认级别:3, 5
切换级别:init #
查看级别:runlevel
who -r
3、 硬件设备管理
Linux系统将硬件设备文件当成特殊的文件,称为设备文件。
设备文件的3种不同的分类:
字符型设备文件(每次只处理一个字符的设备)
块设备文件(指处理数据时每次能处理大块数据的设备,比如硬盘)
网络设备文件(采用数据包发送和接收数据的设备)
4、 文件系统管理
Linux支持多种不同类型的文件系统来从硬盘中读取或写入数据,还支持从其他系统所采用的文件系统中读取或写入数据。
Linux内核采用虚拟文件系统(Virtual File System,VFS)作为和每个文件系统交互的接口,这为Linux内核同任何类型文件系统通信提供了一个标准接口,当每个文件系统被挂载和使用时。VFS将信息都缓存在内存中。
最常用的Linux文件系统:
ext3,ext4,iso9660,nfs,ntfs,vfat,xfs
二、 GNU
GNU组织(GNU’s Not Unix)开发的一套完整的Unix工具链,这些工具链是在开源软件(Open Source Software, OSS)的软件开发理念下开发的。讲Linus的Linux内核和GNU 操作系统工具结合起来,就可以创造一个完整的、功能丰富的免费操作系统。
为Linux系统提供的一组核心工具被称为coreutils(core utilities) 软件包,有三部分构成:
用以处理文件的工具
用以操作文本的工具
用以管理进程的工具
Shell:shell的核心是命令行提示符,它允许输入文本命令,之后将解释命令并在内核中执行。
脚本就是把shell命令放在文件中作为程序执行,所有Linux发行版默认的shell基本 都是bash shell。作为标准Unix shell,由GNU项目组开发。
三、 Linux桌面环境
KDE桌面(K Desktop Environment,K桌面环境),最初于1996年作为开源项目发布。类似于Microsoft Windows的图形化桌面环境。
桌面底部的横条称为面板,由4部分组成:
KDE菜单:包含了启动已安装程序的链接,和Windows的开始非常类似
程序快捷方式:在面板上有直接从面板启动程序的快速链接
任务栏:任务栏显示着当前桌面正运行的程序的图标
小应用程序:这些图标常常会根据小应用程序的状态发生变化
除了桌面功能,KDE项目还开发了大量的可运行在KDE环境中的应用程序,作为惯例,KDE应用命名时经常有个大写的K。
GNOME桌面(The GNU Network Object Model Environment,GNU网络对象模型环境),于1999年首次发布,桌面分布:
一块放置图标的桌面区域
两个面板区域
拖放功能
大多数采用GNOME桌面的Linux发行版还集成了KDE库,允许用户在GNOME桌面上运行KDE应用程序
四、 发行版
不同的Linux发行版通常归类为三种:
完整的核心Linux发行版
专业发行版
LiveCD测试发行版
核心Linux发行版含有内核、一个或多个图形化桌面环境以及预编译好的几乎所有能见到的Linux应用。它提供了一站式的完整的Linux安装。
Linux发行版本:
Slackware :最早的Linux发行版之一
Red Hat :主要用于Internet服务器的商业发行版
Fedora :从Red Hat中分离出来的家用发行版(6个月/新版本)
Gentoo :
openSuSE :用于商用和家用的发行版
Debian :Ubuntu
CentOS :兼容rhel(18个月/新版本),是根据rhel源代码改写的