内核

KPTI:内核页表隔离的当前的发展

KPTI:内核页表隔离的当前的发展

英特尔处理器曝出了一个严重的硬件设计漏洞,迫使包括 Linux、Windows 在内的主要操作系统和各大云计算服务商都忙着打补丁。因为漏洞信息没有解密,所以目前只能通过已发布的补丁反推这个漏洞。这里是一篇对该漏洞的技术分析文章。
ARMv8 上的 kprobes 事件跟踪

ARMv8 上的 kprobes 事件跟踪

kprobes 是一种内核功能,它允许通过在执行(或模拟)断点指令之前和之后,设置调用开发者提供例程的任意断点来检测内核。
Linux “天气预报”

Linux “天气预报”

本页面是为了跟踪在不久的将来某个时间内有可能出现在主线内核和/或主要发行版中的 Linux 开发社区的进展情况。你的“首席气象学家”是 LWN.net 执行主编 Jonathan Corbet。
Linux 内核文章特辑

Linux 内核文章特辑

备受关注的 LinuxCon 2017(北京)即将在一周后在北京首秀,而国内已经连续举办了 11 届的中国 Linux 内核开发者大会(CLK)也将在金秋十月的北京举办第 12 届。值此 Linux 界两大盛会举办之际,我特意收集了一些 Linux 内核方面的文章分享给大家。
如何在 CentOS 7 中安装或升级最新的内核

如何在 CentOS 7 中安装或升级最新的内核

随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要。此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。
漫画赏析:Linux 内核到底长啥样

漫画赏析:Linux 内核到底长啥样

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel”。 TurnOff.us 是一个极客漫画网站,他们会画一些关于编程语言、Web、云计算、Linux 相关的漫画。
如何在 Ubuntu 中升级到最新内核

如何在 Ubuntu 中升级到最新内核

每过段时间,就有新的设备和技术出来,因此如果我们想要充分利用它,保持最新的 Linux 内核就显得很重要。此外,更新系统内核将使我们能够利用新的内核优化,并且它还可以帮助我们避免在早期版本中发现的漏洞。
解决 Linux 内核代码审查人员短缺问题

解决 Linux 内核代码审查人员短缺问题

操作系统安全是现在最重要的事情,而 Linux 则是一个主要被讨论的部分。首先要解决的问题之一就是:我们如何确定提交到上游的补丁已经进行了代码审核?
Fedora 内核是由什么构成的?

Fedora 内核是由什么构成的?

每个 Fedora 内核都起始于一个来自于上游社区的基线版本——通常称之为 vanilla 内核。上游内核就是标准。
Linux 是世界上最大的软件开发项目

Linux 是世界上最大的软件开发项目

两个月前发布 4.5 版已经包含了 2100 万行代码!我的笔记本上运行的内核代码大概有 160 万行,而你的电话可能运行了 250 万行代码。 每天,平均有超过 10800 行的代码增加, 5300 行代码被删除,并且还有 1875 行代码被修改,也就是说每秒钟都有超过 8 行代码的变化!
Linux 内核里的数据结构——双向链表

Linux 内核里的数据结构——双向链表

我们将会首先从双向链表数据结构开始介绍内核里的数据结构。为什么?因为它在内核里使用的很广泛,你只需要在 free-electrons.com 检索一下就知道了。
Linux LTS 内核最新稳定版 4.4.4 版本发布

Linux LTS 内核最新稳定版 4.4.4 版本发布

Greg Kroah-Hartman 于今天正式发布了Linux 内核最新稳定版–4.4.4版本。尽管官方网站并未更新关于该版本的更新日志,但Linux Kernel 4.4分支是LTS(长期支持)分支,我们非常乐于看到LTS版内核能够始终保持更新,并变得更加先进。
为什么主线内核不能运行在我的手机上?

为什么主线内核不能运行在我的手机上?

对于自由软件来说,其最大的自由之一就是能够用一个更新或修改的版本来替换原始版本的程序。尽管如此,数千万使用那些手机里面装着所谓 Linux 的用户却很少能够在他们的手机上运行主线内核(mainline kernel),即使他们拥有替换内核代码的专业技能。可悲的是,我们必须承认目前仍然没有可以运行主线内核的主流手机。在由 Rob Herring 主持的2015届内核峰会(Kernel Summit)上,与会人员共同探讨了这个问题,并进一步谈论了他们应该怎么做才能解决这个问题。 当主持人提问的时候,在座的大多数开发人员都表示他们更乐意在他们的手机上面
Oracle 在其新的 Linux 内核中引入了热补丁功能

Oracle 在其新的 Linux 内核中引入了热补丁功能

