O(1)排程器
O(1)排程器( ),Linux內核中的排程器,其使用的排程演算法,保證每個行程都能在常數時間內被執行到。因演算法效率為O(1),因此得名。在它之前的排程器,都被稱為O(n)排程器(O(n) scheduler)。由英格·蒙內提出,在Linux-2.6.0時加入,在版本2.6.23後,被完全公平排程器取代。 概論
共 40 篇文章
O(1)排程器( ),Linux內核中的排程器,其使用的排程演算法,保證每個行程都能在常數時間內被執行到。因演算法效率為O(1),因此得名。在它之前的排程器,都被稱為O(n)排程器(O(n) scheduler)。由英格·蒙內提出,在Linux-2.6.0時加入,在版本2.6.23後,被完全公平排程器取代。 概論
基于内核的虚拟机(,縮寫為)是一种用於Linux內核中的虛擬化基礎设施,可將Linux內核轉化為一個虚拟机监视器。KVM于2007年2月5日被并入Linux 2.6.20核心中。KVM需要支持特性的处理器。。 KVM起初支持x86平台处理器并随后被移植到了、PowerPC、和IA-64平台上。在3.9内核合并时也导入了ARM移植版。 在KVM上可以运行诸多客户操作系统,包括Linux的诸多发行版、BSD、Solaris、Windows、…
記憶體技術設備(,縮寫為 MTD),是Linux系統中设备文件系统的一個類別,主要用於快閃記憶體的應用,是一種快閃記憶體轉換層(Flash Translation Layer,FTL)。創造MTD子系統的主要目的是提供一個介於快閃記憶體硬體驅動程式與高階應用程式之間的抽象層。 因為具備以下特性,所以 MTD 裝置和硬碟相較之下,處理起來要複雜許多: 具有 eraseblocks 的特微,而不是像硬碟一樣使用叢集。 eraseblocks…
安全增強式Linux(SELinux,Security-Enhanced Linux)是一个Linux内核的安全模组,其提供了访问控制安全策略机制,包括了强制访问控制(Mandatory Access Control,MAC)。 SELinux是一组内核修改和用户空间工具,已经被添加到各种Linux发行版中。其软件架构力图将安全决策的执行与安全策略分离,并简化涉及执行安全策略的软件的数量。SELinux的核心概念可以追溯回美国国家安全局…
Video4Linux或V4L是一個及裝置輸出API,以及Linux的驅動程式框架,支援很多USB摄像头、以及其他裝置。Video4Linux與Linux内核緊密整合,Video4Linux取名的靈感來自Video for Windows(有時候會縮寫為“V4W”),但兩者在技術上並沒有任何關聯。 第一版 V4L在Linux内核的2.1.X開發循環中被引入。 V4L1在Linux内核2.6.38放棄支援 。 第二版 V4L2是V4L的第…
Netfilter,在Linux內核中的一個軟體框架,用於管理網路封包。不僅具有網路位址轉換(NAT)的功能,也具備封包內容修改、以及封包過濾等防火牆功能。利用運作於使用者空間的應用軟體,如iptables、nftables、ebtables和arptables等,來控制Netfilter,系統管理者可以管理通過Linux作業系統的各種網路封包。1990年代,Netfilter在Linux 2.3.15版時進入Linux內核,正式應用於…
chroot是起源于Unix系统的一个操作,作用于正在运行的进程和它的子进程,改变它外显的根目录。一个运行在这个环境下,经由chroot设定根目录的程序,它不能够对这个指定根目录之外的文件进行存取动作,不能读取,也不能更改它的内容。chroot这一特殊表达可以指chroot(2)系统调用或chroot(8)应用程序。 由chroot创造出的那个根目录,叫做“chroot监牢”(chroot jail,或chroot prison)。 历…
]] Magic SysRq組合鍵是一串能直接與Linux 内核溝通的組合鍵,允許使用者就算在系統進入死循環瀕臨崩潰時,直接呼叫系統底層將資料寫入檔案系統或重新開機,避免尚未寫入檔案系統與硬碟的數據在關機後消失。 效果類似於電腦上的電源鍵或重新開機鍵,但能執行更多操作。 此組合鍵提供一系列在系統崩潰時常用到的功能,比如上述的寫入數據,或關閉 X Server 、Kill 進程、卸載 檔案系統,也通常是當機時的最後手段。 但在 Linux…
内核页表隔离(,缩写KPTI,也简称PTI,旧称KAISER)是Linux内核中的一种技术,旨在更好地隔离用户空间与内核空间的内存来提高安全性,缓解现代x86 CPU中的“熔毁(Meltdown)”硬件安全缺陷。 前身 KPTI补丁基于KAISER,它是一个用于缓解不太重要问题的早期补丁,当时业界还未了解到Meltdown的存在。 如果没有KPTI,每当执行用户空间代码(应用程序)时,Linux会在其分頁表中保留整个内核内存的映射,并保…
开放声音系统(Open Sound System,OSS)是一個在 Unix 操作系統上用於發出和取得聲音的介面。它是基於標準的 Unix 設備(即 POSIX 的讀、寫、ioctl 等)。 OSS 是在 1992年由 Hannu Savolainen 創造的,目前可用於11個主流的類Unix操作系統。OSS 可以在4種授權選擇下發布,其中3種是自由軟體授權,因此 OSS 是自由軟體。 API 這個 API 設計成使用傳統 Unix 的…
Sysfs 是Linux 2.6所提供的一種虛擬檔案系統。這個檔案系統不僅可以把裝置(devices)和驅動程式(drivers)的資訊從内核輸出到用户空间,也可以用來對裝置和驅動程式做設定。 歷史 Linux内核開發團隊在Linux 2.5的開發過程中引入了『Linux驅動程式模型』(Linux driver model),以解決2.4核心遭遇的以下問題: 沒有統一的機制表達驅動程式和裝置的關係。 不存在一般的熱插拔(hotplug)…
在计算机领域,特别是类Unix系统中,裸设备是一种特殊类型的块设备文件,允许以直接访问硬盘的方式访问一个存储设备,而不经过操作系统的高速缓存和缓冲器(尽管可能仍旧使用硬件高速缓存)。应用程序如数据库管理系统可能直接使用裸设备,使它们能自行管理数据的缓存方式,而不将这些任务交给操作系统。 在FreeBSD系统中,所有的块设备实际都是裸设备。为了简化缓存的管理以及增强可测量性和性能,FreeBSD 4.0中停止了对非裸设备的支持。 在Lin…
Ksplice是Linux核心的一個延伸套件,為自由軟體,採GPLv2方式釋出。這個套件能夠為正在運行中的內核加入安全性修補程式(patch)而不需要進行重開機(reboot)。這個延伸套件可以減少停機時間(down time),增進可用性。但是Ksplice支援的修補程式,只限於那些沒有對核心的資料結構進行顯著改變的修改。 歷史 功能設計 外部連結 [https://oss.oracle.com/ksplice/software/ 原…
perf是一个Linux系统中的性能分析工具,它支持硬件性能计数、软件性能计数和动态侦测。 子命令 perf与一些子命令配合使用: stat: 测量运行单个程序或是系统运行一段时间内的性能计数 top: 动态查看当前系统的热点函数 record: 测量和保存单个程序的采样数据 report: 分析由perf record产生的数据文件 * list: 列举出perf支持的性能计数事件 参考文献
在一些操作系统上,网络块设备(Network Block Device, NBD)是一种设备节点,其内容由远程计算机提供。网络块设备通常用于访问非物理安装于本地计算机上,而在远程的存储设备。例如,本地计算机可访问连接于另一台计算机上的硬盘。 技术上讲,网络块设备由三部分组成,服务器、客户端及连接之间的网络。在设备节点工作的客户端上,内核驱动/模块控制该设备。每当程序试图访问该设备时,内核驱动将转发请求(如果内核中没有完全实现客户端部分,…
kexec(kernel execution,类似于Unix或Linux的系统调用)是Linux内核的一种机制,它允许从当前运行的内核启动新内核。kexec会跳过由系统固件(BIOS或UEFI)执行的引导加载程序阶段和硬件初始化阶段,直接将新内核加载到主内存并立即开始执行。这避免了与完全重新启动相关的漫长时间,并且可以通过最小化停机时间来帮助系统满足高可用性要求。 虽然可行,但使用kexec等机制会带来两大挑战: 旧内核的内存被新内核覆…
epoll是Linux核心的可擴展I/O事件通知機制。於Linux 2.5.44首度登場,它設計目的旨在取代既有POSIX select(2)與poll(2)系統函式,讓需要大量操作檔案描述子的程式得以發揮更優異的性能(舉例來說:舊有的系統函式所花費的時間複雜度為O(n),epoll的時間複雜度O(log n))。epoll 实现的功能与 poll 类似,都是监听多个文件描述符上的事件。 epoll與FreeBSD的kqueue類似,底…
OverlayFS是一个面向Linux的文件系统服务,其实现一个面向其他文件系统的。 它于2014年被合并到Linux内核的3.18版本。其4.0版本带来了必要的改进,例如Docker中所需的overlay2存储驱动程序。 OverlayFS的主要机制涉及当两个文件系统提供同一名称的目录时目录访问的合并。除此之外,OverlayFS呈现其中一个所产生的对象(如果有),“上层”文件系统优先。OverlayFS与其他覆盖型文件系统不同,Ov…
kdump是Linux内核的一个功能,可在发生内核错误时创建核心转储。当被触发时,kdump会导出一个内存映像(也称为vmcore),该映像可用于调试和确定崩溃的原因。 主内存的转储映像作为可执行与可链接格式(ELF)对象导出,可以在处理内核崩溃时通过/proc/vmcore直接访问,也可以自动保存到本地可访问的文件系统、 裸设备或通过网络访问的远程系统。 内部 在内核崩溃的情况下,kdump通过引导另一个Linux内核(称为转储捕获内…
TUX Web服务器是一种适用于Linux的,以GNU通用公共许可证(GPL)许可,由英格·蒙內维护。 它目前局限于提供,并协调内核空间模块、使用者空間模块和常规用户空间的Web服务器守护进程来提供动态内容。常规用户空间的Web服务器不需进行修改就可与TUX协调,但用户空间的代码必须使用基于tux(2)系统调用的新接口。 TUX和其他Web服务器的主要区别包括: TUX部分在定制版本的Linux内核中运行,部分以用户空间守护进程运行。 …