- 博客(303)
- 资源 (1)
- 收藏
- 关注
原创 Linux内核--DTS构成及使用全面介绍(包含驱动引用)
本篇会全面的介绍一下DTS的构成,使用、如何在系统中指定使用的dtb文件,最后会以一个实际的dts文件,对应到驱动中,讲解如何使用
2024-05-10 10:42:35
430
原创 Linux内核--设备驱动(七)媒体驱动框架整理--HDMI框架(2)
前一章我们分析过drm中enconder与connector都是在具体的显示驱动中完成(hdmi),所以我们可以根据不同的显示接口来修改这两个部件本章就来详细介绍下DRM框架
2024-05-07 21:33:18
246
原创 Linux内核--设备驱动(七)媒体驱动框架整理--HDMI框架(1)
V4L2 主要用于处理视频设备(如摄像头、视频采集卡等)的输入和输出,而 DRM 主要用于管理图形硬件设备(如显卡、显示器等)的渲染和显示。本文主要介绍HDMI驱动框架
2024-05-07 21:30:11
259
原创 Linux内核--设备驱动(三)总线、设备、驱动模型的探究
所谓高内聚低耦合是模块内各元素联系越紧密就代表内聚性就越高,模块间联系越不紧密就代表耦合性低。所以高内聚、低耦合强调的就是内部要紧紧抱团。设备和驱动就是基于这种模型去实现彼此隔离不相干的。
2024-05-01 22:32:56
369
4
原创 Linux内核--设备驱动(二)设备驱动IO流程详解
我们之前的文章提到了操作系统的三个抽象,它们分别是进程、地址空间和文件,除此之外,操作系统还要控制所有的 I/O 设备。操作系统必须向设备发送命令,捕捉中断并处理错误。它还应该在设备和操作系统的其余部分之间提供一个简单易用的接口。操作系统如何管理 I/O 是我们接下来的重点。
2024-05-01 22:19:48
39
原创 linux性能调优汇总(三)IO负载
本部分主要介绍日常开发中,经常使用的程序性能调试命令及思路,主要分为CPU、内存、磁盘IO三部分本章主要介绍IO部分
2024-03-23 10:49:06
187
原创 linux性能调优汇总(二)内存及sys目录
本部分主要介绍日常开发中,经常使用的程序性能调试命令及思路,主要分为CPU、内存、磁盘IO三部分本章主要介绍内存部分
2024-03-23 10:09:44
181
原创 linux性能调优汇总(一)cpu
本部分主要介绍日常开发中,经常使用的程序性能调试命令及思路,主要分为CPU、内存、磁盘IO三部分本章主要介绍CPU部分
2024-03-23 09:53:19
184
原创 Linux内核--设备驱动(一)驱动的结构介绍
本文首先介绍虚拟文件系统下层直至硬件输入输出设备的结构关系,然后重点分析字符设备相关的整体逻辑情况。
2024-02-01 15:08:06
391
原创 Linux内核--文件系统(七)文件系统中文件类型与使用
理解了文件系统的结构之后,我们来看一下文件的类型。Linux以文件的形式对计算机中的数据和硬件资源进行管理,也就是彻底的一切皆文件,反映在Linux的文件类型上就是:**普通文件、目录文件(也就是文件夹)、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)**等等。而这些种类繁多的文件被Linux使用目录树进行管理, 所谓的目录树就是以根目录(/)为主,向下呈现分支状的一种文件结构。
2024-01-29 17:57:11
83
原创 Linux内核--文件系统(六)虚拟文件系统结构介绍
"一切皆文件"是Linux的基本哲学之一,不仅是普通的文件,包括目录、字符设备、块设备、套接字等,都可以以文件的方式被对待。实现这一行为的基础,正是Linux的虚拟文件系统机制。
2024-01-29 10:45:22
74
原创 Linux内核--文件系统(五)虚拟文件系统的操作原理
基于上文介绍的文件系统的基本结构,本文将继续深入Linux文件系统的精髓所在:虚拟文件系统及其底层实现。
2024-01-26 14:19:06
62
原创 Linux内核--文件系统(四)虚拟文件系统详解
下面就开始正式进入虚拟文件系统的探讨,首先和大家详细的了解一下虚拟文件系统的构成,下一篇文件会讲解虚拟文件系统的使用及其底层实现
2024-01-26 10:03:55
80
原创 Linux内核--文件系统(三)文件系统原理架构介绍
本节将正式开始分析Linux的文件系统。Linux一切皆文件的思想可谓众所周知,而其文件系统又是字符设备、块设备、管道、进程间通信、网络等等的必备知识,因此其重要性可想而知。本文将先介绍文件系统基础知识,然后介绍最重要的结构体inode以及构建于其上的一层层的文件系统。
2024-01-25 11:01:34
290
1
原创 Linux内核--文件系统(二)文件系统详解
现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用。在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等 I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式。换言之,UNIX 系统中除进程之外的一切皆是文件,而 Linux 保持了这一特性。为了便于文件的管理,Linux 还引入了目录(有时亦被称为文件夹)这一概念。目录使文件可被分类管理,且目录的引入使 Linux 的文件系统形成一个层级结构的目
2024-01-23 14:36:24
64
原创 Linux内核--文件系统(一)磁盘IO及优化
计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的CPU主频早已超过3GHz,内存也进入了普及DDR4的时代。然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时SSD硬盘价格高昂,不能在短时间内完全替代传统硬盘。传统磁盘的I/O读写速度成为了计算机系统性能提高的瓶颈,制约了计算机整体性能的发展。硬盘性能的制约因素是什么?如何根据磁盘I/O特性来进行系统设计?针对这些问题,本文将介绍硬盘的物理结构和性能指标,以及操作系统针对磁盘性能所做的优化,最后讨论下基于磁盘I/O特性
2024-01-23 14:32:30
179
原创 Linux内核--网络协议栈(九)epoll的源码实现
在客户端和服务器连接成功,会得到一个连接套接字,开始通讯后,主机使用通讯套接字调用recv()来获取数据,当程序运行到 Recv 时,它会一直阻塞等待,直到接收到数据才往下执行那么,如何监视多个 Socket 呢?就是通过IO多路复用,让一个进程可以监视多个描述符,一个某个描述符数据就绪,就通知程序进行相应的读写操作。IO多路复用有很多方式,常见的有多线程、select、poll、epoll本文就来详细分析以下epoll的底层实现
2024-01-21 11:09:09
109
原创 Linux内核--网络协议栈(八)I/O多路复用及epoll模型
本文主要讨论Linux环境下的network IO。主要介绍I/O多路复用的机制
2024-01-20 11:25:51
110
原创 Linux内核--网络协议栈(四)sk_buff介绍
在 Linux 的网络栈实现代码中,引用到了一些数据结构。要理解 Linux 内部的网络实现,需要先理清这些数据结构的作用。关键数据结构主要有两个: sk_buff 和 net_device。
2024-01-17 22:53:31
305
原创 Linux内核--网络协议栈(二)整体介绍
linux的网络部分由网卡的驱动程序和kernel的网络协议栈部分组成,它们相互交互,完成数据的接收和发送。Linux操作系统的最大功能之一是其网络栈。它最初是BSD协议栈的衍生物,并且组织良好,具有一组干净的接口。其接口范围从协议无关接口(如通用socket层接口或设备层)到各个网络协议的特定接口
2024-01-16 22:24:13
96
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人