自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cynric 的博客

修身齐家治国平天下 格物致知诚意正己心

  • 博客(16)
  • 资源 (7)
  • 收藏
  • 关注

转载 Nginx源码剖析之内存池,与内存管理

Nginx源码剖析之内存池,与内存管理作者:July、dreamice、阿波、yixiao。出处:http://blog.csdn.net/v_JULY_v/。引言        Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。

2011-12-05 23:35:09 7291 6

转载 Chrome源码剖析、上--多线程模型、进程通信、进程模型

Chrome源码剖析、上原著:duguguiyu。整理:July。时间:二零一一年四月二日。出处:http://blog.csdn.net/v_JULY_v。说明:此Chrome源码剖析很大一部分编辑整理自此博客:http://flyvenus.net/。我对写原创文章的作者向来是以最大的尊重的。近期想好好研究和学习下Chrome源码,正巧看到了此duguguiyu兄台的源码剖

2011-12-05 23:32:37 2014

转载 Nginx源码分析---hash结构ngx_hash_t(v1.0.4)

0. 序本文继续介绍nginx的数据结构——hash结构。 链表实现文件:文件:./src/core/ngx_hash.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。 1. hash结构 nginx的hash结构比其list、array、queue等结构稍微复杂一些,下图是hash相关

2011-12-02 15:00:05 1751

转载 Nginx源码分析---队列结构ngx_queue_t

0. 序本文继续介绍nginx的数据结构——队列。链表实现文件:文件:./src/core/ngx_queue.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。1.队列结构nginx的队列是由具有头节点的双向循环链表实现的,每一个节点结构为ngx_queue_t,定义如下。

2011-12-02 14:58:24 1328

转载 Nginx源码分析---链表结构ngx_list_t

0. 序 本文继续介绍nginx的容器——链表。链表实现文件:文件:./src/core/ngx_list.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。1. 链表结构 1.1 ngx_list_t结构 nginx的链表(头)结构为ngx_list_t,链表节点结构

2011-12-02 14:56:55 1314

转载 Nginx源码分析---数组结构ngx_array_t

0. 序 本文开始介绍nginx的容器,先从最简单的数组开始。 数组实现文件:文件:./src/core/ngx_array.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。1. 数组结构 1.1 ngx_array_t结构 nginx的数组结构为ngx_array_t,定义

2011-12-02 14:55:46 1261

转载 Nginx源码分析---内存池结构ngx_pool_t及内存管理

nginx对内存的管理由其自己实现的内存池结构ngx_pool_t来完成,本文重点叙述nginx的内存管理。 nginx内存管理相关文件:(1) ./src/os/unix/ngx_alloc.h/.c内存相关的操作,封装了最基本的内存分配函数如free/malloc/memalign/posix_memalign,分别被封装为ngx_free,ngx_alloc/ngx_

2011-12-02 14:54:18 1452 1

转载 Nginx源码分析---模块初始化

Content0. 序1. nginx有哪些模块?2. nginx如何描述这些模块?2.1 模块数据结构2.1.1 ngx_module_t结构2.1.2 ngx_command_t结构2.2 模块类图3. nginx如何组织这些模块?3.1 全局数组ngx_modules3

2011-12-02 14:51:10 2440

转载 Nginx源码分析---Nginx启动初始化过程(二)

在Nginx启动初始化过程(一)中提到main函数会调用ngx_init_cycle()初始化一个全局cycle变量,本文就来看看这个ngx_init_cycle()函数究竟做了哪些初始化工作。ngx_cycle_t结构类型被定义在src/core/ngx_cycle.h文件中,多达23个成员变量(nginx-0.7.67),由于ngx_init_cycle()函数的代码多达近800行,绝对算大函

2011-12-01 23:39:35 1572

转载 Nginx源码分析---Nginx启动初始化过程(一)

