Windows开发中,经常会碰到一个常见的字眼HWND,如下
HWND hWnd;
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW | WS_VISIBLE,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);HW...
分类:
其他好文 时间:
2014-05-03 00:37:59
阅读次数:
378
设想一个场景:有100万用户同时与一个进程保持着TCP连接,而每一个时刻只有几十个或几百个TCP连接时活跃的(接收到TCP包),也就是说,在每一时刻,进程值需要处理这100万连接中的一小部分连接。那么,如何才能高效地处理这种场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这100万个连接告诉操作系统,然后由操作系统找出其中有事件发生的几百个连接呢?实际上,在Linux内核2.4版...
分类:
其他好文 时间:
2014-05-02 23:11:18
阅读次数:
311
从Linux2.5开始Linux实现了0(1)调度算法, 算法的思想要点在于设定动态的nice值确定优先级, 在优先级数组调度(数组最大长度是固定常数) 简而言之,不管系统中有多少进程需要调度都可以在o(1)的时间复杂度内完成调度,是不是很吊啊?但是实践证明(我没证明,文献说的) o(1)对i/o交互型的调度体验上表现很差 轮转周期很不灵活,主要原因在于调度出发点采用粒度很大时间片进行轮换,诚然整体负载会比较好,但是对于i/o交互型的,我们理想的调度策略是采用处理器使用比而不是时间片来分配, ...
分类:
系统相关 时间:
2014-05-02 21:18:41
阅读次数:
460
用YII很久了今天看老代码发现了一个致命又气人的bug: “'SiteController cannot find the requested view "index". ”
在这个项目里对应的views/site/index.php文件都有,但是为什么还报了这个错呢, 于是开始看内核代码:
public function getViewFile($viewName)
{
if(($t...
分类:
其他好文 时间:
2014-05-01 21:59:39
阅读次数:
454
1)父进程先于子进程终止:此种情况就是我们前面所用的孤儿进程。当父进程先退出时,系统会让init进程接管子进程
。2)子进程先于父进程终止,而父进程又没有调用wait或waitpid函数此种情况子进程进入僵死状态,并且会一直保持下去直到系统重启。子进程处于僵死状态时,内核只保存进程的一些必要信息以备...
分类:
其他好文 时间:
2014-05-01 19:14:22
阅读次数:
283
在memory.c里面,遇到一个宏定义,如下:
#define CODE_SPACE(addr) ((((addr)+4095)&~4095) start_code + current->end_code)
看的第一眼,不知道,第二眼,还是不知道,纠结了半天还是不知道。
睡了一晚,今天早上再看,嘿嘿,居然看懂了。。。
这个宏定义用于判断给定的addr线...
分类:
系统相关 时间:
2014-05-01 17:54:09
阅读次数:
516
之前一篇写的不完整,重新写一篇
OpenWRT数据发送过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器...
分类:
系统相关 时间:
2014-04-30 22:48:39
阅读次数:
621
网络代码处理输入分组用的是异步和中断驱动的方式。首先,一个设备中断引发接口层代码执行,然后它产生一个软中断
引发协议层代码执行。当内核完成这些级别的中断后,执行插口代码。当内核完成这些级别的中断后,执行插口代码。
在这里给每个硬件和软件中断分配一个优先级。如下图:
对于不同优先级,一个要关心的问题就是如何处理那些在不同级别的进程共享的数据结构。例如,当IP输入例程正在从它的
输入队...
分类:
其他好文 时间:
2014-04-29 13:48:22
阅读次数:
429
什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MSC 替换了之前的 JMX Kernel 和 MicroContainer,它主要特定可以总结如下三点:高并发机器(A highly concurrent state machine)无多相位,设计简单...
分类:
其他好文 时间:
2014-04-29 13:26:21
阅读次数:
284
qemu/kvm为客户机提供了完整的硬件环境,在客户机看来其所拥有的CPU为vCPU,在KVM看来每个客户机都是一个标准的linux进程qemu进程。在宿主机上vCPU是qemu进程派生出来的普通线程。在linux中进程有两种模式:用户模式,内核模式。而kvm增加了第三种模式:客户模式。用户模式主要是一些IO的模拟管理。内核模式主要执行一些安全性高性能的指令。客户模式执行大部分的代码。 下面讲下v...
分类:
其他好文 时间:
2014-04-29 13:11:20
阅读次数:
754