自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (7)
  • 收藏
  • 关注

原创 memblock子系统

memblock --> memblock_type --> memblock_region2 memblock结构初始化:3 memblock分配释放API其中对不同类型memblock的分配释放主要有如下:memblock.memory分配释放API:memblock_add()和memblock_remove();memblock.reserved分配释放API:memblock_reserve()和memblock_free()。  在内核启动bootargs,可以加入"m

2022-06-13 21:21:51 333 1

原创 linux共享内存演进

shm与mmap区别1 mmapmmap共享内存原理:是将进程虚拟地址空间映射到磁盘上的一个普通文件,这样每个进程访问时会通过pagefault机制分配各自不同的物理内存。优点:储存量可以很大(多于主存),重启数据不会丢失;缺点:进程读写速度要比主存的要慢。2 shmshm共享内存原理:是将进程虚拟地址空间映射到tmpfs虚拟内存文件系统上的一个临时文件,而tmpfs的存储空间是物理内存或swap分区,所以每个进程最终访问的是同一块物理内存。优点:进程间访

2022-05-12 10:22:45 376

原创 struct page介绍

struct pagestruct page { unsigned long flags; union { struct { /* Page cache and anonymous pages */ struct list_head lru; struct address_space *mapping; pgoff_t index; /* Our offset within...

2022-05-07 16:44:21 632

原创 LRU链表介绍

文章目录1. 简介 2. LRU 组织 2.1 LRU 链表 2.2 LRU Cache 2.3 LRU 移动操作 2.3.1 page 加入 LRU 2.3.2 其他 LRU 移动操作 3. LRU 回收 3.1 LRU 更新 3.2 Swappiness 3.3 反向映射 3.4 代码实现 3.4.1 struct scan_control 3.4.2 shrink_node() 3.4.3 shrink_list(

2022-05-07 10:21:45 1628

原创 pagefault机制

用户态缺页异常一旦开始访问虚拟内存的某个地址,如果我们发现,并没有对应的物理页,那就触发缺页中断,调用 do_page_fault。dotraplinkage void notracedo_page_fault(struct pt_regs *regs, unsigned long error_code){ unsigned long address = read_cr2(); /* Get the faulting address */...... __do_page_fa

2022-05-05 10:03:16 1123

原创 linux do_mmap流程简析

linux do_mmap流程

2022-05-01 18:23:24 758

转载 Shell------- if(数字条件,字符串条件,字符串为空)

二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.1.整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -ge "$b" ] -lt 小于,如:if [ "$a" -lt "$b...

2020-05-23 20:34:57 258

原创 寄存器r0-r15含义

先看个例子:void test2(int a,int b,int c){int k=a,j=b,m=c;}GCC反汇编:00000064 <test2>:mov ip, sp //IP=SP;保存SPstmdb sp!, {fp, ip, lr, pc} //先对SP减4,再对fp,ip,lr,pc压栈...

2020-04-15 10:11:05 8855 2

转载 文本文件和二进制文件区别

广义上的二进制文件包括文本文件,这里讨论的是狭义上...

2020-04-13 16:05:12 380

原创 ubuntu快捷键

1.Ctrl + Alt + T 打开终端;2.Ctrl + Shift + T 在同一个窗口中继续打开另一个终端;3.Alt + 1;Alt + 2; Alt + n 多开终端切换;4.Ctrl + Shift + W 关闭多开终端的当前终端;5.Alt + Shift + Tab 之前一直用Alt + Tab;相同的还有Ctrl + Alt + Tab。...

2020-01-06 14:08:25 112

原创 网关的概念和作用一

网关的英文名称:gateway,又叫做网间连接器、协议转换器。网关是在采用不同体系结构或协议的网络之间进行互通时,用于提供协议转换、路由选择、数据交换等网络兼容功能的设施。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体...

2020-01-02 15:30:45 544

转载 解读NAT网络穿透一

<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-833878f763.css"> <div id="content_views" class="mark...

2020-01-02 14:25:58 5575 1

原创 路由器与交换机的区别与联系

https://blog.csdn.net/baidu_32045201/article/details/78305586相信有很多人在学习网络的过程中,都会对路由器与交换机的区别与联系感到疑惑不解,因为这两台设备的功能看起来似乎一样。然而,其实路由器与交换机大有不同,下面是我对此的一些理解,希望能够帮助到你!它们在哪里工作?根据 OSI模型的网络体系划分,自底向上,路由器 工作在第三层...

2020-01-02 14:16:34 194

原创 linux C/C++ 删除某个目录下的所有文件实例

#include <iostream>#include <unistd.h>#include <stdio.h>#include <dirent.h>#include <string.h>#include <sys/stat.h>#include <stdlib.h> using namespac...

2019-12-01 19:05:37 617

原创 sscanf() 函数详解

sscanf() :从一个字符串中读进与指定格式相符的数据.  函数原型:  Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );  int scanf( const char *format [,argument]... );sscanf与scanf类似,都是用于输入的,只是后者以屏幕(s...

2019-09-30 13:51:15 1068

原创 ubuntu虚拟机新安装后修改密码

ubuntu虚拟机新安装后修改密码:sudo passwd root直接输入新密码即可

2019-06-30 15:32:38 179

转载 ts流封包格式详解

原文地址:https://my.oschina.net/u/727148/blog/666824HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。1、M3...

2019-04-09 09:26:58 2541

转载 RTP封包传输格式

FU-A分包方式,以及从RTP包里面得到H.264数据和AAC数据的方法RFC3984是H.264的baseline码流在RTP方式下传输的规范,这里只讨论FU-A分包方式,以及从RTP包里面得到H.264数据和AAC数据的方法。 H.264的NAL层处理H264以NALU(NALunit)为单位来支持...

2019-04-08 20:39:19 1513

转载 FU-A分包方式,以及从RTP包里面得到H.264数据和AAC数据的方法

FU-A分包方式,以及从RTP包里面得到H.264数据和AAC数据的方法RFC3984是H.264的baseline码流在RTP方式下传输的规范,这里只讨论FU-A分包方式,以及从RTP包里面得到H.264数据和AAC数据的方法。 H.264的NAL层处理 H264以NALU(NALunit)为单位来支持编码数据在基于分组交换技术网络中传输。NALU定义了可用于基于...

2019-04-08 19:40:40 344

原创 RTP Header结构

1 RTP Header结构图1)V:RTP协议的版本号,占2位,当前协议版本号为22)P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。3)X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头4)CC:CSRC计数器,占4位,指示CSRC 标识符的...

