- 博客(37)
- 资源 (3)
- 收藏
- 关注
转载 Linux 开机启动过程分析
开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。启动第一步--加载BIOS当 你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关 信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、P
2015-05-10 23:22:59 248
转载 应用 Valgrind 发现 Linux 程序的内存问题
如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在。有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开发中的内存问题。Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Val
2015-04-15 23:06:38 212
转载 Linux虚拟地址空间布局
在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space),在32位模式下它是一个4GB的内存地址块。在Linux系统中, 内核进程和用户进程所占的虚拟内存比例是1:3,而Windows系统为2:2(通过设置Large-Address-Aware Executables标志也可为1:3)。这并不意味着内核使用那么多物理内存,
2015-04-15 22:57:21 199
转载 Linux的inode的理解
文件名 -> inode -> device block 转自:http://www.ruanyifeng.com/blog/2011/12/inode.htmlhttp://blog.s135.com/post/295/ http://hi.baidu.com/leejun_2005/blog/item/d9aa13a53b3af6e99152ee7e.html
2015-04-11 19:01:21 205
转载 linux开机服务启动详解
inux开机启动详细流程图:一、BIOS 加电自检当你按电源开关开机时,电脑会首先去启动BIOS(基本输入输出系统),BIOS一般是集成在主板上的.BIOS 的工作1.检测连接硬件,比如显卡,内存,磁盘等等,检测的目的是以后把这些设备信息提供给操作系统2.寻找启动磁盘,每一种BIOS都会有开机启动菜单,可以在菜单里设置以哪个设备启动系统比如:光驱,硬盘,网络
2015-04-11 10:49:59 229
转载 Linux NFS服务器的安装与配置
一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端
2014-08-19 22:36:03 229
转载 虚拟IP原理
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。
2014-08-06 22:24:18 664
转载 基于开源软件构建高性能集群NAS系统
基于开源软件构建高性能集群NAS系统大数据时代的到来已经不可阻挡,面对数据的爆炸式增长,尤其是半结构化数据和非结构化数据,NoSQL存储系统和分布式文件系统成为了技术浪潮,得到了长足的发展。非结构化数据目前呈现更加快速的增长趋势,IDC研究报告分析指出,到2012年非结构化数据将占到数据存储总量的80%以上。集群NAS是一种横向扩展(Scale-out)存储架构,具有容量和性能线性
2014-07-27 19:36:51 810
转载 Hadoop学习资料、博客及网站汇总
Hadoop官方的中文文档http://hadoop.apache.org/common/docs/r0.18.2/cn/index.html Hadoop学习资料 -- 这里面总结了很多的东西,值得一一细看http://cloud21.javaeye.com/blog/607175 关于Hadoop的两本书 -- 有电子书下载http://caibinbupt.j
2014-05-07 21:44:52 316
转载 SLIP协议与PPP协议
SLIP协议和PPP协议都是数据链路层协议。SLIP和PPP是串行线上最常用的两个链路层通信协议,它们为在点对点链路上直接相连的两个设备之间提供一种传送数据报的方法。互联的两端设备可以是主机与主机、路由器和路由器、主机和路由器。SLIP协议 串行线路网际协议SLIP(Serial Line Internet Protocol)是在串行通信线路上支持TCP/IP协议的一
2013-12-24 16:10:57 423
原创 C++中的const关键字
1、普通const常量 1、定义全局const常量,该常量的作用局限于定义该常量的原文件中,若外部文件需要使用该常量,则需加extern关键字。//test1.cppconst int a=0; //作用域限于文件extern const int b=0 //可以供外部使用. .....//test2.cppextern const int
2013-12-13 12:23:42 347
转载 C/C++中指针与数组名的区别
引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解。 想必这种误
2013-11-02 22:09:11 350
原创 C语言实现文件字符替换
C语言标准库中为我们提供了文件与字符操作相关函数; 包含:fopen()/fclose() //文件打开与关闭函数;(参数与返回类型省略) fgetc()/fputc() //从流中获取字符,向文件流中写入字符; getc()/putc() //与fgetc()/fpu
2013-10-27 00:11:29 4720
转载 进程同步机制之会合
一. 会合的提出 在不具有公共内存的分布式操作系统中,要使用P.V操作或管程 机制存在着十分大的问题--信号灯量和管程共享变量存放在何 处?如果分步式系统中有两个主机H1和H2,它们之间并没有公共 内存,H1中有进程P1,H2中有进程P2,如果有一个信号量(或管 程共享变量)S,那S放在何处呢?如果放在H1中,显然P2无法访 问到S;同理,如果放在H2中,S对P1又是不可访问的
2013-10-20 12:28:13 660
转载 常用的进程同步机制
一、原子操作所谓原子操作是指不会被线程调度机制打断的操作。通常所说的原子操作包括对非long和double型的primitive进行赋值以及返回这两者之外的primitive。原子操作不需要同步机制。P.S:volatile修饰的long和double型的赋值和返回是原子操作二、信号量机制主要同步机制就是PV操作。P:请求分配一个
2013-10-20 10:10:53 841
原创 volatile的作用
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。准确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。
2013-10-20 09:50:50 322
转载 volatile的作用
long square(volatile int *ptr) { int a; a = *ptr; return a * a; } //位操作(Bit manipulation) volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。
2013-10-20 09:40:31 81
转载 const 指针与指向const的指针
当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。 先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。 const int* p; (推荐) int const* p; 第一种可以理
2013-10-18 12:32:49 305
原创 C++中虚析构函数与纯虚析构函数
虚析构函数 析构函数的工作方式是:最底层的派生类(most derived class)的析构函数最先被调用,然后调用每一个基类的析构函数。因为在C++中,当一个派生类对象通过使用一个基类指针删除,而这个基类有一个非虚的析构函数,则结果是未定义的。运行时比较有代表性的后果是对象的派生部分不会被销毁。然而,基类部分很可能已被销毁,这就导致了一个古怪的“部分析构”对象,这是一个泄
2013-10-15 23:59:37 351
转载 C/C++中浮点数的存储
任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统中,存放方式为 10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式。但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是采用IEEE所制定的标准浮点格式,即二进制科学表示法
2013-10-14 20:47:49 290
转载 虚函数与构造函数与析构函数
1、构造函数能不能是虚函数: 1.1从存储空间角度虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。1.2从使用角度虚函数主要用于在信息不全的情况下,能使重载的函数得到对
2013-10-14 00:12:12 321
转载 C++虚函数的实现机制
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这里不做过多的阐
2013-10-14 00:03:41 293
原创 C++类中的static成员
C++类中的static成员,相当于类中的全局变量,但为了保持类的封装特性,类一般定义类静态成员,而不是定义一个可普遍访问的全局对象。当某对象对该成员进行了改变,则所有对象都做相同的改变。类static成员独立与该类的任何对象而存在,每个static数据成员与类关联的对象,而不是与该类的对象相关联。即类static成员是类的组成部分,而不是该类的对象的组成部分。static类数据成员:1、类
2013-10-08 16:20:02 399
原创 C/C++编程学习网站
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。 1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、htt
2013-10-08 16:20:00 1043
原创 K-Means聚类算法
K-means聚类算法样本数据集:Q=[A1,A2,……Ak];其中A1=[a1,a2,……ad],k为样本个数,d为样本的维数;现将样本集聚类为N类。具体算法如下:(1)任意选取N个初始聚类样本:Ai……..Am ΞQ(2)求每个样本到聚类中心的距离(欧式距离),按距离最近原则进行聚类;(3)求取聚类后每一类中的样本均值,并以此作为新的聚类中心,重新进行聚类;(4)重复(2)
2013-10-08 16:19:58 631
原创 Dijkstra算法
1、算法简介 Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。2、算法原理 1)初始时,S只包含源点,即S=v的距离为0。U包含除v外的其他顶点,U中顶点u距离为边上的(若v与u有边或
2013-10-08 16:19:56 399
原创 HMM模型的各种语言实现(转)
C语言版1、 HTK(Hidden Markov Model Toolkit): HTK是英国剑桥大学开发的一套基于C语言的隐马尔科夫模型工具箱,主要应用于语音识别、语音合成的研究,也被用在其他领域,如字符识别和DNA排序等。HTK是重量级的HMM版本。HTK主页:http://htk.eng.cam.ac.uk/2、 GHMM Library: The General Hidd
2013-10-08 16:19:54 936
原创 AAM
AAM的思想最早可以追溯到1987年kass等人提出的snake方法,主要用于边界检定与图像分割。该方法用一条由n个控制点组成的连续闭合曲线作为snake模型,再用一个能量函数作为匹配度的评价函数,首先将模型设定在目标对象预估位置的周围,再通过不断迭代使能量函数最小化,当内外能量达到平衡时即得到目标对象的边界与特征。1989年yuille等人此提出使用参数化的可变形模板来代替snake模型,可变
2013-10-08 16:19:49 1265
转载 Gabor变换(2)
原文地址:Gabor变换(2)作者:木水penny 所谓目标识别,从某种意义上说就是特征识别的问题。而红外图特征提取的角度一般可以从几何形状和上下文的判断中得到,比如说,当你在一幅图像中去搜索桥梁和机场的跑道的时候,我们可以从形状上发现他们都是一组平行线;然后基于上下文去判断,桥梁的长度肯定比跑道短,桥梁的两边一般是水域,而跑道的中间有一些联络道,而这些这些联络道本身也是平行线。
2013-10-08 16:19:47 475
转载 Gabor 变换(1)
原文地址:变换(1)">Gabor 变换(1)作者:木水penny Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。另外Gabor函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果。 Gabor变换是短时Fourier变换中当窗函数取为高斯函数时的一种特殊情况. Gabor变换的本质实际上还是对二维图像求卷积。
2013-10-08 16:19:45 506
转载 基于弹性束图匹配的人脸识别…
原文地址:基于弹性束图匹配的人脸识别(自己做的ppt)作者:雪后DE阳光主要内容1、EBGM的提出2、弹性图匹配3、弹性束图匹配4、相似度量及搜索策略5、算法的效率及改进 EBGM的提出什么是EBGMEBGM(Elastic Bunch Graph Matching)弹性图束匹配1997年,wiskott等使用二维结构的Gabor小波对人脸图像进行处理,将人脸表
2013-10-08 16:19:43 3644
原创 视频图像中运动检测
下面这个程序 来自于仕琪的讲稿 《使用OpenCV进行图像处理》]中的例程: #include "stdafx.h" #include #include #include #include int main( int argc, char** argv ) { //声明IplImage指针 IplImage*pFrame = NULL;
2013-10-08 16:19:41 887
转载 RTP传输中的负载类型和时间…
原文地址:RTP传输中的负载类型和时间戳作者:cuixiaojingRTP传输中的负载类型和时间戳发布时间:2010.07.19 10:49 来源:赛迪网 作者:小K【赛迪网讯】本文将介绍RTP传输中的负载类型和时间戳 。RTP协议包头的格式:10~16Bit为PT域,指的就是负载类型(PayLoad),负载类型定义了RTP负载的格式,协议原文说该域由具体应用决定其解
2013-10-08 16:19:39 361
转载 H264 Over RTP 之 宝典
原文地址:Over RTP 之 宝典">H264 Over RTP 之 宝典作者:zhanghongliusuH264 Payload Format over RTP/RTCP,很久以前做的了,都快忘了,赶快复习一下吧,不然又还给...应该不是老师了吧,嘿嘿。 RTP包头还是贴一下吧,看起来方便: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
2013-10-08 16:19:36 373
转载 关于RTP中的时间戳问题
原文地址:关于RTP中的时间戳问题作者:cuixiaojing 在使用JRTPLIB的发送数据的时候需要设置时间戳单位(timestamp)和时间戳增量(timestampincrement)。看了网上一些文章,细细想来现在才想通这个问题。 RFC3550对时间戳的描述是: 时间戳(timestamp) 32比特时间戳反映了RTP
2013-10-08 16:19:34 1116
转载 rtp编程(2)
原文地址:rtp编程(2)作者:半个烟头3.3 数据发送当RTP会话成功建立起来之后,接下去就可以开始进行流媒体数据的实时传输了。首先需要设置好数据发送的目标地址,RTP协议允许同一会话存在多个目标地址,这可以通过调用RTPSession类的AddDestination()、DeleteDestination()和ClearDestinations()方法来完成。例如,下面的语句表示的
2013-10-08 16:19:32 424
转载 RTP编程(1)
原文地址:RTP编程(1)作者:半个烟头流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。 随着Internet的日益普及,在网络上传输的数据已经不再
2013-10-08 16:19:30 891
基于MATLAB的车牌模糊识别
2012-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人