本文将对内核中USB键盘驱动进行分析后改写,用一种简单的方式从新构造USB键盘驱动。...
分类:
其他好文 时间:
2014-05-07 23:47:11
阅读次数:
436
exit.c 代码分析笔记
release
释放进程的函数release() 主要根据指定进程的任务数据结构指针,在任务数组中删除指定的进程指针,释放相关内存页,并立刻让内核重新调度进程的运行。
void release(struct task_struct * p) //释放p指向的进程
{
int i;
if (!p) //常规检测...
分类:
系统相关 时间:
2014-05-07 23:35:51
阅读次数:
576
Netty入门二:开发第一个Netty应用程序
2.2、认识下Netty的Client和Server
一个Netty应用模型,如下图所示,但需要明白一点的是,我们写的Server会自动处理多客户端请求,理论上讲,处理并发的能力决定于我们的系统配置及JDK的极限。...
分类:
Web程序 时间:
2014-05-07 23:12:18
阅读次数:
546
TFTP(Trivial File Transfer Protocol)是基于UDP协议开发,用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
一、修改/etc/xinetd.d/tftp配置文件,如下:
$ cat /etc/xinetd.d/tftp
service tftp
{
protocol = udp
...
分类:
系统相关 时间:
2014-05-07 23:05:14
阅读次数:
452
利用OTP行为包构建的应用之所以可靠,是因为我们按照OTP的设计模式,将所有进程组织成了一棵可靠的supervisor tree。每一个supervisor监控其子进程,并在其子进程出错时按照重启策略进行相应的处理。
但是,你是否考虑过,如果supervisor意外终止,其子进程会怎样?当然,直觉告诉我们连监控进程的没有了,所有的子进程应全部终止。但是,你在代码中是否真正考虑过这种情况?你的...
分类:
其他好文 时间:
2014-05-07 21:52:20
阅读次数:
350
NDK全称:Native Development Kit。
1、NDK是一系列工具的集合。
* NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。
* NDK集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”...
分类:
移动开发 时间:
2014-05-07 21:47:45
阅读次数:
613
线程控制
线程属性
调用pthread_create函数的例子中,传入的参数都是空指针,而不是指向pthread_attr_t结果的指针。可以用pthread_attr_t结构修改线程默认属性,并把这些属性与创建的线程联系起来。可以使用pthread_attr_init函数初始化pthreaad_attr_t结构。调用pthread_attr_init以后,pthread_attr_t结构所...
分类:
编程语言 时间:
2014-05-07 21:41:14
阅读次数:
501
1、环境
tomcat6.0.8 + jdk6 + struts1
2、问题的产生
页面有两个异常的请求
http://127.0.0.1/project/a.action?do=testA&m=10
http://127.0.0.1/project/a.action?do=testB&m=10
两个请求几乎同步到达server。结果出现异常:
java.lang.NullP...
分类:
编程语言 时间:
2014-05-07 21:36:43
阅读次数:
344
一、gdb的功能:
1、启动被调试程序。
2、让被调试的程序在指定的位置停住。
3、当程序被停住时,可以检查程序状态
4、动态的改变程序的执行环境
二、gdb的基本使用流程:
1、编译生成可执行文件 :gdb -g hello.c -o hello
2、启动gdb :gdb hello
3、在某处设置断点 ...
分类:
数据库 时间:
2014-05-07 21:30:23
阅读次数:
327