关于 Linux 内核的 30 件你不知道的事

标签: linux 内核 知道 | 发表时间:2021-08-27 15:00 | 作者:[email protected] (linux)
出处:https://linux.cn/

Linux 内核今年 30 岁了。

Linux 内核今年 30 岁了。这开创性的开源软件的三个十年,让用户能够运行自由软件,让他们能从运行的应用程序中学习,让他们能与朋友分享他们所学到的知识。有人认为,如果没有 Linux 内核,我们如今所享受的  开源文化 和自由软件的累累硕果,可能就不会应时而出现。如果没有 Linux 作为催化剂,苹果、微软和谷歌所开源的那些就不可能开源。Linux 作为一种现象,对开源文化、软件开发和用户体验的影响,是怎么强调都不为过的,但所有这一切,都滥觞于一个 Linux 内核。

Linux 内核是启动计算机、并识别和确保计算机内外所连接的所有组件之间通信的软件。这些对于大多数用户从未想过,更不用说能理解的代码,Linux 内核有很多令人惊讶的地方。以下是 Linux 内核在其三十年生命中每一年的一件事。顺序无关。

  1. Linux 是第一个具有 USB 3.0 驱动的操作系统。Sarah Sharp 在 2009 年 6 月 7 日宣布她的 USB 3.0 设备的驱动程序可以使用了,她的代码被包含在内核 2.6.31 版本中。
  2. 当某些事件发生时,内核会将自己标记为“受污染”,这在以后的故障排除中可能有用。运行一个“被污染”的内核并不是什么问题。但如果出现错误,首先要做的是在一个没有被污染的内核上重现该问题。
  3. 你可以指定一个主机名或域名作为  ip= 内核命令行选项的一部分,Linux 会保留它,而不是用 DHCP 或 BOOTP 提供的主机名或域名来覆盖它。例如, ip=::::myhostname::dhcp 设置主机名  myhostname
  4. 在文本启动过程中,可以选择显示黑白的、16 色的或 224 色的 Tux 徽标之一。
  5. 在娱乐业中,DRM 是一种用来防止访问媒介的技术。然而,在 Linux 内核中,DRM 指的是直接渲染管理器Direct Rendering Manager,它指的是用于与对接显卡的 GPU 的库( libdrm)和驱动程序。
  6. 能够在不重启的情况下给 Linux 内核打补丁。
  7. 如果你自己编译内核,你可以将文本控制台配置为超过 80 列宽。
  8. Linux 内核提供了内置的 FAT、exFAT 和 NTFS(读和写)支持。
  9. Wacom 平板电脑和许多类似设备的驱动程序都内置在内核中。
  10. 大多数内核高手使用  git send-email 来提交补丁。
  11. 内核使用一个叫做  Sphinx 的文档工具链,它是用 Python 编写的。
  12. Hamlib 提供了具有标准化 API 的共享库,可以通过你的 Linux 电脑控制业余无线电设备。
  13. 我们鼓励硬件制造商帮助开发 Linux 内核,以确保兼容性。这样就可以直接处理硬件,而不必从制造商那里下载驱动程序。直接成为内核一部分的驱动程序也会自动从新版本内核的性能和安全改进中受益。
  14. 内核中包含了许多树莓派模块(Pi Hats)的驱动程序。
  15. netcat 乐队发布了一张只能作为  Linux 内核模块 播放的专辑。
  16. 受 netcat 发布专辑的启发,人们又开发了一个  把你的内核变成一个音乐播放器 的模块。
  17. Linux 内核的功能支持许多 CPU 架构:ARM、ARM64、IA-64、 m68k、MIPS、Nios II、PA-RISC、OpenRISC、PowerPC、s390、 Sparc、x86、Xtensa 等等。
  18. 2001 年,Linux 内核成为第一个  以长模式运行的 x86-64 CPU 架构
  19. Linux 3.4 版引入了 x32 ABI,允许开发者编译在 64 位模式下运行的代码,而同时只使用 32 位指针和数据段。
  20. 内核支持许多不同的文件系统,包括 Ext2、Ext3、Ext4、JFS、XFS、GFS2、GCFS2、BtrFS、NILFS2、NFS、Overlay FS、UDF 等等。
  21. 虚拟文件系统Virtual File System(VFS)是 Linux 内核中的一个软件层,为用户运行的应用程序提供文件系统接口。它也是内核的一个抽象层,以便不同的文件系统实现可以共存。
  22. Linux 内核包括一个实体的盲文输出设备的驱动程序。
  23. 在 2.6.29 版本的内核中,启动时的 Tux 徽标被替换为 “Tuz”,以提高人们对当时影响澳大利亚的塔斯马尼亚魔鬼Tasmanian Devil(即袋獾)种群的一种侵袭性癌症的认识。
  24. 控制组Control Groups(cgroups)是容器(Docker、Podman、Kubernetes 等的基础技术)能够存在的原因。
  25. 曾经花了大量的法律行动来解放 CIFS,以便将其纳入内核中,而今天,CIFS 模块已被内置于内核,以实现对 SMB 的支持。这使得 Linux 可以挂载微软的远程共享和基于云的文件共享。
  26. 对于计算机来说,产生一个真正的随机数是出了名的困难(事实上,到目前为止是不可能的)。 hw_random 框架可以利用你的 CPU 或主板上的特殊硬件功能,尽量改进随机数的生成。
  27. 操作系统抖动 是应用程序遇到的干扰,它是由后台进程的调度方式和系统处理异步事件(如中断)的方式的冲突引起的。像这些问题在内核文档中都有详细的讨论,可以帮助面向 Linux 开发的程序员写出更聪明的代码。
  28. make menuconfig 命令可以让你在编译前使用 GUI 来配置内核。 Kconfig 语言定义了内核配置选项。
  29. 对于基本的 Linux 服务器,可以实施一个  看门狗 系统来监控服务器的健康状况。在健康检查间隔中, watchdog 守护进程将数据写入一个特殊的  watchdog 内核设备,以防止系统重置。如果看门狗不能成功记录,系统就会被重置。有许多看门狗硬件的实现,它们对远程任务关键型计算机(如发送到火星上的计算机)至关重要。
  30. 在火星上有一个 Linux 内核的副本,虽然它是在地球上开发的。