2019-04-08 19:37:37 529

转载 流媒体开发: RTP Header解析及定义

版权声明:本文为博主原创文章,未经博主允许不得转载。http://blog.csdn.net/taoerit https://blog.csdn.net/taoerit/article/details/77446429 </div> <link re...

2019-04-08 19:36:07 358

转载 流媒体传输控制协议(RTSP RTP SDP)详解之——RTP

视频课程及相关文档代码地址:https://github.com/EasyDarwin/Course#course-3RTP协议        实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布...

2019-04-08 19:35:14 712

转载 RTSP交互命令简介及过程参数描述

Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和 Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一 种可扩展的框架,使能够提供可控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rt...

2019-03-20 14:40:17 165

转载 RTSP交互命令简介及过程参数描述

Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和 Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一 种可扩展的框架,使能够提供可控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对...

2019-03-20 14:38:33 179

原创 时间戳计算理解

时间戳单位:时间戳计算的单位不为秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精 准。比如说一个音频的采样频率为8000HZ,那么我们可以把时间戳单位设为1/8000。时间戳增量:相邻两个RTP包之间的时间差(以时间戳单位为基准)。时间戳以赫兹的倒数为单位,即1秒有赫兹个时间戳时间戳增量 = 一帧所需...

2019-03-07 16:46:36 13741

转载 H264码流中NALU sps pps IDR帧的理解

1、概念什么是NALU? H264码流可以分为两层,VCL层和NAL层,NAL的全称是Network abstraction layer,叫网络抽象层,它保存了H264相关的参数信息和图像信息,NAL层由多个单元NALU组成,NALU由了NALU头(00 00 00 01或者00 00 01)、sps(序列参数集)、pps(图像参数集合)、slice、sei、IDR帧、I帧(在图像运动变化较...

2019-02-22 21:54:36 1281

转载 H264码流结构分析

1、码流总体结构:h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL)。H.264 的编码视频序列包括一系列的NAL 单元,每个NAL 单元包含一个RBSP。一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成,其中 Start Code 用于...

2019-02-18 17:12:34 408

转载 h264协议帧头数据解析

一、序言h264常见的帧头数据为:00 00 00 01&nbsp;67&nbsp;&nbsp; &nbsp;(SPS)00 00 00 01&nbsp;68&nbsp;&nbsp; &nbsp;(PPS)00 00 00 01&nbsp;65&nbsp;&nbsp; &nbsp;( IDR 帧)00 00 00 01&nbsp;61&nbsp;&nbsp; &

2019-02-18 17:11:21 1669

转载 帧、数据报、数据包的区别和联系 每一层的信息封装

&nbsp; &nbsp; &nbsp; 在学习计算机网络时,我们经常会遇到帧、数据包、数据报等名词?有人会问,他们不是都一样的吗,不是都是在网络传输的数据概念吗?其实它们三个还真不一样。那我们赶紧看一下他们之间的区别和联系。&nbsp; &nbsp; &nbsp; 我们首先从概念上来区分他们:&nbsp; &nbsp; &nbsp;数据帧(Frame):就是数据链路层的协议数据单元,它包括...

2019-02-16 10:00:23 3247

转载 Linux串口serial编程参数设置

一、简介1.1 Linux串口编程主要是设置structtermios结构体的个成员值。Termios是在POSIX规范中定义的标准接口,表示终端设备(包括虚拟终端丶串口等),串口是一种终端设备,一般通过终端编程接口对其进行配置和控制。串口的配置最重要的是以下结构体定义中标明红色的条目,配置方法如下:&nbsp; 某几位清0:stru...

