linux架构与历史

发布于 2017-10-01 · 本文总共 2310 字 · 阅读大约需要 7 分钟

什么是Linux

Linux可以划分为4个部分

  • Linux内核

  • GNU工具

  • 图形化桌面环境

  • 应用软件

Linux内核

内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件;

内核主要负责四个功能:

  • 系统内存管理

  • 软件程序管理

  • 硬件设备管理

  • 文件系统管理

系统内存管理

内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空间(swap space);

内核不断的在交换空间和实际的物理内存之间反复交换虚拟内存中的内容;

内存存储单元按组划分成很多块,这些块称作页面(page); 内核将每个内存页面存放在物理内存或交换空间,然后内核会维护一个内存页面表,指明哪些页面位于物理内存,哪些页面被换到磁盘上了;

文件系统管理

Linux内核支持通过不同类型的文件系统从硬盘读写数据;

Linux系统用来读写数据的标准文件系统:

文件系统 描述
ext Linux扩展文件系统,最早的linux文件系统
ext2 第二扩展文件系统,在ext的基础上提供了更多的功能
ext3 第三扩展文件系统,支持日志功能
ext4 第四扩展文件系统,支持高级日志功能
hpfs OS/2高性能文件系统
jfs IBM日志文件系统
iso9660 ISO 9660文件系统
minix MINIX文件系统
msdos 微软的FAT16
ncp Netware文件系统
nfs 网络文件系统
ntfs 支持Microsoft NT文件系统
proc 访问系统信息
ReiserFS 高级Linux文件系统,能提供更好的性能和硬盘恢复功能
smb 支持网络访问的Samba SMB文件系统
sysv 较早期的Unix文件系统
ufs BSD文件系统
umsdos 建立在msdos上的类Unix文件系统
vfat Windows 95文件系统(FAT32)
XFS 高性能64位日志文件系统

Linux内核采用虚拟文件系统(VFS,Virtual File System)作为和每个文件系统交互的接口;这为Linux内核同任何类型文件系统通信提供了一个标准接口;

当每个文件系统在被挂载和使用时,VFS信息都缓存在内存中;

软件程序管理

硬件设备管理

GNU工具

Linus在创建Linux系统内核时,并没有可用的系统工具;

GNU组织(GNU`s Not Unix)开发了一套完整的Unix工具;

将Linus的Linux内核和GNU操作系统工具整合起来,就产生了一款完整的、功能丰富的免费操作系统;

通常将Linux内核和GNU工具的结合体称为Linux;

核心GNU工具

GNU项目的核心主旨在于为Unix系统管理员设计出一套类似于Unix的环境;

供Linux系统使用的这组核心工具被称为coreutils(core utilities)软件包:

1.用来处理文件的工具;

2.用来操作文本的工具;

3.用来管理进程的工具;

shell

Linux shell是一种特殊的交互式工具;为用户提供了启动程序、管理文件系统中的文件及运行在Linux系统上的进程的途径;

shell的核心是命令提示符,命令提示符是shell负责交互的部分;它允许你输入文本命令,然后解释命令,并在内核执行;

Linux shell

shell 描述
ash 一种运行在内存受限环境中简单的轻量级shell,但与bash shell完全兼容
korn 一种与Bourne shell兼容的编程shell
tcsh 一种将C语言中的一些元素引入到shell脚本中的shell
zsh 一种结合了bash、tcsh和korn的特性,同时提供高级编程特性、共享历史文件和主题化提示符的高级shell

Linux桌面环境

X window系统

KDE桌面

GNOME桌面

Unity桌面

其他桌面

Linux发行版

将完整的Linux系统包称为发行版;

不同的Linux发行版通常归类为3种:

1.完整的核心Linux发行版

2.特定用途的发行版;

3.LiveCD测试发行版;

核心Linux发行版

核心发行版含有内核、一个或者多个图形化桌面环境、以及预编译好的几乎所有能见到的Linux应用;

它提供了一站式的完整Linux安装;

核心Linux发行版:

发行版 描述
Slackware 最早的Linux发行版中的一员
Red Hat 主要用于Internet服务器的商业发行版
Fedora 从Red Hat分离出的家用发行版
Gentoo 为高级Linux用户设计的发行版,仅包含Linux源代码
OpenSUSE 用于商业和家用的发行版
Debian 在Linux专家和商用Linux产品中流行的发行版

特定用途的Linux发行版

发行版 描述
CentOS 一款基于Red Hat企业版Linux源代码构建的免费发行版
Ubuntu 一款用于学校和家庭的免费发行版
PCLinuxOS 用于家庭和办公的免费发行版
Mint 用于家庭娱乐的免费发行版
dyne:bolic 用于音频和MIDI应用的免费发行版
Puppy Linux 适用于老旧PC的小型免费发行版

Linux LiveCD

发行版 描述
Knoppix 最早的LiveCD Linux
PCLinuxOS 一款成熟的LiveCD形式的Linux发行版
Ubuntu 为多种语言设计的世界级Linux项目
Slax 基于Slackware Linux的一款LiveCD Linux
Puppy Linux 适用于老旧PC的一款全功能Linux

由于要从CD上访问所有的东西,应用程序会运行的更慢;

由于无法向CD写入数据,对Linux系统作的任何修改都会在重启后失效;

总结

Linux系统及其基本工作原理

Linux内核是系统核心;

GNU工具是Linux系统中的一个重要部分;Linux shell是GNU核心工具集中的一部分;

Linux桌面环境;

Linux发行版就是把Linux各个不同部分汇聚起来组成一个易于安装的包。




本博客所有文章采用的授权方式为 自由转载-非商用-非衍生-保持署名 ,转载请务必注明出处,谢谢。
声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:邱文奇(qiuwenqi)的博客;
内容系本人学习、研究和总结,如有雷同,实属荣幸!
阅读次数:

文章评论

comments powered by Disqus


章节列表