摘要:
Linux下的Bridge也是一种虚拟设备,这多少和vlan有点相似,它依赖于一个或多个从设备。与VLAN不同的是,它不是虚拟出和从设备同一层次的镜像设备,而是虚拟出一个高一层次的设备,并把从设备虚拟化为端口port,且同时处理各个从设备的数据收发及转发,再加上netfilter框架的一些东西,使得它的实现相比vlan复杂得多。1.Bridge的功能框图它是Linux下虚拟出来br... 阅读全文
随笔档案-2013年04月
Linux下VLAN功能的实现
2013-04-18 20:19 by zmkeil, 11395 阅读, 收藏,
摘要:
1.Linux网络栈下两层实现1.1简介VLAN是网络栈的一个附加功能,且位于下两层。首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去。下两层涉及到具体的硬件设备,日趋完善的Linux内核已经做到了很好的代码隔离,对网络设备驱动也是如此,如下图所示: 这里要注意的是,Linux下的网络设备net_dev并不一定都对应实际的硬件设备,只要注册一个struct n... 阅读全文
现代计算机体系架构带来的挑战
2013-04-18 00:21 by zmkeil, 1144 阅读, 收藏,
摘要:
---数据处理算法优化 1.综述各种数据处理,如排序、聚集、连接、索引等都是支持数据库操作的核心,各个操作也都有相应成熟的算法。如今多核计算机已经是发展的趋势,原先在单核上的经典算法并不能免费移植到现代计算机系统中,并获得高性能。因此如何改进算法,使其能够充分挖掘现代计算机体系架构的优势会是一个热点。相应的改进也可能改变人们之前的认识,如针对某种操作,以前可能以某一种算法为最优的,但到了多核... 阅读全文
Linux系统下的开发基础
2013-04-18 00:17 by zmkeil, 1426 阅读, 收藏,
摘要:
针对linux的开发无非两种:用户级别、内核级别。用户级别的开发也就是应用程序的开发,各种各样的应用程序数不胜数,开发方法也多种多样,这里当然不会介绍应用程序的开发方法,而只是说明其底层基础,也就是应用程序是如何在操作系统上运行的,操作系统做了哪些我们看不见的工作,了解这些工作有时对开发应用程序会有帮助,尤其是最求性能时,更要结合OS底层的实现。内核级别的开发相比较难些,一方面,l... 阅读全文
STRAIGHT关键技术研究
2013-04-18 00:10 by zmkeil, 1962 阅读, 收藏,
摘要:
在straight模型中,F0被看成是瞬时频率,从1999年straight模型被提出,到目前的TANDEM-STRAIGHT等各个版本中,先后有4种语音信号基频提取方法, 1)基于AM-FM,利用滤波器使判别值最大(1999a);2)fixed-point法(1999b);3)YIN auto-correlation法(02、05);4)spectral division法(08,for... 阅读全文
滤波器设计概要
2013-04-18 00:07 by zmkeil, 2037 阅读, 收藏,
摘要:
在信号系统领域,基于傅里叶变换的谱分析和滤波器设计是两个最基本的问题。在模拟系统中,常常用电子元件逼近所需的传递函数,而在数字系统中,则是用差分方程法去逼近所需传递函数。在硬件实现上,主要是用FPGA中的若干和积门来完成。1.因果稳定系统首先还是来看一下系统的性质。这里我们只讨论线性时不变系统(其概念之前讲过),这种系统的性质可完全由其冲激响应决定。在数字系统中,我们用冲激响应h(... 阅读全文
操作系统小结-Linux0.11
2013-04-17 23:39 by zmkeil, 783 阅读, 收藏,
摘要:
第一部分 基础内容1.操作系统基础操作系统是计算机硬件系统与用户程序间重要环节,理解操作系统的原理是编写优秀代码的基础。教课书中阐述的操作系统一般由5部分组成。 一个最简单的操作系统,可以不需要文件,不需要网络,只要实现多进程,且进程间也不需要通信,相互独立。那么这样一个简单的OS仅需要两块内容:进程管理、内存管理。这两方面内容是相辅相成,不可分割的,因为现在计算机系统的基本架构仍是指令存... 阅读全文
Netfilter开发概况
2013-04-17 23:35 by zmkeil, 1937 阅读, 收藏,
摘要:
关于Netfilter的资料网上很多,这里仅描述一些概况,把流程讲清楚,具体的细节可以很方便地跟踪到代码中去看。这个模块是构建在网络栈的网络层的,与底层架构基本没多大关系,所以要做平台间的移植也基本不需要做修改。1.Netfilter框架简述1.1框架Netfilter框架的主要思想是:在网络层数据包的传递路径中,插入一些点,执行额外的功能。如下图所示: 在每个点上注册一串... 阅读全文
OpenWRT平台搭建及简单应用
2013-04-17 23:29 by zmkeil, 5237 阅读, 收藏,
摘要:
1.OpenWRT平台搭建1.1环境准备系统Ubuntu12.04,先安装一些必要的软件包:gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-d... 阅读全文
第一次倒腾一番
2013-04-17 22:38 by zmkeil, 437 阅读, 收藏,
摘要:
搞了快一个小时了,本来准备看个电影的。 主要把博客分一下类,其实就是把自己做过的,感兴趣的方向放过来。说到兴趣,本人还是比较丰富的,喜欢的东西很多。 1.算法,ITer应该都有兴趣,很好玩啊,疯狂刷online judge。 2.计算机架构,现在主流的多核CPU,通用GPU越来越流行了,计算机的架构也在不断更新,相对应的操作系统、软件设计、算法设计等都在不断变化。这个问题好像偏向学术一点,也曾经花时间去看过很多论文,现在越来越没时间了,还是希望以后在这个版块里多写写东西吧。 3.硬件设计,有没有!咱可是电子专业出身,高中就焊接过超外差收音机,曾经一个寒假就在倒腾一个功放有没有,对硬... 阅读全文
Linux下编译使用自己的动态链接库-详解
2013-04-17 22:03 by zmkeil, 744 阅读, 收藏,
摘要:
最原始的方法gcc -shared -fPIC -g -o libvector.so addvec.c #-share表示生成动态库, -fPIC表示使用相对位置 gcc -g -c main2.cgcc -g -o p2 main2.o -L. -lvector #-L. is for ldexport LD_LIBRARY_PATH=/home/zmkeil/TEST/lib/reload/3 #export is for excute./p2以上是把libxx.so放在当前文件夹中,所以编译时 -L. “.”告诉编译器,动态库当前目录下, 执行前要export LD_LIBRARY_PA 阅读全文
读《算法导论》总结
2013-04-17 21:02 by zmkeil, 799 阅读, 收藏,
摘要:
算法基础---读《算法导论》前2部分小结1.算法基础算法的概念就不必多讲了,这里要指出的是:一般情况下,我们讲算法是面向大数据量的,算法的优劣通常是由其执行的时间复杂度来决定的(当然实际中还包括编程复杂度、计算机资源限制等等)。举个例子,对n个数据进行排序操作,算法1需2n2条指令,算法2需50nlgn条指令,若n=8,显然算法1更好,若n=1000000,假设计算机执行速度为109条指令/s,则算法1需要时间 2*(106)2/109 = 2000s算法2需要时间 50*106*lg106/109 = 100s显然算法2的效率更高,一般在评价上述两算法时,肯定会认为算法2的时间复杂度更优,因 阅读全文
第一篇博文
2013-04-17 20:54 by zmkeil, 255 阅读, 收藏,
摘要:
虽然也算是ITer,但却从来没用过blog,说起来自己都不好意思,今天第一次用啊。 正在下windows Live呢。 说什么好呢?没什么好说的呀!呵呵。。。 说起来,自己也算是个爱写技术总结,爱写小文章的人,以前一直自己写了留在硬盘里,有时候写时,也会去参考网上大神的blog,自己去从没分享过什么,最近突然良心发现了吧! 不知道说什么啊,以后多写写吧! 最近在实习,头让看一些openWRT的东西,反正没事,所幸看看Linux下网络栈的一些内容。没人指导啊,想从整体框架入手,又觉得一点点小的就够辣手了,慢慢看吧。正好记录下看的流程,若有一天,我能精通了网络栈的实现,嘿嘿,到时候回... 阅读全文
浙公网安备 33010602011771号