via:  https://opensource.com/article/21/8/linux-kernel

作者: Seth Kenlon 选题: lujun9972 译者: wxy 校对: wxy

本文由  LCTT 原创编译, Linux中国 荣誉推出

相关 [linux 内核 知道] 推荐:

关于 Linux 内核的 30 件你不知道的事

- - Linux 中国◆开源社区
Linux 内核今年 30 岁了. Linux 内核今年 30 岁了. 这开创性的开源软件的三个十年,让用户能够运行自由软件,让他们能从运行的应用程序中学习,让他们能与朋友分享他们所学到的知识. 有人认为,如果没有 Linux 内核,我们如今所享受的  开源文化 和自由软件的累累硕果,可能就不会应时而出现.

Linux 内核优化

- - CSDN博客系统运维推荐文章
声明:本文档来自互联网整理部份加自已实验部份所得:. TCP 服务器 <---> 客户端通信状态.           ACK--------------->                                          建立连接.                    <---------------未回复.

Linux内核里的智能指针

- 浪客 - 博客园-首页原创精华区
众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常. 现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的Smart_ptr库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能.

Linux 内核参数优化(for oracle)

- - CSDN博客数据库推荐文章
    Oracle 不同平台的数据库安装指导为我们部署Oracle提供了一些系统参数设置的建议值,然而建议值是在通用的情况下得出的结论,并非能完全满足不同的需求. 使用不同的操作系统内核参数将使得数据库性能相差甚远. 本文描述了linux下几个主要内核参数的设置,供参考.   共享内存是在系统内核分配的一块缓冲区,多个进程都可以访问该缓冲区.

“Linux”不等同于Linux内核:构建Linux系统的8个软件包

- - 极客范 - GeekFan.net
Linux发行版并不仅仅是Linux内核. 所有的Linux发行版都包含了除内核之外的一些必要的软件包,比如Grub引导程序、Bash shell、GNU shell工具软件、守护进程、X.org图形服务器和桌面环境等等. 所有这些不同的程序均由相互独立的开发小组开发. 这些程序被Linux发行版集成到一起从而形成一套完整的“Linux”操作系统.

Google 向新版 Linux 内核贡献技术

- flypen - 谷奥——探寻谷歌的奥秘
本月初刚刚发布的 Linux 2.6.35 版内核中,包含了 RPS 和 RFS 这两项由 Google 贡献的新技术. RPS 的全称是 Receive Packet Steering,这项技术将流入的数据包分布给所有可用的 CPU 去处理,而 RFS (Recevie Flow Steering) 则负责计算哪个核心最适合处理哪项工作.

Linux Kernel 3.0 内核文件系统EXT4 与 Btrfs测试比较

- Power - cnBeta.COM
EXT4文件系统大家可能都比较熟悉了,现在流行的ubuntu 11.04和Fedora15都是默认采用的EXT4,ext4是Linux的第四代扩展文件系统,是EXT3的后继版本. Btrfs 被称为是下一代 Linux 文件系统. 近年来 ext2/3 遇到越来越多的扩展性问题,在期待 ext4 的同时,人们发现了 btrfs,据说它采用了很多先进的文件系统设计,不仅解决了 ext2/3 的扩展性问题,还让人们看到了下一代文件系统所具有的许多其他特性.

Linux 3.1 内核将支持无线局域网唤醒

- bamerl - Wow! Ubuntu
Linux 操作系统早已支持局域网唤醒 (WOL) ,而下一版本的 Linux 3.1 Kernel 系统内核将会引入无线局域网唤醒,简称 WWOL. 和有线版本类似,无线局域网唤醒可以让系统在进入挂起状态 (ACPI S3) 或者另一种低功耗状态的同时继续保持无线连接处于开启状态,而一旦接到用户的特定操作,或者从AP断开连接,就会将系统唤醒,并恢复到原始状态.

Linux 3.1内核将支持无线局域网唤醒

- longman - cnBeta.COM
Linux操作系统早已支持局域网唤醒(WOL),而下一版本的Linux 3.1 Kernel系统内核将会引入无线局域网唤醒,简称WWOL. 和有线版本类似,无线局域网唤醒可以让系统在进入挂起状态(ACPI S3)或者另一种低功耗状态的同时继续保持无线连接处于开启状态,而一旦接到用户的特定操作,或者从AP断开连接,就会将系统唤醒,并恢复到原始状态.

Linux 3.1 RC5版发布,内核开发暂时转移到GitHub

- Tairan Wang - ITeye资讯频道
Linus Torvalds已经发布了Linux 3.1的第5个候选版本,但是该版本没有出现在Linux Kernel官网中,Torvalds已经将Linux内核的主线版本源码转移到了GitHub中. Linux Kernel官网页面. 这源起上个月发生的黑客事件,上周四,kernel.org发布了一则公告,公告称Linux内核源码在8月份早些时候被黑客入侵了,但在8月28日才发现该情况,不过官方称源码本身没有受到影响.