标签:#Linux内核接口

共 10 篇文章

Klibc

klibc,一種C標準函式庫,開發者為漢·彼得·艾文(Hans Peter Anvin)。它是自由軟體,採用GNU 通用公眾授權條款或BSD授權條款。它主要應用於Linux開機流程中,而且它也是早期用戶空間(Early user space)與initramfs的一部份。在此時,這些應用程式無法使用glibc。它也適用於嵌入式系統的開發。 註釋 外部連結 [https://web.archive.org/web/200701071037…

GNU C函式庫

GNU C库,又名glibc,是GNU计划所实现的C标准库。尽管其名字中带有“C库”,但它现在也直接支持C++(以及间接支持其他编程语言)。它是自由软件基金会(FSF)在20世纪90年代初为他们的GNU操作系统设计的。它为GNU系统,GNU/Linux系统和一些其他的类Unix系统提供了系统核心库。这些库提供了关键的API,包括ISO C11、POSIX.1-2008和BSD所规定的API和一些底层API,包括open、read、wri…

Kernfs (Linux)

在Linux内核中, kernfs是一组函数,其中包含创建各种内核子系统内部使用的伪文件系统所需的功能,以便它们可以利用虚拟文件。例如,sysfs 通过提供一组虚拟文件将有关硬件设备和相关驱动程序的信息从内核导出到使用者空間。 由于拆分了sysfs使用的部分内部逻辑,kernfs 項目被创建。2014年3月30日发布的内核版本 3.14 中,以 Tejun Heo 为主要作者的相关修補程式并入了Linux 内核主线。Kernfs 采用了…

Procfs

在许多类 Unix 计算机系统中, procfs 是 进程 文件系统 (file system) 的缩写,包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。这个文件系统通常被挂载到 /proc 目录。由于 /proc 不是一个真正的文件系统,它也就不占用存储空间,只是占用有限的内存。 以下操作系统支持 procfs : Solaris BSD Linux(将此概念扩展到了非进程相关数据) IBM AIX (其实现…

ALSA

的截圖]] 高级Linux声音体系(,缩写為)是Linux内核中,为声卡提供的驱动组件,以替代原先的OSS(开放声音系统)。 一部分的目的是支持声卡的自动配置,以及完美的处理系统中的多个声音设备,这些目的大多都已达到。另一个声音框架JACK使用ALSA提供低延迟的专业级音频编辑和混音能力。 Jaroslav Kysela过去是这个项目的领导者,这个项目开始于为1998年Gravis Ultrasound所开发的驱动,它一直作为一个单独的…

X32 ABI

x32 ABI()是一种ABI及Linux内核接口之一。它允许程序得到x86-64的优点(较大的CPU寄存器号码,更佳的浮点性能,更快的地址无关代码共享库,通过寄存器传递函数参数,更快的系统调用指令),而使用32位指针,从而避免了对64位指针的开销。 细节 尽管x32 ABI限制了程序的虚拟地址为4 GB,它也减小了程序的内存占用量,且在某些情况下,能使它运行得更快。一般而言,x32在SPEC CPU整数基准比x86-64快5-8%。在…

直接渲染管理器

直接渲染管理器(,通常缩写为DRM ) 是Linux 内核的一个子系统,负责与现代显卡的GPU接口。 DRM 向用户空间公开了API ,程序可以使用该 API 向 GPU 发送命令和数据并执行配置显示器模式设置等操作。 DRM 最初是作为X Server直接渲染基础设施的内核空间组件开发的,但从那时起,它已被其他图形堆栈替代方案(例如Wayland)以及独立应用程序和库(例如SDL2和Kodi)使用。 用户空间程序可以使用DRM API…

Netlink

Netlink套接字家族()是一組Linux核心介面(Linux kernel interfaces),可用於行程間通訊,Linux内核与用户空间的进程间、用户进程间的通讯。然而它并不像网络套接字可以用于主机间通讯,Netlink只能用于同一主机上进程通讯,并通过PID来标识它们。 Netlink被设计为在Linux内核与用户空间进程传送各种网络信息。网络工具iproute2利用 Netlink从用户空间与内核进行通讯。Netlink由…

Bionic (軟體)

Bionic libc,是一種 C 標準函式庫(包含libc、libdl、libm與libpthread),由 Google 所開發的自由軟體,用於 Android 嵌入式系統上,採用 BSD授權條款運行於Linux kernel上。Google 希望用它來取代 glibc,它的發展目標是達到輕量化以及高運行速度。 與典型的BSD C函式庫不同的地方在於,Bionic不倚賴BSD kernel,也無須使用glibc的『GNU較寬鬆公共授…

Sysfs

Sysfs 是Linux 2.6所提供的一種虛擬檔案系統。這個檔案系統不僅可以把裝置(devices)和驅動程式(drivers)的資訊從内核輸出到用户空间,也可以用來對裝置和驅動程式做設定。 歷史 Linux内核開發團隊在Linux 2.5的開發過程中引入了『Linux驅動程式模型』(Linux driver model),以解決2.4核心遭遇的以下問題: 沒有統一的機制表達驅動程式和裝置的關係。 不存在一般的熱插拔(hotplug)…