写点什么

Linux内核

0 人感兴趣 · 85 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/f1/f15b3dcfcea3bbcf50dd454704c43b6c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Linux 设备驱动系列(六)——文件操作

用户头像
Linux内核拾遗
15 小时前

当需要对设备执行打开/关闭和读写操作时,我们需要在设备驱动程序中注册一些结构,主要是struct cdev和文件操作struct file_operations。

https://static001.geekbang.org/infoq/a3/a3ea8c3128ea39145d909c72025ac53a.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Linux 设备驱动系列(五)——字符驱动设备文件

设备文件不是普通的文件,它提供了一种便利的方式来访问系统资源,而不需要应用开发者了解底层设备的工作原理。与大多数Unix系统一样,设备驱动程序本身就是Linux内核的一部分。

Linux 设备驱动系列(四)——设备号

要创建特殊文件,我们需要了解设备驱动程序中的主设备号和次设备号(Major && Minor Number)。 Linux内核按照"<major>:<minor>"方式来表示一个字符设备或者块设备。

https://static001.geekbang.org/infoq/e2/e2a961e763da517e04aa1fa3ea8d9573.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Linux 设备驱动系列(三)——参数传递

在C语言应用程序中,可以通过在main函数定义中添加argc和argv参数来获取用户的输入。类似的,Linux设备驱动程序同样可以传递参数。本文将介绍Linux设备驱动程序中参数定义以及使用方法。

https://static001.geekbang.org/infoq/c6/c606675305ae649159d6b9995ec49871.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Linux 设备驱动系列(一)——设备驱动介绍

设备驱动是一类特殊的系统软件,它用于使能与硬件设备的交互,如若缺少特定的设备驱动,相应的硬件设备也无法工作。 设备驱动通常是与特定操作系统绑定,并且具有硬件依赖性,它在硬件设备以及使用该硬件设备的程序或者操作系统之间扮演“翻译者”的角色。

https://static001.geekbang.org/infoq/d8/d89a4f092d85b54f1c245c6150c92b72.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

从 Linux 内核角度探秘 JDK MappedByteBuffer

本文涉及到的内核源码版本为: 5.4 ,JVM 源码为:OpenJDK17,RocketMQ 源码版本为:5.1.1

https://static001.geekbang.org/infoq/3b/3b9b7393d20dd86e8a35e03cd7e54cf4.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

一步一图带你构建 Linux 页表体系 —— 详解虚拟内存如何与物理内存进行映射

笔者之前在自己的专栏《聊聊 Linux 内核》 里通过大量的篇幅写了一个系列关于内存管理相关的文章,在这个系列文章中,笔者分别通过虚拟内存管理和物理内存管理两个角度算是把 Linux 内存管理子系统的全貌给大家呈现了出来。

https://static001.geekbang.org/infoq/d2/d2bcaf9c085bf83fad71113599b57178.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

深度解读 Linux 内核级通用内存池 —— kmalloc 体系

本文是笔者 slab 系列的最后一篇文章,为了方便大家快速检索,先将相关的文章列举出来:

https://static001.geekbang.org/infoq/ef/ef1416a34583f2b4ab2d622b475cc93a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

牛客网论坛最具争议的 Linux 内核成神笔记,GitHub 已下载量已过百万

Linux内核成神笔记:200+经典内核文章,100+内核论文,50+内核项目,500+内核面试题,80+内核视频

eBPF 的发展演进 --- 从石器时代到成为神(三)

用户头像
统信软件
2023-04-26

由以上简要的回顾和梳理可见,内核开发者们所不断寻找的是一种充分表达能力的动态机制,进而打破内核和用户态的壁垒(至少在逻辑层面),从而实现一种自由、直接的需求实现。技术成为内核开发者们锋利的工具,不断突破限制,揭示事物的本质。

5.10 版本 linux 内核的使用 slub 的 kmem_cache_init 函数解析

用户头像
linux大本营
2023-04-26

在5.10版本的内核中,如果使用SLUB内存分配器,kmem_cache_init函数会调用kmem_cache_init_late函数进行具体实现。

5.10 版本的 linux 内核 create_boot_cache 函数解析

用户头像
linux大本营
2023-04-26

create_boot_cache函数是Linux内核中用于初始化系统引导时的内存对象缓存(bootmem)的函数。

5.10 版本的 linux 内核 setup_kmalloc_cache_index_table 函数解析

用户头像
linux大本营
2023-04-26

setup_kmalloc_cache_index_table函数是Linux内核中用于初始化内存缓存和内存对象的索引表的函数。它主要是用于加速kmalloc和kfree的执行速度。

