-
tasklet机制和事变行列
所属栏目:[交互] 日期:2016-10-30 热度:128
副标题#e# 1. Tasklet 机制分析 上面我们介绍了软中断机制, linux 内核为什么还要引入 tasklet 机制呢?主要原因是软中断的 pending 标志位也就 32 位,一般情况是不随意增加软中断处理的。而且内核也没有提供通用的增加软中断的接口。其次内,软中断处理[详细]
-
driver: Linux设备模型之input子系统详解
所属栏目:[交互] 日期:2016-10-30 热度:84
副标题#e# linux输入子系统 本节从整体上讲解了输入子系统的框架结构。有助于读者从整体上认识linux的输入子系统。在陷入代码分析的过程中,通过本节的知识能够找准方向,明白原理。 本节重点: 输入子系统的框架结构 各层对应内核中的文件位置 输入子系统[详细]
-
spring+hibernate声明式事务管理详解
所属栏目:[交互] 日期:2016-10-30 热度:94
spring+hibernate声明式事务管理详解 声明式事务管理是spring对事务管理的最常用的方式,因为这种方式对代码的影响最小,因此也符合非侵入性的轻量级容器的概念。Spring的事务管理是通过AOP的方式来实现的,因为事务方面的代码与spring的绑定并以一种样板式[详细]
-
wifidog源码分析 - 初始化阶段
所属栏目:[交互] 日期:2016-10-30 热度:78
副标题#e# Wifidog是一个linux下开源的认证网关软件,它主要用于配合认证服务器实现无线路由器的认证放行功能。 wifidog是一个后台的服务程序,可以通过wdctrl命令对wifidog主程序进行控制。 本文解释wifidog在启动阶段所做的初始化主要工作( 代码片段1.1[详细]
-
测试经验总结之--测试员的角色
所属栏目:[交互] 日期:2016-10-30 热度:169
在工作中经常遇到当产品上线出了bug后,第一个受到指责的是测试人员,"测试为什么当初没有发现这个问题呢",这种情况在现实工作中数不胜数,也许他们把测试人员当"超级魔法师"了,经过测试之手的东西就完美无瑕了,这就属于角色定位问题,当定位好自己的角[详细]
-
深入理解RCU实现
所属栏目:[交互] 日期:2016-10-29 热度:151
副标题#e# 深入理解RCU实现 ——基于 内核2.6.21 RCU实现(lvyilong316) RCU(Read-Copy Update),顾名思义就是读-拷贝修改,它是基于其原理命名的。对于被RCU保护的共享数据结构, 读者不需要获得任何锁就可以访问它,但写者在访问它时首先拷贝一个副本,然[详细]
-
redis lru实现策略
所属栏目:[交互] 日期:2016-10-29 热度:110
副标题#e# 在使用redis作为缓存的场景下,内存淘汰策略决定的redis的内存使用效率。在大部分场景下,我们会采用LRU(Least Recently Used)来作为redis的淘汰策略。本文将由浅入深的介绍redislru策略的具体实现。 首先我们来科普下,什么是LRU ?(以下来自维[详细]
-
linux内核启动之lookup_machine_type
所属栏目:[交互] 日期:2016-10-29 热度:96
1.有MMU的设备的启动过程 arch/arm/kernel/head.S .section ".text.head", "ax" ENTRY(stext) msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode @ and irqs disabled mrc p15, 0, r9, c0, c0 @ get processor id bl __lookup_processor_ty[详细]
-
位置无关码、位置有关码、链接地址、加载地址
所属栏目:[交互] 日期:2016-10-29 热度:64
版权声明:欢迎转载,转载请注明出处 http://blog.csdn.net/lizuobin2/ 在移植 uboot 时,接触到一个概念叫做 位置无关码,那么与它对应的就是位置有关码。提到这两个概念就还得提一提链接地址、加载地址。 链接地址,链接脚本里指定的,理论上程序运行时所[详细]
-
ARM汇编中LDR伪指令和LDR指令
所属栏目:[交互] 日期:2016-10-29 热度:193
副标题#e# ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/s tr 指令。 比如想把数据从内存中某处读取到寄存器中,只能使用ldr比如: ldr r0, 0x12345678 就是把 0x12345678这个地址中的值存放到r0中 。 而mov不能实现这个功能[详细]
-
如何解决Linux系统中的Navicat for MySQL 1045错误
所属栏目:[交互] 日期:2016-10-29 热度:121
Navicat连接MySQL数据库时难免会遇到1045错误,主要是因为用户输入的用户名或密码错误被拒绝访问,如果不想重装,需要找回密码或者重置密码。 Navicat for MySQL 1045错误 问题描述: 1045-Access denied for user 'root'@'localhost'(using password: YE[详细]
-
极验高并发验证服务背后的技术实现
所属栏目:[交互] 日期:2016-10-29 热度:122
原文地址:http://www.geetest.com/blog/7bde2b59e80e121b 极验目前的用户超过7万家网站,日均验证量1亿次,作为一家专注于验证安全服务的公司,极验所要面临的并发压力主要表现在以下几点: 日益增加的用户并发量。 验证请求是全动态过程,不能够进行缓存[详细]
-
linux配置dns地址
所属栏目:[交互] 日期:2016-10-29 热度:107
彻底解决Ubuntu 14.04 重启后DNS配置丢失的问题时间2015-03-28 11:04:10LAMP技术博客原文http://lampblog.org/1713.html主题UbuntuVim 最近得到一个比较好用的DNS,每次重启后都修改DNS配置文件 /etc/resolv.conf 重启就会失效 从网上得知 /etc/resolv.conf[详细]
-
Linux动态链接库加载失败一例
所属栏目:[交互] 日期:2016-10-29 热度:166
安装pacemakerrpm包后,遇到启动失败的情况,原因和动态链接库的加载有关,以下是详细。 问题 编译生成pacemaker 1.1.15的rpm包,然后在其它机器上安装pacemaker rpm包后,启动失败。 [root@srdsdevapp73 ~]# service pacemaker startStarting Pacemaker C[详细]
-
Linux内核通知链机制的原理及实现
所属栏目:[交互] 日期:2016-10-29 热度:174
一、概念: 大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够[详细]
-
LINUX多线程互斥量、读写锁、条件变量
所属栏目:[交互] 日期:2016-10-28 热度:111
LINUX 多线程互斥量、读写锁、条件变量 线程的同步,发生在多个线程共享相同内存的时候,这时要保证每个线程在每个时刻看到的共享数据是一致的.如果每个线程使用的变量都是其他线程不会使用的(readnbsp;write),或者变量是只读的,就不存在一致性问题.但是,如果[详细]
-
Hash Join与NLJOIN及MSJOIN
所属栏目:[交互] 日期:2016-10-28 热度:98
一、NLJOIN 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择。nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是 nested loops。 一般在nested loop中, 驱动表满足条件结果集不大,被驱动[详细]
-
利用散列连接从DB2通用数据库获得最佳性能
所属栏目:[交互] 日期:2016-10-28 热度:197
DB2 UDB 优化器可以在执行连接时选择不同方法:在缺省情况下,它在嵌套循环连接(nested loop join)与合并连接(merge join)之间选择。当设置了特殊环境变量时,它还可以选择散列连接(hash join)。散列连接可显著提高某些查询的性能,在决策支持系统(D[详细]
-
VMware中ubuntu忘记密码的解决办法(转)
所属栏目:[交互] 日期:2016-10-28 热度:152
一、用安装盘重启,这时候你将获得root权限,但这个不是今天说的重点。 二、这种情况更加常见,我们身边并没有安装盘,但grub为我们提供一个非常方便的方法: 重启ubuntu,随即长按shift进入grub菜单; 选择recovery mode,回车确认; 在Recovery Menu中,[详细]
-
关于异地容灾的感触
所属栏目:[交互] 日期:2016-10-28 热度:110
1、使用N个节点,容M个。比如3个节点,每个节点冗余50%,可以承受一个节点down掉; 2、要经常演练。比如1个月1次主动切换,要不真正出问题的时候,一个小时都在犹豫不决能不能切换,评估周期太长; 3、节点间尽量同构。否则节点间同步非常痛苦; 4、要保证[详细]
-
解决oracle 的一系列错误:ORA-00603 ORA-01595 ORA-00600 oracle 运行过程中自动
所属栏目:[交互] 日期:2016-10-28 热度:115
解决oracle 的一系列错误:ORA-00603 ORA-01595 ORA-00600时间2013-12-30 14:36:43 晓辉 原文 http://coralzd.blog.51cto.com/90341/1346702 主题 Oracle数据库 最后几行显示 ora-01595,按照提示因为不正确关闭oracle导致回滚段失败,基本上可以断定 undo表[详细]
-
网络IP地址与子网的划分
所属栏目:[交互] 日期:2016-10-28 热度:83
国际规定:把所有的 IP 地址划分为 A,B,C,D,E 。 A 类地址:范围从 0 ~ 127 , 0 是保留的并且表示所有 IP 地址,而 127 也是保留 的地址,并且是用于测试环回用的。因此, A 类地址的范围其实是从 1 ~ 126 之间。 如: 10.0.0.1 ,第一段号码为网络号码[详细]
-
为什么重写equals方法,一定要重写HashCode方法?
所属栏目:[交互] 日期:2016-10-28 热度:60
主要原因是默认从Object继承来的hashCode是基于对象的ID实现的。 如果你重载了equals,比如说是基于对象的内容实现的,而保留hashCode的实现不变,那么很可能某两个对象明明是“相等”,而hashCode却不一样。 这样,当你用其中的一个作为键保存到hashMap、h[详细]
-
Linux PPP实现源码分析
所属栏目:[交互] 日期:2016-10-28 热度:181
转自:http://blog.csdn.net/osnetdev/article/details/8958058 作者:kwest 版本:v0.7 所有版权保留 转载请保留作者署名,严禁用于商业用途 。 前言: PPP(Point to Point Protocol)协议是一种广泛使用的数据链路层协议,在国内广泛使用的宽带拨号协议PPPo[详细]
-
Linux主机网络流量监控ifstat
所属栏目:[交互] 日期:2016-10-28 热度:77
本监测方案是用ifstat。安装方法参考: http://man.linuxde.net/ifstat 1、下载 http://gael.roualland.free.fr/ifstat/ (官网) wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz 来自: http://man.linuxde.net/ifstat 也可以通过浏览器下载[详细]
