准备阶段:从SVN下载backfire的编译环境(位置是:svn co svn://svn.openwrt.org/openwrt/branches/backfire),然后按照openWRT的要求,下载一堆编译用到的工具(通过make defconfig可以发现自己的OS缺啥,然后就补啥).这样得到的是一个编译环境,在openWRT中,这个环境就是BuildRoot.   我们进入这个编译环境(简称:TOPDIR),接下来就是一步步的编译过程了: 1.构建“Package种子”,即./scri…
特别说明:要编译backfire版本,一定要通过svn下载:svn co svn://svn.openwrt.org/openwrt/branches/backfire,而不能使用http://downloads.openwrt.org/backfire/10.03/中的源码包:backfire_10.03_source.tar.bz2 结合文档<OpenWrt_Dev_Tutorial.pdf>以及自己实际编译backfire的分析,得出如下结论: 基于backfire-10.03版本,在m…
结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 目录 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 一. 实验准备 二. 实验过程 I 分析中断上下文的切换 II 分析fork子进程启动执行时进程上下文及其特殊之处 III 分析execve系统调用中断上下文及其特殊之处 IV 以系统调用作为特殊的中断,结合中断上下文切换和进程上下文切换分析Linux系统的一般执行过程 三. 总结 一. 实验准备 详细要求 结合中断上下文切换和进程上下文切换分析Linux…
1.简介 本篇文章是 AOP 源码分析系列文章的最后一篇文章,在前面的两篇文章中,我分别介绍了 Spring AOP 是如何为目标 bean 筛选合适的通知器,以及如何创建代理对象的过程.现在我们的得到了 bean 的代理对象,且通知也以合适的方式插在了目标方法的前后.接下来要做的事情,就是执行通知逻辑了.通知可能在目标方法前执行,也可能在目标方法后执行.具体的执行时机,取决于用户的配置.当目标方法被多个通知匹配到时,Spring 通过引入拦截器链来保证每个通知的正常执行.在本文中,我们将会通过…
目标:充分理解openwrt的框架构成,能够在openwrt框架下实现:开发新程序,修改现有程序,修改内核,修改boot.为此,制定如下计划: 一.如何在openwrt上做开发 1.编译出一个BRCM47xx版本,能烧入到H618B即可 --- done 2.分析openwrt目录组成,找出各个主要目录的作用,以及源文件,内核文件,驱动文件,boot文件以及编译结果输出,都放在哪里了 3.搞清楚:一个make命令的执行过程的大致阶段,以及每个过程的输出产物 --- done 4.最终生成的可以烧…
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3858065.html 为了更深入的了解spark,现开始对spark源码进行分析,本系列文章以spark 1.0.0版本源码作为分析对象.今天主要分析下standalone部署方式的启动过程 1.Spark Standalone组件 Standalone部署方式是一种典型master-slave模式,在这种模式下主要包含三个组件:Master(Cluster Manager).Worker(slave…
1. 简介 在上一篇文章中,我比较详细的分析了获取 bean 的方法,也就是getBean(String)的实现逻辑.对于已实例化好的单例 bean,getBean(String) 方法并不会再一次去创建,而是从缓存中获取.如果某个 bean 还未实例化,这个时候就无法命中缓存.此时,就要根据 bean 的配置信息去创建这个 bean 了.相较于getBean(String)方法的实现逻辑,创建 bean 的方法createBean(String, RootBeanDefinition, Obj…
OpenFlow是SDN控制器和交换之间交流的协议,在SDN领域有着十分重要的地位. OpenFlow协议发展到现在已经经过了1.0.1.3.1.4等版本.其中1.0和1.3版本使用的是最为广泛的. 本篇博文主要分析1.0版本和1.3版本OpenFLow协议在控制器和交换机之间的交互流程. OpenFlow1.0协议交互 OpenFlow协议1.0的交互过程如下: 交互过程: 交换机或控制器首先发送hello报文,确定openflow通信版本. 交换机或控制器收到hello报文之后,回复一个he…
1.Hadoop的主要应用场景: a.数据分析平台. b.推荐系统. c.业务系统的底层存储系统. d.业务监控系统. 2.开发环境:Linux集群(Centos64位)+Window开发模式(window10,64位操作系统).   使用技术:hadoop,hbase,hive,flume,oozie,sqoop,nginx,tomcat,spring,mybatis,springmvc,mysql等等.Hdfs为海量的数据提供存储,MapReduce为海量的数据提供计算.     此项目使用…
一.分析 要升级openwrt的linux内核版本,关键是要制作内核配置文件 二.内核配置文件制作方法 2.1当前openwrt对应的某个开发板有对应的内核配置文件,比如此时的openwrt的linux内核版本为4.9,而我们要升级到4.14,那么可以直接复制4.9的内核配置文件为4.14 2.2 make kernel_menuconfig 这一步操作就会更新内核配置文件…