5.10 版本的 linux 内核 pgtable_init 函数解析

用户头像
linux大本营
2023-04-26

pgtable_init函数是一个用于初始化内核页表数据结构的函数。在Linux内核中,我们使用页表来管理物理内存与虚拟地址之间的映射关系。这个函数会根据系统的特性和配置来初始化页表,以确保内核可以正确地访问和管理物理内存。

eBPF 的发展演进 --- 从石器时代到成为神(二)

用户头像
统信软件
2023-04-26

回顾技术的发展过程,就像观看非洲大草原日出日落一样,宏大的过程让人感动,细节部分引人深思。每天循环不辍,却又每天不同。

eBPF 的发展演进 --- 从石器时代到成为神(一)

用户头像
统信软件
2023-04-23

技术的发展往往是积跬步而至千里的。Linux从92年诞生,发展至今已经覆盖大小各类的信息基础设施。是什么样的力量,让Linux能够始终保持发展活力,又如何看待Linux之上出现的新的技术趋势?

linux crash 怎么分析

用户头像
linux大本营
2023-04-22

查看系统日志: 使用命令dmesg或者/var/log/messages可以查看系统日志,主要寻找异常信息和错误提示。

/sbin/kexec 参数说明

用户头像
linux大本营
2023-04-22

/sbin/kexec是一个Linux内核工具,用于快速重启到另一个内核镜像而不需要通过BIOS进行完整的系统重新启动。它的常用参数说明如下:

https://static001.geekbang.org/infoq/bc/bcf0e56ec338e225ccce3be704996407.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Linux Radix Tree 详解

众所周知,Linux内核提供了许多不同的库和函数来实现不同的数据结构和算法,其中基数树(Radix Tree)作为一种常见的数据结构,由于其查找速度快、节省存储空间等特性,它在Linux内核中有着广泛的应用。

https://static001.geekbang.org/infoq/f5/f5bc43c7a259386c147f7d3202916be8.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

肝下 50 万字的《Linux 内核精通》笔记,你的底层原理水平将从入门到入魔【建议收藏】

大部分程序员可能永远没有机会开发Linux内核或者驱动Linux,那么我们为什么还需要学习Linux内核呢?Linux的源代码和架构都是开放的,我们可以学到很多操作系统的概念和实现原理。Linux的设计哲学体系继承了UNIX,现在整个设计体系相当稳定和简化,这是大部分

https://static001.geekbang.org/infoq/0f/0f5d7cc9155a136f83707584f6845056.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Linux 内核详细笔记目录

5个专题组成:进程管理专题、内存管理专题、网络协议栈专题、设备驱动管理专题、文件系统及内核组件专题 20个实战操作模块,2w+代码,版本4.12 更新内容5.x 【代码都是大同小异的,都是能直接运用的】

https://static001.geekbang.org/infoq/d5/d58a6b7f8c9d4edf46ae696fe6c66275.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

精通高并发与内核 | Linux 内核协程解析

协程是轻量级的线程,拥有自己的执行代码块,但是却不需要系统调用来切换,只需要在用户空间切换

https://static001.geekbang.org/infoq/91/91b5d2a1fc0f0e133b8b270d011575f1.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

精通高并发与内核 | Linux 内核进程的切换方式

Linux中如何进行进程的切换?原理是什么,由于线程的表现形式也为进程,只不过共享了数据,所以我们研究进程即可,线程也是如此

精通高并发与内核 | Linux 内核与 C/Java 进程与线程深度解析

本文将作为并发编程和Linux内核衔接,对线程、进程、接口设计等等基础进行详细解读,同样,请读者进行逻辑分析与知识推理,同时建立点、线、面关联。

精通高并发与内核 | 解析 Linux 内核并发并行

本文将作为并发编程和Linux内核衔接,对线程、进程、接口设计等等基础进行详细解读,同样,请读者进行逻辑分析与知识推理,同时建立点、线、面关联。

【精通内核】Linux 内核 rcu 锁深度解析

写任务通过 rcu_assign_pointer 来修改指针,通过 synchronize_kernel 来等待所有的读任务完成。而读任务通过 rcu_read_lock、rcu_read_unlock rcu_dereference 来上锁、解锁、获取引用值。本篇我们看下这几个操作都做了什么。

【精通内核】Linux 内核 rcu(顺序) 锁实现原理与源码解析

RCU 的全称是(Read-Copy-Update),意在读写-复制-更新,在 Linux 提供的所有内核互斥的设施当中属于一种免锁机制。

Linux内核_Linux内核技术文章_InfoQ写作社区