前一节内容大概介绍了一下Linux的历史由来,各大Linux发行厂商都是基于GNU项目下的所有开源软件,来构建各自己的Linux发行版本,一个完整的Linux发行版本大概可以分为以下四个层次结构:
 
Base System => X Protocol => Windows Manager => Application
1. Base System
所谓Base System,也就是一个最小的基本系统,需要包含一些系统必备的开源组件,比如:kernel, filesystem, glibc, bash等。
 
这个最小系统最终能达到的层次就是能够启动我们的命令行字符控制终端,也就是一个bash环境,这样一个最小系统可以精简、控制在几十M的大小以内。
 
2. X Protocol
当我们构建完了最小的基本系统以后,这样一个系统只支持命令行字符终端模式,而无法支持图形化界面,如果想要使我们的Linux系统能够支持图形化界面,必须要有X Protocol的支持,基于这样的一个X协议,就可以在最小系统的层次上,构建Linux的窗口管理器。
 
X Protocol仅仅只是一个协议,对于这样一个协议,具体是由什么来实现的呢?在Linux早期的时候,是通过XFree86来实现X协议,经过多年的发展,XFree86已经更替为今天的X.Org项目。
 
不管是XFree86, 还是现在的X.Org,在实现X协议的时候,都是基于C/S架构,也就是X Server 和 X Client 的交互模式。关于X Server 和 X Client 之间的关系,在接下来的一节中将详细介绍。在这里大家只需明确:如果我们需要支持图形化界面,就需要有X相关的组件来作为一个沟通的桥梁。
 
当然,X 并不是唯一的桥梁,有像Wayland这样的新生替代品也已经面世,只是目前尚不成熟,也许在未来的某一天,Wayland将会全面代替现在的 X。
 
3. Windows Manager
有了X层的支持以后,广大开源软件开发者或开发组织,就可以基于这样的一个接口,来开发上层的图形化窗口管理器,即Windows Manager, 比如我们熟知的KDE,Gnome, Xfce, Openbox等,这些图形化的桌面环境也就是对上面提到的X Client的一个具体实现,来和 X Server进行交互通信。
 
在一下章节中,将具体讲解X Server, X Client, Xlib, QT, GTK, KDE, Gnome之间的关系。
 
4. Application
Application也就是指我们的上层图形化应用程序,比如 Liberoffice办公套件,Firefox,Thunderbird,Pidgin等。
Linux系统中的大多数图形化应用程序都是基于QT或GTK+这两个开发套件来开发的,当然也有像Java, Python等编写的应用程序。
 
综上,Linux发行厂商组合上面所描述的四个层次的GNU项目组件,最终提供给用户一个完整的Linux操作系统,下面还是以一张结构图来展示这一节所阐述的Linux层次:
 

Linux体系结构(二): Linux系统层次的更多相关文章

  1. Linux基础系列—Linux体系结构和Linux内核结构

    /** ****************************************************************************** * @author    暴走的小 ...

  2. Linux(二) 系统远程访问

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1. Why?为什么需要远程访问? 人和人之间对话有两种方式,一种是面对面直接交谈,另一种是打电话. 我 ...

  3. linux 问题二 查看系统是32位还是64位

    方法: 1.uname -a 2.uname -m 3.file /sbin/init 4.arch 5.Settings -> Details 说明: 1. i386 适用于intel和AMD ...

  4. Linux入门(二)Linux基本命令及基本操作

    1 常用Linux命令 图形界面进入到字符界面: ctrl+alt+F2~F6 字符界面进入到图形界面:ctrl +alt+F7 查看本机ip:  ifconfig  (windows是:ipconf ...

  5. linux学习(二)-----Linux 的目录结构、远程登录、vi和vim

    linux目录结构 基本介绍 linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此 目录下再创建其他的目录. 目录结构具体介绍 Linux 目录总结 1.lin ...

  6. linux体系结构与内核结构图解

    1.当被问到Linux体系结构(就是Linux系统是怎么构成的)时,我们可以参照下图这么回答:从大的方面讲,Linux体系结构可以分为两块: (1)用户空间:用户空间中又包含了,用户的应用程序,C库 ...

  7. 转载-lvs官方文档-Linux服务器集群系统(二)

    Linux服务器集群系统(二) LVS集群的体系结构 章文嵩 (wensong@linux-vs.org) 2002 年 4 月 本文主要介绍了LVS集群的体系结构.先给出LVS集群的通用体系结构,并 ...

  8. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  9. Linux服务器集群系统(一)--转

    引用地址:http://www.linuxvirtualserver.org/zh/lvs1.html LVS项目介绍 章文嵩 (wensong@linux-vs.org)2002 年 3 月 本文介 ...

随机推荐

  1. 2016 - 1- 22 NSURLConnetction --- POST请求

    一:与上一篇博客中的GET方法类似  只不过需要多注意,如果要改变请求的类型,需要生成NSMutableURLRequest对象才可以设置请求的类型. NSURL *url = [NSURL URLW ...

  2. 针对电信乌龙事件的深度测试: 广州电信错误将深圳地区189的号码在3G升级4G申请时从广州网厅发货,造成深圳用户收到4G卡后无法激活,深圳电信找不到订单

    广州电信错误将深圳地区189的3G升级4G申请从中国电信广州网厅发货(智能卡号:8986 1114 9002 0851  742X S  电话号码 189),造成用户收到4G卡后无法激活,深圳电信找不 ...

  3. UIkit框架之UItableview

    1.继承链:UIScrrollView:UIview:UIresponder:NSObject 2.创建实例的时候首先需要确定table的类型 3.一个tableview对象必须要有一个数据源和一个委 ...

  4. UIkit框架之UItextfield

    1.继承链:UIcontrol:UIview:UIresponder:NSObject 2.成为第一响应者:[text becomeFirstResponder];  //让该文本成为第一响应者 3. ...

  5. 【Tsinghua OJ】多米诺骨牌(domino)问题

    (domino.c/cpp)[问题描述] 小牛牛对多米诺骨牌有很大兴趣,然而她的骨牌比较特别,只有黑色和白色的两种.她觉 得如果存在连续三个骨牌是同一种颜色,那么这个骨牌排列便是不美观的.现在她有n个 ...

  6. Net作业调度-----Quartz.Net

    一:业务需求: 项目需要在不同时刻,执行一个或很多个不同的作业. Windows执行计划这时并不能很好的满足需求了,迫切需要一个更为强大,方便管理,集群部署的作业调度框架. 二:介绍 Quartz一个 ...

  7. [转]A plain english introduction to cap theorem

    Kaushik Sathupadi Programmer. Creator. Co-Founder. Dad. See all my projects and blogs → A plain engl ...

  8. 重学STM32---(六)DAC+DMA+TIM

    这两天复习了DAC,DMA再加上把基本定时器TIM6和TIM7看了一下,打算写一个综合点的程序,,,就在网上找了一些关于DAC,DMA和定时器相关的程序,最终打算写了输出正弦波的程序... 由于没有示 ...

  9. 深入分析Php处理浮点数的问题

    下文来为各位介绍Php处理浮点数的问题了,如果各位在使用过程中碰到这些问题我们可以一起来看看,希望文章对各位有帮助 公司要对产品价格做调整,因为做的外贸商城,所以价格要和国际接轨.比如国外的价格展示方 ...

  10. LeetCode Permutations II (全排列)

    题意: 给出n个元素(可能有重复的),请产生出所有的全排列. 思路: 同版本1的有点不同,这次有可能含有重复的元素,很容易就TLE,节省时间才是关键点. 如果将一个序列中两个相同的元素交换,这个序列是 ...