百度360必应搜狗淘宝本站头条

linux 链表

    linux中的消息队列简单总结(linux中的消息队列简单总结是什么)

    l消息队列在LinuxIPC中一种很常见的通信方式,本人主要在线程间通信之间使用消息队列,l消息队列在理解上可认为是一种链表,线程可以往该消息队列写消息,同时也可以取出消息,当时使用消息队列前必须前初始化一个消息队列,也就是创建一个消息队列。l消息队列的接收函数mq_receive(),该函...

    如何阅读Linux内核源码?Linux内存管理中SLAB分配器(源码分析)

    注:本文讲述的SLAB相关代码是基于Linux内核v4.7,代码网址。一,SLAB分配器的由来在讲SLAB分配器之前先说两个概念:内部碎片和外部碎片。外部碎片指的是还没有被分配出去(不属于任何进程)但由于太小而无法分配给申请内存空间的新进程的内存空闲区域。外部碎片是除了任何已分配区域或页面外部的空...

    Linux设备驱动--块设备之概念和框架以及相关结构体

    基本概念块设备(blockdevice)---是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或者从设备一次性读到缓冲区。字符设备(Characterdevice)---是一个顺序的数据流设备,对这种设备的读写是...

    伙伴系统和slab机制(伙伴系统算法例题)

    伙伴系统Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表。四级页表分别为:页全局目录(PageGlobalDirectory)页上级目录(PageUpperDirectory)页中间目录(Pag...

    Linux ALSA 音频系统:逻辑设备篇(linux audio)

    声卡和PCM设备的建立过程前面几章分析了Codec、Platform、Machine驱动的组成部分及其注册过程,这三者都是物理设备相关的,大家应该对音频物理链路有了一定的认知。接着分析音频驱动的中间层,由于这些并不是真正的物理设备,故我们称之为逻辑设备。PCM逻辑设备,我们又习惯称之为P...

    Linux ALSA 音频系统:物理链路篇02

    Platform概述中提到音频Platform驱动主要用于音频数据传输,这里又细分为两步:启动dma设备,把音频数据从dmabuffer搬运到cpu_daiFIFO,这部分驱动用snd_soc_platform_driver描述,后面分析用pcm_dma指代它。启动数字音频...

    linux定时器编程详解(包含代码)(linux定时器命令)

    linux服务器开发相关视频解析:linux后台开发之海量、高并发场景下,定时器如何设计5种红黑树的场景,从Linux内核谈到Nginx源码,听完醍醐灌顶网络程序需要处理的第三类事件是定时事件,比如定期检测一个客户连接的活动状态。服务器程序通常管理着众多定时事件,因此有效组织定时事件,使之能在预期的...

    常见的链表翻转,字节跳动加了个条件,面试者高呼「我太难了」

    一.序我又来讲链表题了,这道题据说是来自字节跳动的面试题。为什么说是「据说」呢?因为我也是看来的,觉得题目还是挺有意思,但是原作者给出的方案,我想了想觉得还有优化空间,就单独拿出来讲讲。就像本文的题目说的,这是一道关于链表翻转的题。链表的翻转,之前的文章也讲了很多,例如:链表翻转、链表两两翻转、K...

    五问 Linux 网络防火墙(四):nftables 的高效框架与数据结构

    问题4:nftables除了使用哈希表,还有其他什么手段来解决iptables的痛点和瓶颈的nftables是Linux内核中用于网络流量过滤的现代框架,旨在替代iptables,并解决其在性能和灵活性方面的痛点。除了使用哈希表来提高规则匹配的效率,nftables还采用了多种其他手...

    Linux工作队列workqueue源码分析(四)

    前文我们讲了workqueue的接口,实现,及线程池的创建,现在我们讲一下线程的管理调度,及工作任务函数的执行逻辑。工作队列的管理及调度操作有三个部分,分别是空闲线程管理,求救逻辑处理,及工作者线程。空闲线程管理空闲线程管理通过计时器定期检查线程池中是否有太多的空闲线程,如果空闲线程的数量合理,则退...