文章 2025-04-01 来自:开发者社区

Linux读写锁源码分析

读写锁由读引用计数、写线程id、读/写条件变量、等待读/写队列长度组合实现。当写优先锁被加写锁后,等待读队列的线程(新的读锁请求)阻塞等待,正在读的线程全部释放读锁后,写锁加锁。当前写锁被释放且写等待队列为空,被阻塞的加读锁线程才会被唤醒。 读优先模式(默认):加读锁优先级一定高于加写锁,写锁必须阻塞等待读锁释放写优先模式:加写锁的优先级一定高于加读锁,读锁必须阻塞等待写锁释放 ...

文章 2025-03-18 来自:开发者社区

Linux 内核源码分析---proc 文件系统

Linux 内核源码分析——proc 文件系统 proc文件系统是Linux内核中一个非常重要的虚拟文件系统,它用于提供系统内核、进程、硬件等信息的接口。通过 proc文件系统,用户和程序可以方便地读取和修改内核数据结构。本文将从内核源码的角度,详细分析 proc文件系统的实现原理和机制。 一、proc 文件系统概述 proc文件系统是一个伪文件系统&#...

文章 2023-11-06 来自:开发者社区

最详细的Linux TCP/IP 协议栈源码分析

一.linux内核网络栈代码的准备知识1. linux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/protocols.c etcINET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tcp/....

最详细的Linux TCP/IP 协议栈源码分析
文章 2023-01-12 来自:开发者社区

Linux ALSA驱动之Platform源码分析(wm8350.c)

Linux ALSA驱动之Platform源码分析(wm8350.c)1、Platform概述        ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DA〉把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音频信号。在具体....

文章 2023-01-12 来自:开发者社区

Linux ALSA驱动之四:Control设备创建流程源码分析(5.18)下

Linux ALSA驱动之四:Control设备创建流程源码分析(5.18)下5、函数详解5.1、snd_ctl_new1函数/** * snd_ctl_new1 - create a control instance from the template * @ncontrol: the initialization record * @private_data: the private ...

Linux ALSA驱动之四:Control设备创建流程源码分析(5.18)下
文章 2023-01-12 来自:开发者社区

Linux ALSA驱动之四:Control设备创建流程源码分析(5.18)上

Linux ALSA驱动之四:Control设备创建流程源码分析(5.18)上Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于 Mixer (混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的。      ...

文章 2023-01-12 来自:开发者社区

Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)下

Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)下3、PCM相关源码分析3.1、snd_pcm_new/** * snd_pcm_new - create a new PCM instance * @card: the card instance * @id: the id string * @device: the device index (zero ...

Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)下
文章 2023-01-12 来自:开发者社区

Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)上

Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)上1、基本概念及逻辑关系如上图,通过上一节声卡的学习我们已经知道PCM是声卡的一个子设备,或者表示一个PCM实例。每个声卡最多可以包含4个pcm的实例,每个pcm实例对应一个pcm设备文件。pcm实例数量的这种限制源于linux设备号所占用的位大小,如果以后使用64位的设备号,我们将可以创建更多的pcm实例。不过大多....

Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)上
文章 2023-01-12 来自:开发者社区

Linux ALSA源码分析(基于Linux 5.18)

Linux ALSA源码分析(基于Linux 5.18)Linux ALSA音频驱动框架详细的描述的ALSA驱动框架的分层及各模块的主要作用,现在从源码的角度来分析ALSA驱动。1、ALSA驱动代码文件结构        在Linux5.18代码树中,Alsa的代码文件结构如下:linux/sound$ tree -d . ├── ac97 ├── aoa....

文章 2022-11-13 来自:开发者社区

【GNU/Linux kernel源码分析】刨根问底,速览,对初学者友好的底层理解,让你对内核不再迷茫

1. Linux kernel1. 源代码目录结构分析1、Linux 内核源代码包括三个主要部分1)内核核心代码:包括linux内核整体架构分析笔记描述的各子系统和子模块,以及其他支撑子系统,如:电源管理、linux初始化等。2)非核心代码:例如库文件(因为 Linux 内核是一个自包含的内核,即内核不依赖其它的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等。3)编译脚本、配置....

【GNU/Linux kernel源码分析】刨根问底,速览,对初学者友好的底层理解,让你对内核不再迷茫

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Linux宝库