[关闭]
@maorongrong 2017-03-27T13:37:06.000000Z 字数 1875 阅读 711

Linux Kernel与Linux Distrubution

for-github


摘要: 内核是系统核,发行版是每个社团增加了外围资源(比如用户界面,系统安装,程序更新),所以各发行版的内核可以一致,但发行版采取的各种用户应用方式可能不同。

Linux Kernel

Kernel是OS的核心,负责控制硬件、管理文件系统、程序进程等,并不给用户提供各种工具和应用软件。
Kernel并不是完整的OS,只有增加外围强大的应用软件(eg:C/C++编译器、C/C++库、系统管理工具、网络工具、办公软件、多媒体软件、绘图软件等) 才能发挥它强大的功能。

因此人们以Linux kernel为中心,再集成搭配各种各样的系统管理软件或应用工具软件组成一套完整的操作系统,如此的组合便称为Linux发行版。

  • 相对于Linux操作系统内核版本,发行版本的版本号随发布者的不同而不同,与Linux系统内核的版本号是相对独立的.
  • Linux的各个发行版本(distribution),都是使用Linus主导开发并发布的同一个Linux内核,因此在内核层不存在什么兼容性问题。
  • 每个linux发行版本不一样的感觉,只是在发行版本的最外层才有所体现,而绝不是Linux本身特别是内核不统一或是不兼容.

如何查看

  1. uname -r
  2. cat /proc/version

Linux Kernel主要组成

Linux内核的主要模块(或组件)分以下几个部分:

Linux Distribution

  • 由组织或厂家,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包而已。

如何查看

  1. cat /etc/issue

Linux kernel 与 Distribution区别

  • 相对于Linux操作系统内核版本,发行版本的版本号随发布者的不同而不同,与Linux系统内核的版本号是相对独立的。
  • Linux的各个发行版本(distribution),都是使用Linus主导开发并发布的同一个Linux内核,因此在内核层不存在什么兼容性问题。只是在linux发行版本的最外层才有差异所体现,而绝不是Linux本身特别是内核不统一或是不兼容.

How LXC

  • LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:
    (1)share kernel(与宿主机使用同一个内核,性能损耗小);
    (2)不需要指令级模拟
    (3)不需要即时(Just-in-time)编译
    (4)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制
    (5)避免了准虚拟化和系统调用替换中的复杂性
    (6)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。

总结:

  • Linux Container是一种轻量级的虚拟化的手段。
  • Linux Container提供了在单一可控主机节点上支持多个相互隔离的server container同时执行的机制。Linux Container有点像chroot,提供了一个拥有自己进程和网络空间的虚拟环境,但又有别于虚拟机,因为lxc是一种操作系统层次上的资源的虚拟化。

  • LXC在资源管理方面依赖于Linux内核的cgroups子系统,cgroups子系统是Linux内核提供的一个基于进程组的资源管理的框架,可以为特定的进程组限定可以使用的资源。LXC在隔离控制方面依赖于Linux内核的namespace特性,具体而言就是在clone时加入相应的flag(NEWNS NEWPID等等)。
    ————《百度百科》

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注