Nginx的启动初始化在src/core/nginx.c的main函数中完成,当然main函数是整个Nginx的入口,除了完成启动初始化任务以外,也必定是所有功能模块的入口之处。Nginx的初始化工作主要围绕一个类型为ngx_cycle_t类型的全局变量(cycle)展开。下面具体看一下main函数为Nginx的启动过程做了哪些初始化方面的事情。(以下代码段都是顺序从main函数中摘取出来的, 对

2011-12-01 23:27:44 1561

转载 Nginx源码分析---worker进程

上一篇博文分析了master进程,本文着手分析一下worker进程的情况。首先找到worker进程的入口地方——ngx_worker_process_cycle。这个函数不光是worker进程的入口函数,同时也是worker进程循环工作的主体函数,看函数名含有一个cycle嘛。进入这个cycle函数,第一件事就是调用ngx_worker_process_init(cycle, 1);对worker

2011-12-01 23:01:27 2229

转载 Nginx源码分析--master进程

Nginx分为Single和Master两种进程模型,Single模型即为单进程方式工作,具有较差的容错能力,不适合生产之用。Master模型即为一个master进程+N个worker进程的工作方式。生产环境都是用master-worker模型来工作。本文着重分析Nginx的master进程做了哪些事情,它是如何管理好各个worker进程的。在具体分析代码之前,先附上一张master进程的全貌图:

2011-12-01 22:28:39 3205

转载 Nginx源码分析--master和worker进程间的通信

前面单独分析了master进程和worker的工作情况,本文就大概看一下master进程和worker进程之间是如何使用channel来完成通信的。这部分实现的源码主要分布于src/os/unix/channel.h和channel.c两个文件中。实现极其简单,没有什么复杂的逻辑。下面,我绘制了一个简单的master进程和worker进程间的关系,图中的箭头符号指出数据是由master进程传给wo

2011-12-01 21:20:27 1643

转载 Nginx源码分析--事件驱动的初始化

Nginx的高性能应该算是事件驱动的功劳。Nginx事件处理的相关代码位于src/event目录中,事件驱动是Nginx的核心,所以代码量相对也比较大。事件驱动初始化的过程主要由下图中的三步组成。第一步:解析配置文件的初始化在Nginx的启动初始化过程中,将调用ngx_conf_parse()解析配置文件,此过程将遇到类似如下的配置项:events {    w

2011-12-01 21:12:31 1485

转载 Nginx源码分析-事件循环

事件循环这个概念貌似在windows编程中提得更多,Linux程序却很少提及这个概念。本文所提及的事件循环其实就是worker cycle,由于此处将关注的不再是worker进程,而是worker进程在循环过程中关于事件处理的环节,因此就盗用了事件循环这个概念。在具体看代码前,先看一下这个“循环”的概貌:经过前面相关博文的介绍,我们了解到master进程创建好一个worker进程后,w

2011-12-01 17:13:52 1571

转载 Nginx源码分析-内存池

Nginx的内存池实现得很精巧,代码也很简洁。总的来说,所有的内存池基本都一个宗旨:申请大块内存,避免“细水长流”。一、创建一个内存池nginx内存池主要有下面两个结构来维护,他们分别维护了内存池的头部和数据部。此处数据部就是供用户分配小块内存的地方。//该结构用来维护内存池的数据块,供用户分配之用。 typedef struct {  u_char *last; //

2011-12-01 15:38:07 1383

network-manager

network-manager安装包,用于替换ubuntu 13.04中的network-manager。解决ubuntu 13.04 64bit系统无法通过802.1X的EAP认证上网问题

2013-05-17

c语言面试题重点 笔试题常考

这是一份非常不错的c语言笔试题及其解答,希望对您有帮助

2010-04-18

Linux 网络编程

第三章进程控制 3.1进程的建立与运行 3.1.1进程的概念 3.1.2进程的建立 3.1.3进程的运行 3.1.4数据和文件描述符的继承 3.2进程的控制操作. 3.2.1进程的终止 3.2.2进程的同步 3.2.3进程终止的特殊情况 3.2.4进程控制的实例 3.3进程的属性 3.3.1进程标识符 3.3.2进程的组标识符 3.3.3进程环境 3.3.4进程的当前目录 3.3.5进程的有效标识符 3.3.6进程的资源 3.3.7进程的优先级 3.4守护进程

2010-04-18

基于QT编程QQ程序

linux中基于qt的类qq程序,是一个不错的学习qt编程实例及其网络编程的程序

2010-01-23

UNIX.Shell编程24学时教程.pdf

UNIX.Shell编程24学时教程是讲述unix中的简单Shell编程,是一本不错的学习书籍

2010-01-23

DDA直线算法及三维图形变换VC源代码

DDA直线算法 中点直线算法 二维及三维图元的几何变换过程 实现直线段与圆弧等基本图元的像素生成

2009-06-03

某高手毕生精力总结的电脑技巧

某高手毕生精力总结的电脑技巧

2008-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除