Nginx的高性能的是用很多细节来保证,epoll下的多路io异步通知,阶段细分化的异步事件驱动,那么在内存管理这一块也是用了很大心血,上一篇我们讲到了slab分配器,我们可以可以看到那是对共享内存的管理的优化。Nginx在进程内也实现了自己的内存池,目的在于减少内存碎片,减少向操作系统的申请次数,减低模块开发难度。Nginx实现的内存池实际上非常简单。...
分类:
其他好文 时间:
2014-05-08 00:37:29
阅读次数:
403
本文将对内核中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
nginx的配置:正常运行的必备配置:1、userusername[groupname];指定运行worker进程的用户和组2、pid/path/to/pidfile_namenginx的pid文件3、worker_rlimit_nofile#;一个worker进程所能够打开的最大文件句柄数;4、worker_rlimit_sigpending#;设定每个用户能够发往worker进程的..
分类:
其他好文 时间:
2014-05-07 22:23:03
阅读次数:
439
下载相应软件包wgethttp://jaist.dl.sourceforge.net/project/e2fsprogs/e2fsprogs/1.41.14/e2fsprogs-1.41.14.tar.gz
wgethttp://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
wgethttp://jaist.dl.sourceforge.net/project/e2..
分类:
系统相关 时间:
2014-05-07 21:55:29
阅读次数:
647
一个简单的拓扑如上,varnish1上还同时开了nginx,用来做静态的http,app1和app2是nginx+fastcgi,这个拓扑主要做的是Discuz!论坛的动静分离,以及app的负载均衡,varnish起到个反向代理和缓存加速的功能。varnish1:192.168.1.151,172.16.0.51app1:172.16.0.52app3:172.16.0.54..
分类:
其他好文 时间:
2014-05-07 21:53:01
阅读次数:
743
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
一、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