自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

华的专栏

讨论与进步

  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

转载 多核时代不宜再用 x86 的 RDTSC 指令测试指令周期和时间

多核时代不宜再用 x86 的 RDTSC 指令测试指令周期和时间 陈硕Blog.csdn.net/Solstice 自从 Intel Pentium 加入 RDTSC 指令以来,这条指令是 micro-benchmarking 的利器,可以以极小的代价获得高精度的 CPU 时钟周期数(Time Stamp Counter),不少介绍优化的文章[1]和书籍用它来比

2016-10-29 17:13:52 1381

转载 LINUX内核内存管理kmalloc,vmalloc

一.kmalloc与vmallco    在设备驱动程序或者内核模块中动态开辟内存,不是用malloc,而是kmalloc ,vmalloc,释放内存用的是kfree,vfree,kmalloc函数返回的是虚拟地址(线性地址). kmalloc特殊之处在于它分配的内存是物理上连续的,这对于要进行DMA的设备十分重要. 而用vmalloc分配的内存只是线性地址连续,物理地址不一定连续,不能直

2016-10-27 16:24:12 1478

转载 linux内存映射

内存管理分为对连续物理内存区管理和非连续内存区管理,本文主要讲解连续的物理内存区管理的技术中所涉及到的内核线性地址空间映射的相关知识。涉及到的东西有:页框,管理区(高端内存,低端内存),高端内存映射等,这些知识是掌握伙伴系统算法和slab分配器的基础。一、页框     页框为物理内存分配的基本单元,现代32位计算机一般设置为4KB(见上文计算机内存寻址)。内核必须记录每个页框的当前

2016-10-26 17:54:52 424

转载 RTP、RTCP及媒体流同步

一、流媒体简介  流媒体是指在internet中使用流媒体技术的连续时基媒体,例如视频、音频或多媒体文件。流式传输方式是将音视频、动画等多媒体文件经过压缩后分成一个个小数据包,当用户端发出请求时,由服务器端向用户端实时、连续传送这些小数据包,动态变化的网络可能使各个包选择不同的路由,故到达用户端的时间延迟也就不同。在用户端用播放器播放时,需要为接收数据开辟缓存区,以弥补时延和时延抖动的影响和保

2016-10-20 17:25:42 1350

转载 AMR音频格式分析

一.  AMR音频格式概述AMR,全称是:Adaptive Multi-Rate,自适应多速率,是一种音频编码文件格式,专用于有效地压缩语音频率。AMR音频主要用于移动设备的音频压缩,压缩比非常高,但是音质比较差,主要用于语音类的音频压缩,不适合对音质要求较高的音乐类音频的压缩。1.1   AMR分类1.        AMR:又称为AMR-NB,相对于下面

2016-10-19 19:58:24 14239

转载 shrink_page_list 函数分析

shrink_page_list 是页面回收体系中最至关重要的一个函数,它决定在zone->inactive_list中的页面最后是否能被回收释放掉。这个函数的处理流程总结如下1、如果页面被锁住了,放入继续将页面保留在inactive list中,后就再扫描到底时候再试图回收这些page2、如果回写控制结构体标记了不允许进行unmap操作,将那些在pte表项中有映射到页面保留在inacti

2016-10-18 09:34:52 3305

转载 vmlinux_32.lds.S

本文简单的介绍了理解内核链接脚本需要的链接器知识和链接脚本语法,从vmlinux_32.lds.S文件分析了内核image的构成,并着重讲解了使用自定义section配合链接脚本动态创建表的方法。这里或许有一些你经常看到但不了解原理的东西,例如“内核导出符号表是如何创建的?”、“__initcall修饰的函数在什么时候被内核调用?”、“__initdata是否会被释放?”等。1. 什么是链

2016-10-11 10:41:45 526

转载 如何解读vmlinux.lds.S文件

vmlinux.lds.S用于对ld的输出进行组版,这个文件的格式在ld.info手册中有详细的说明。vmlinux.lds.S的主要目的是对输出文件中段进行排序,并定义相关的符号名,以下是简要注释。/* ld script to make i386 Linux kernel * Written by Martin Mares ; */OUTPUT_

2016-10-11 10:34:47 1107

转载 linux驱动模型开发——linux platform总线机制讲解与实例开发

1、概述:通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C、IIS、RTC、看门狗等)都被当作平台设备来处理。从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver,来管理相应设备。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_drive

2016-10-10 10:56:20 340

转载 Linux设备驱动模型

尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简

2016-10-10 07:26:13 349

原创 freeswitch 文件包含关系图

freeswitch 文件包含关系图以及函数功能介绍http://sofia-sip.sourceforge.net/refdocs/su/su__wait_8h.html

2016-10-09 21:46:23 982

原创 freeswitch debug

export CFLAGS="-g -ggdb"export MOD_CFLAGS="-g -ggdb"./configuremakemake install

2016-10-09 14:15:56 1398

转载 linux的审计功能(audit)

为了满足这样的需求:记录文件变化、记录用户对文件的读写,甚至记录系统调用,文件变化通知。什么是auditThe Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s) Kernel events (syscall events)User

2016-10-03 21:48:33 23396

原创 Linux CGROUP 数据结构

/* * A cgroupfs_root represents the root of a cgroup hierarchy, * and may be associated with a superblock to form an active * hierarchy */struct cgroupfs_root {struct super_block *sb;

2016-10-01 11:07:34 530

原创 LINUX CGROUP 概述

在深入到cgroup的代码分析之前.先来了解一下cgroup中涉及到的几个概念:1:cgroup: 它的全称为control group。即一组进程的行为控制,比如,我们限制进程/bin/sh的CPU使用为20%。我们就可以建一个cpu占用为20%的cgroup。然后将/bin/sh进程添加到这个cgroup中。当然,一个cgroup可以有多个进程。2:subsystem: 它类似

2016-10-01 08:46:05 601

GB28181国标

公共安全视频监控联网系统 信息传输、交换、控制技术要求 GB28181国标,标准文档;GB28181-2016版本;PDF格式。

2019-01-30

ps解封包处理

PS视频流的解封包处理过程,详细请看源码!

2015-08-18

空空如也

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

TA关注的人

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