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