Linux内核cgroups、nvwa、RedPatch、Kernel Mode Linux介绍

以下为你介绍Linux内核:cgroups(Linux进程资源分离)、nvwa(女娲内核)、RedPatch(RedHat 内核源码 Git 库)、Kernel Mode Linux(让用户程序运行在内核模式下的技术)。

1、cgroups(Linux进程资源分离)

cgroups(控制组)是Linux内核的一个功能,用来限制报告和分离一个进程组的资源(CPU、内存、磁盘输入输出等)。这个工作是由Google的工程师(主要是Paul Menage和Rohit Seth)在2006年以“process containers(进程容器)”的名字开始的;在2007年的晚些时候被重命名为控制组(由于在内核中“容器”这个名词的歧义引起的混乱)并被合并到2.6.24版的内核中去。自那以后,又添加了很多功能和控制器。

cgroups的一个设计目标是为不同的应用情况提供统一的接口,从控制单一进程(像nice)到系统级虚拟化(像opeNVZ,Linux-VServer,LXC)。cgroups提供:

资源限制:组可以被设置不超过设定的内存限制;这也包括虚拟内存。原来的分页机制是在Linux研讨会的Containers: Challenges with the memory resource controller and its performance报告中提出的。

优先化:一些组可能会得到大量的CPU或磁盘输入输出通量。

报告:用来衡量系统确实把多少资源用到适合的目的上。

分离:为组分离命名空间,这样一个组不会看到另一个组的进程、网络连接和文件。

控制:冻结组或检查点和重启动。

2、nvwa(女娲内核)

女娲内核,用中文版C"习语言"写的简单操作系统内核,代码实现全中文书写。

3、RedPatch(RedHat 内核源码 Git 库)

Linux内核cgroups、nvwa、RedPatch、Kernel Mode Linux介绍

甲骨文的Ksplice团队推出了RedPatch,这是Ksplice项目的一个Git库,包含了RedHat对其内核所做的更改的所有源码,以及每次修复所做的提交。

通过RedPatch,你可以使用Git来访问内核补丁,也可以通过Gitweb在线浏览补丁源码,并可以基于GPL协议自由分发这些源码。

Ksplice是一个实验性的项目,用于无需重启机器的情况下更新 Linux 内核。Ksplice被称为使Linux更安全、可靠、稳定的革命性解决方案,系统补丁、内核更新等均可以无缝进行。

Ksplice创立于2008年,技术概念来自麻省理工学院学生的研究,甲骨文在2011年7月21日宣布完成对Ksplice的并购。

对于发起RedPatch项目的原因,甲骨文称,在2011年,RedHat更改了发布内核源代码的方式,从包含多个补丁文件的tarball更改为一个大的单独补丁,这对于大多数开发者来说非常不便。而通过RedPatch,开发者可以了解到每个内核补丁的详细变化,并方便地进行更新。 

下载地址:https://oss.oracle.com/projects/RedPatch/

4、Kernel Mode Linux(让用户程序运行在内核模式下的技术)

Kernel Mode Linux 是一个让用户程序运行在内核模式下的技术。运行于内核模式下的应用可直接访问内核地址空间,与内核模块不同的是,用户程序跟一个正常进程一样,可像一般应用一样执行调度和 paging。虽然看似危险,为确保内核的安全性,可通过静态类型检查,软件故障隔离等方法来防范。

注明

以上就是Linux内核cgroups、nvwa、RedPatch、Kernel Mode Linux的介绍内容。

栏目相关文章