2019-01-23 13:57:33 2914

原创 mount [-参数] [设备名称] [挂载点]

格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有:-a 安装在/etc/fstab文件中列出的所有文件系统。     自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)     /etc/rc.d/rc 在文件的末尾行添加“/bin/ mount -a”     /bin/ mount -a 此命令是在系统启动后...

2019-01-22 21:30:38 568

转载 BusyBox简介

瑞士军刀 BusyBox简介https://www.ibm.com/developerworks/cn/linux/l-busybox/index.html#artrelatedtopicsBusyBox的诞生BusyBox最初是由 Bruce Perens 在 1996 年为 Debian GNU/Linux 安装盘编写的。其目标是在一张软盘上创建一个可引导的 GNU/Linux 系...

2018-12-31 10:03:44 644

转载 sockaddr和sockaddr_in详解

https://blog.csdn.net/will130/article/details/53326740/ struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。一、sockaddrsockaddr在头文件#include &amp;amp;lt;sys/socket...

2018-12-28 13:51:14 296

转载 samba服务器的配置与管理

网络有很多samba服务配置的教程,但大多数都不怎么明白,这篇教程就是零基础起步,实现真正掌握samba服务器的配置和管理一、&nbsp;&nbsp;服务器端配置(一) samba服务器安装1. 服务查询&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认情况下,Linux系统在默认安装中已经安装了Samb...

2018-12-26 11:57:45 1140

原创 图像和流媒体 -- 详解YUV数据格式

https://blog.csdn.net/qq_29350001/article/details/78283369              图像和流媒体 -- 详解YUV数据格式

2018-12-23 21:23:22 180

转载 H264编码之GOP含义

https://www.cnblogs.com/cslunatic/p/6074092.html H264视频编码级别说明profile level Encoder &nbsp;GOP说白了就是两个I帧之间的间隔.比较说GOP为120,如果是720p60的话,那就是2s一次I帧.&nbsp; &nbsp; &nbsp; ...

2018-12-23 21:20:52 404

转载 v4l2学习介绍

v4l2的学习建议和流程解析   v4l2,一开始听到这个名词的时候,以为又是一个很难很难的模块,涉及到视频的处理,后来在网上各种找资料后,才发现其实v4l2已经分装好了驱动程序,只要我们根据需要调用相应的接口和函数,从而实现视频的获取和处理。只要认真的看几篇文章就对v4l2有一定的了解了,由于是第一次接触,网上的资料良莠不齐,难得可以找到几篇自己感觉...

2018-12-23 21:18:39 328

转载 USB协议传输结构、枚举过程、基本概念

https://blog.csdn.net/wwt18811707971/article/details/77447492 USB总线专题(二)——数据传输及协议https://blog.csdn.net/myarrow/article/details/8270029 USB枚举过程http://www.cnblogs.com/sheshij...

2018-12-23 21:13:27 1133

转载 ioctl()分析——从用户空间到设备驱动(一)

https://blog.csdn.net/zifehng/article/details/59576539 &amp;amp;lt;p&amp;amp;gt;  一个字符设备驱动通常会实现常规的打开、关闭、读、写等功能,但在一些细分的情境下,如果需要扩展新的功能,通常以增设ioctl()命令的方式实现,其作用类似于“拾遗补漏”。在文件I/O中,ioctl扮演着重要角色,本文将以驱动开发为侧重点,从用户空间到内核空间...

2018-12-23 21:08:08 844

转载 iniparser(c库)解析二

一.交叉编译ini解析库1.官方网站http://ndevilla.free.fr/iniparser下载iniparser-3.1.tar.gz2.解压tar -zxvf iniparser-3.1.tar.gz cd tar -zxvf iniparser3.修改makefileCC = gcc 修改为--&amp;gt; CC = arm-none-linux-gnueabi-gccA...

2018-12-23 20:50:59 234

shell脚本与Makefile区别.docx

shell脚本与Makefile区别.docx

2021-04-13

Q-dir文件夹软件

Q-Dir 是一款非常独特的资源管理器, Q-Dir特别适用于频繁在各个目录间跳跃复制粘贴的情况。因为Q-Dir有 4 个窗口!每个窗口都可以方便的切换目录,以不同颜色区分不同类型的文件,各窗口之间可以方便的拖放操作互相的文件。

2018-11-27

shell脚本学习资料

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。 实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。

2018-11-27

linux多线程及网络编程

  线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体;进程相当于运行中程序的一种抽象。根据运行环境的调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上称为LWP(Light Weight Process,轻量级线程),运行在内核空间,由内核调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并运行一个用户线程。可见,内核线程相当于用户线程运行的‘容器’,一个进程可以拥有M个内核线程和N个用户线程,其中M<=N,并且一个系统的所有进程中,M和N的比值是固定的。

2018-11-27

linuC库函数学习资料

linuxC库函数学习笔记,有利于学习者快速掌握各函数的用法

2018-09-11

linux脚本shell学习笔记

shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识

2018-09-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除