Nftables
nftables是Linux内核的一个子系统,提供网络数据包、报文、以太网帧的过滤和分类。该系统从2014年1月19日Linux内核版本3.13发布之后可用。 nftables取代了Netfilter的旧版用户空间工具iptables。nftables相对于iptables的优点是代码重复度少并且更容易扩展到新协议。nftables通过用户空间实用程序nft进行配置,代替之前的传统工具即iptables、 ip6tables、arpta…
共 40 篇文章
nftables是Linux内核的一个子系统,提供网络数据包、报文、以太网帧的过滤和分类。该系统从2014年1月19日Linux内核版本3.13发布之后可用。 nftables取代了Netfilter的旧版用户空间工具iptables。nftables相对于iptables的优点是代码重复度少并且更容易扩展到新协议。nftables通过用户空间实用程序nft进行配置,代替之前的传统工具即iptables、 ip6tables、arpta…
/dev/loop(或称vnd (vnode disk)、lofi(循环文件接口))在类Unix系统中是一种伪设备,这种设备使得文件可以如同块设备一般被访问。 在使用之前,循环设备必须与现存文件系统上的文件相关联。这种关联将提供给用户一个应用程序接口,接口将允许文件视为块特殊文件(参见设备文件系统)使用。因此,如果文件中包含一个完整的文件系统,那么这个文件就能如同磁盘设备一般被挂载。 这种设备文件经常被用于光碟或是磁盘镜像。通过循环挂载…
firewalld 是一款动态防火墙管理器。 firewalld 通过“网络/防火墙”空间的方式,为不同的网络連線或接口定义其自身的信任等级,通过这种方式达到了动态管理的效果。同时,它支持 IPv4、IPv6 防火墙的设置 、以太网网桥以及配置选项可为运行时或永久。另外,它还提供了接口,方便应用添加规则。 命令行 查看状态 sudo firewall-cmd --state 图形化前端(GUI) firewall-config 是fir…
.]] cgroups,其名稱源自控制群組()的簡寫,是Linux内核的一个功能,用来限制、控制與分離一个行程群組的资源(如CPU、内存、磁盘输入输出等)。 這個專案最早是由Google的工程師(主要是Paul Menage和Rohit Seth)在2006年發起,最早的名稱為进程容器(process containers)。在2007年時,因為在Linux內核中,容器(container)這個名詞有許多不同的意義,為避免混亂,被重新命…
在Linux内核中, kernfs是一组函数,其中包含创建各种内核子系统内部使用的伪文件系统所需的功能,以便它们可以利用虚拟文件。例如,sysfs 通过提供一组虚拟文件将有关硬件设备和相关驱动程序的信息从内核导出到使用者空間。 由于拆分了sysfs使用的部分内部逻辑,kernfs 項目被创建。2014年3月30日发布的内核版本 3.14 中,以 Tejun Heo 为主要作者的相关修補程式并入了Linux 内核主线。Kernfs 采用了…
在许多类 Unix 计算机系统中, procfs 是 进程 文件系统 (file system) 的缩写,包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。这个文件系统通常被挂载到 /proc 目录。由于 /proc 不是一个真正的文件系统,它也就不占用存储空间,只是占用有限的内存。 以下操作系统支持 procfs : Solaris BSD Linux(将此概念扩展到了非进程相关数据) IBM AIX (其实现…
直接渲染管理器(,通常缩写为DRM ) 是Linux 内核的一个子系统,负责与现代显卡的GPU接口。 DRM 向用户空间公开了API ,程序可以使用该 API 向 GPU 发送命令和数据并执行配置显示器模式设置等操作。 DRM 最初是作为X Server直接渲染基础设施的内核空间组件开发的,但从那时起,它已被其他图形堆栈替代方案(例如Wayland)以及独立应用程序和库(例如SDL2和Kodi)使用。 用户空间程序可以使用DRM API…
完全公平排程器(,縮寫為CFS),Linux內核的一部份,負責行程排程。參考了澳大利亞麻醉師康恩·科里瓦斯提出的排程器原始碼後,由匈牙利程式員英格·蒙內所提出。在Linux核心2.6.23之後採用,取代先前的O(1)排程器,成為系統預設的排程器。它負責將CPU資源,分配給正在執行中的行程,目標在於最大化程式互動效能與整體CPU的使用率。使用紅黑樹來實作,演算法效率為 O(\log n)。 背景 CFS 是首支以公平佇列(fair que…
邏輯捲軸管理器(,縮寫為),又譯為邏輯卷宗管理器、邏輯磁區管理器、邏輯磁碟管理器、邏輯容體管理員(HP-UX譯名),是Linux核心所提供的邏輯捲軸管理(Logical volume management)功能。它在硬碟的硬盘分区之上,又建立一個邏輯層,以方便系統管理硬碟分割系統。 最先由IBM開發,在AIX系統上實作,OS/2 作業系統與 HP-UX也支援這個功能。在1998年,Heinz Mauelshagen 根據在 HP-UX …
Netlink套接字家族()是一組Linux核心介面(Linux kernel interfaces),可用於行程間通訊,Linux内核与用户空间的进程间、用户进程间的通讯。然而它并不像网络套接字可以用于主机间通讯,Netlink只能用于同一主机上进程通讯,并通过PID来标识它们。 Netlink被设计为在Linux内核与用户空间进程传送各种网络信息。网络工具iproute2利用 Netlink从用户空间与内核进行通讯。Netlink由…
futex(,快速用户区互斥的简称)是一个在Linux上实现锁定和构建高级抽象锁如信号量和POSIX互斥的基本工具。它们第一次出现在内核开发的2.5.7版;其语义在2.5.40固定下来,然后在2.6.x系列稳定版内核中出现。 Futex是由Hubertus Franke(IBM Thomas J. Watson 研究中心), Matthew Kirkwood,Ingo Molnar(Red Hat)和 Rusty Russell(IBM…
OProfile是Linux内核支持的一种性能分析机制。 它在时钟中断处理入口处建立监测点,记录被中断的上下文现场,由配套的用户态的工具oprof_start负责在用户态收集数据,opreport则分析数据并给出分析报告。 通过这个工具,开发人员可以得知一个程序的瓶颈在哪里,进而指导代码优化。 外部链接 [http://www.kernel.org Linux内核源码发布站] [http://oprofile.sourceforge.n…
AppArmor (“Application Armor”,意为“应用盔甲”) 是一个Linux内核安全模块,允许系统管理员通过每个程序的配置文件限制程序的功能。如它的帮助页面所说,“AppArmor 是一个对内核的增强工具,将程序限制在一个有限的资源集合中。AppArmor 独特的安全模型将对访问属性的控制绑定到程序而非用户。” AppArmor 通过提供强制访问控制(MAC)来补充传统的Unix自主访问控制(DAC)模型。 从Lin…
binfmt_misc是Linux内核的一项功能,其使得内核可识别任意类型的可执行文件格式并传递至特定的用户空间应用程序,如模拟器和虚拟机。它是内核中准备用户空间程序运行的诸多二进制格式文件处理程序之一 .。 可执行文件格式透过特殊文件系统binfmt_misc接口注册(通常挂载在/proc)。注册流程既可通过向名为register的procfs文件发送特殊序列,也可经由封装器(如基于Debian发行版的binfmt-support包)…
用户空间文件系统(Filesystem in Userspace,簡稱FUSE)是一个面向类Unix计算机操作系统的软件接口,它使无特权的用户能够无需编辑内核代码而创建自己的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如GlusterFS和lustre使用FUSE实现。 Linux用于支持用户空间文件系统的内核模块名叫FUSE,FUSE一词有时特指Linux下的用户空间文件系统。 文件系统是一个通用操作系统重要的组成部…
iptables是運行在使用者空間的應用軟體,通過控制Linux內核netfilter模組,來管理網路封包的处理和转发。在大部分Linux发行版中,可以通过 [https://linux.die.net/man/8/iptables 手册页] 或 man iptables 获取用户手册。通常iptables需要内核模块支持才能运行,此处相应的内核模块通常是Xtables。因此,iptables操作需要超级用户权限,其可执行文件通常位于 …
LXC,其名稱來自Linux軟體容器(Linux Containers)的縮寫,一種作業系統層虛擬化(Operating system–level virtualization)技術,為Linux内核容器功能的一个用户空间接口。它將應用軟體系統打包成一個軟體容器(Container),內含應用軟體本身的程式碼,以及所需要的作業系統核心和函式庫。透過統一的命名空間和共用API來分配不同軟體容器的可用硬體資源,創造出應用程式的獨立沙箱執行環…
inotify是Linux核心子系統之一,做為檔案系統的附加功能,它可監控檔案系統並將異動通知應用程式。本系統的出現取代了舊有Linux核心裡,擁有類似功能之dnotify模組。 inotify的原始開發者為John McCutchan、羅伯特·拉姆與Amy Griffis。於Linux核心2.6.13發行時(2005年六月十八日),被正式納入Linux核心。儘管如此,它仍可透過修補程式的方式與2.6.12甚至更早期的Linux核心整合…
zswap是一项Linux内核的虚拟内存压缩功能,可为将要交换的页面提供压缩回写缓存。当内存页将要交换出去时,zswap不将其移动到交换设备,而是对其执行压缩,然后存储到系统RAM内动态分配的内存池中。回写到实际交换设备的动作则会延迟,甚至能完全避免,从而显著减少Linux系统用于交换的I/O;副作用则是压缩所需的额外CPU周期。 zswap能减少I/O,因而有利于使用固态存储的设备,包括嵌入式设备、上网本及其它相似的低端硬件设备,也包…
zram(也称为zRAM,先前称为compcache)是Linux核心的一项功能,可提供虚拟内存压缩。zram通过在RAM内的压缩块设备上分页,直到必须使用硬盘上的交换空间,以避免在磁盘上进行分页,从而提高性能。由于zram可以用内存替代硬盘为系统提供交换空间的功能,zram可以在需要交换/分页时让Linux更好利用RAM,在物理内存较少的旧电脑上尤其如此。 即使RAM的价格相对较低(),zram仍有利于嵌入式设备、上网本和其它相似的低…