Oracle 的Michele Casey 宣布其 Unbreakable Enterprise Kernel (UEK) 4 发布!UEK 可用于 Oracle Linux 6 和 Oracle Linux 7 ,它们是基于 Centos 的衍生版。 UEK 4 带来了不少性能和功能方面的重大更新,包括 CPU 调度、自动NUMA 平衡以及众所期待的内核热补丁(Real-Time Kernel Patching)功能。 UEK 4 中的内核热补丁功能来自于 Linux 内核 4.1 主线内核的Ksplice 开源扩展,它可以让用户无需重启系统即可更新内核,这改进了系统安全和简化了云架构的管理。去年4月发布的 Linux 4.0 内核合并了 Live Patching,为实时内核打补丁功能
末日即将来到,T-800 终结者内核版本 Linux 4.1.15 出现!

末日即将来到,T-800 终结者内核版本 Linux 4.1.15 出现!

这或许是一个神奇的巧合,也许是预言。 如果你相信《终结者》电影中情节,那么我们很快就会看到世界末日了:D 。看起来,天网所控制的 T-800 机器人运行的是 Linux 内核 4.x,而 Linus Torvalds 先生刚刚释放了最新的 4.1.15内核这正是电影中说的,T-800 机器人的内核版本。 Linus Torvalds 前一段时间说,他考虑启动 Linux 内核 4.x 版本,而不是发布 3.20 版本,因为他不想再看到像 2.6.32.x 这样啰嗦的版本号了。当时他还没有下定决心,于是在 Google+上发起了投票,看看人们的选择。 当然,你现在已经知道了最后的投票结果和最终的决
Linux有问必答:如何找出Linux中内置模块的信息

Linux有问必答:如何找出Linux中内置模块的信息

提问:我想要知道Linux系统中内核内置的模块,以及每个模块有哪些参数。有什么方法可以得到内置模块和设备驱动的列表,以及它们的详细信息呢? 现代Linux内核正在随着时间变化而迅速增长,以支持大量的硬件、文件系统和网络功能。在此期间,可加载模块(loadable kernel modules,)的引入防止内核变得越来越臃肿,以及在不同的环境中灵活地扩展功能及硬件支持,而不必重新构建内核。 最新的Linux发行版的内核只带了相对较小的内置模块(built-in modules),其余的特定硬件驱动或者自定义功能作为可加载模块来让你选择地加载或卸载。 内
Linux 4.3 内核增加了 MOST 驱动子系统

Linux 4.3 内核增加了 MOST 驱动子系统

当 4.2 内核还没有正式发布的时候,Greg Kroah-Hartman 就为他维护的各种子系统模块打开了4.3 的合并窗口。 之前 Greg KH 发起的拉取请求(pull request)里包含了 linux 4.3 的合并窗口更新,内容涉及驱动核心、TTY/串口、USB 驱动、字符/杂项以及暂存区内容。这些拉取申请没有提供任何震撼性的改变,大部分都是改进/附加/修改bug。暂存区内容又是大量的修正和清理,但是还是有一个新的驱动子系统。 Greg 提到了4.3 的暂存区改变,这里的很多东西,几乎全部都是细小的修改和改变。通常的 IIO 更新和新驱动,以及我们已经添加了的 MOST 驱
Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?

Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?

问题:我有个 Linux 进程运行在多核处理器系统上。怎样才能找出哪个 CPU 内核正在运行该进程? 当你在 多核 NUMA 处理器上运行需要较高性能的 HPC(高性能计算)程序或非常消耗网络资源的程序时,CPU/memory 的亲和力是限度其发挥最大性能的重要因素之一。在同一 NUMA 节点上调度最相关的进程可以减少缓慢的远程内存访问。像英特尔 Sandy Bridge 处理器,该处理器有一个集成的 PCIe 控制器,你可以在同一 NUMA 节点上调度网络 I/O 负载(如网卡)来突破 PCI 到 CPU 亲和力限制。 作为性能优化和故障排除的一部分,你可能想知道特定的进
Linux 有问必答:如何删除 Ubuntu 上不再使用的旧内核

Linux 有问必答:如何删除 Ubuntu 上不再使用的旧内核

提问:过去我已经在我的Ubuntu上升级了几次内核。现在我想要删除这些旧的内核镜像来节省我的磁盘空间。如何用最简单的方法删除Ubuntu上先前版本的内核? 在Ubuntu上,有几个方法来升级内核。在Ubuntu桌面中,软件更新允许你每天检查并更新到最新的内核上。在Ubuntu服务器上,最为重要的安全更新项目之一就是 unattended-upgrades 软件包会自动更新内核。然而,你也可以手动用apt-get或者aptitude命令来更新。 随着时间的流逝,持续的内核更新会在系统中积聚大量的不再使用的内核,浪费你的磁盘空间。每个内核镜像和其相关联的模块/头文件
使用脚本便捷地在 Ubuntu 中安装最新 Linux 内核

使用脚本便捷地在 Ubuntu 中安装最新 Linux 内核

想要安装最新的Linux内核吗?一个简单的脚本就可以在Ubuntu系统中方便的完成这项工作。 Michael Murphy 写了一个脚本用来将最新的候选版、标准版、或者低延时版的内核安装到 Ubuntu 系统中。这个脚本会在询问一些问题后从 Ubuntu 内核主线页面 下载安装最新的 Linux 内核包。 通过脚本来安装、升级Linux内核: 点击这个 github 页面 右上角的 Download Zip 来下载该脚本。 鼠标右键单击用户下载目录下的 Zip 文件,选择 在此展开 将其解压。 右键点击解压后的文件夹,选择 在终端中打开 到此文件夹下。 此时将会打开一个终端,并
你知道 Linux 内核是如何构建的吗?

你知道 Linux 内核是如何构建的吗?

介绍 我不会告诉你怎么在自己的电脑上去构建、安装一个定制化的 Linux 内核,这样的资料太多了,它们会对你有帮助。本文会告诉你当你在内核源码路径里敲下make 时会发生什么。 当我刚刚开始学习内核代码时,Makefile 是我打开的第一个文件,这个文件看起来真令人害怕 :)。那时候这个 Makefile 还只包含了1591 行代码,当我开始写本文时,内核已经是4.2.0的第三个候选版本 了。 这个 makefile 是 Linux 内核代码的根 makefile ,内核构建就始于此处。是的,它的内容很多,但是如果你已经读过内核源代码,你就会发现每个包含代码的目录都有
对 Linux 内核的发展方向的展望

对 Linux 内核的发展方向的展望

** Linux 4.2 内核涉及到史上最多的贡献者数量,内核开发者 Jonathan Corbet 如是说。** 西雅图报道。Linux 内核持续增长:代码量在增加,代码贡献者数量也在增加。而随之而来的一些挑战需要处理一下。以上是 Jonathan Corbet 在今年的 LinuxCon 的内核年度报告上提出的主要观点。以下是他的主要演讲内容: Linux 4.2 内核已经于上月底释出。Corbet 强调有 1569 名开发者为这个版本贡献了代码,其中 277 名是第一次提交代码。 越来越多的开发者的加入,内核更新非常快,Corbet 估计现在大概 63 天就能产生一个新的内核里程碑。 Linux 4.2
在 Ubuntu 中如何安装或升级 Linux 内核到4.2

在 Ubuntu 中如何安装或升级 Linux 内核到4.2

Linux 内核 4.2已经发布了。Linus Torvalds 在 lkml.org 上写到: 通过这周这么小的变动,看来在最后一周 发布 4.2 版本应该不会有问题,当然还有几个修正,但是看起来也并不需要延迟一周。 所以这就到了,而且 4.3 的合并窗口现已打开。我已经有了几个等待处理的合并请求,明天我开始处理它们,然后在适当的时候放出来。 从 rc8 以来的简短日志很小,已经附加。这个补丁也很小… 新内核 4.2 有哪些改进?: 重写英特尔的x86汇编代码 支持新的 ARM 板和 SoC 对 F2FS 的 per-file 加密 AMDGPU 的内核 DRM 驱动程序 对 Radeon DRM 驱动的
Linux 4.3 将移除 EXT3 文件系统驱动

Linux 4.3 将移除 EXT3 文件系统驱动

正在开发中的 Linux 4.3已经确定会移除EXT3 文件系统的驱动。 这个移除 EXT3 驱动的代码请求今天早上发给了内核主线。上个月的EXT3 文件系统驱动将从 Linux 内核中移除一文中有更多的细节。 长话短说,EXT4 驱动已经稳定有年,而且它向后兼容 EXT2/EXT3 文件系统。SUSE 的Jan Kara 从 Linux 4.3 中去除 EXT3 驱动将会让内核减少两万八千行代码。同时,内核的 VM 和块设备层的 EXT3 特定的修复也会被移除。 (LCTT 译注:所以不用担心,你的 ext3 文件系统的分区依旧可以使用,ext4 驱动会兼容它们的。) 这个代码请求现在可以在LKML上看
庆祝 Linux 24 岁生日!

庆祝 Linux 24 岁生日!

今天是 Linux 的 24 岁生日。 在 1991 年 4月,芬兰的赫尔辛基大学年仅 21 岁的学生Linus Torvalds 开始做一个他自己的操作系统。在 24 年前的今天,即1991年8月25日,他在 usenet 的 comp.os.minix 新闻组中发布了 Linux 的第一个公告,宣布了 Linux 的诞生。以下是当年Torvalds 写的邮件: Path: gmdzi!unido!fauern!ira.uka.de!sol.ctr.columbia.edu!zaphod.mps.ohio-state.edu!wupost!uunet!mcsun!news.funet.fi!hydra!klaava!torvalds From: torv...@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subje