系统编程
文章平均质量分 58
hellochenlu
这个作者很懒,什么都没留下…
展开
-
进程与线程的一个简单解释
在学习JavaScript EventLoopt时,看到很好的一个关于进程线程的描述。现分享给大家。原文链接:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类转载 2015-10-09 13:19:52 · 235 阅读 · 0 评论 -
HTTP 206和HTTP 502
最后一条会话返回了HTTP/206 “Partial Content”响应.这种响应是在客户端表明自己只需要目标URL上的部分资源的时候返回的.这种情况经常发生在客户端继续请求一个未完成的下载的时候(通常是当客户端加载一个体积较大的嵌入文件,比如视屏或PDF文件),或者是客户端尝试实现带宽遏流的时候.你可以通过Range请求头辨认出一个部分内容请求.该请求头表明了客户端需要请求资源的哪一部分:转载 2017-01-12 14:15:18 · 1240 阅读 · 0 评论 -
lua中逻辑运算符and与or的用法
总的来说就是,and返回导致返回值为false的那个值。a and b,如果a为假就返回a,否则返回b。 or的用法就是返回导致true的那个, a and b,如果a为真就返回a,否则返回B.逻辑运算符认为false和nil是假(false),其他为真,0也是true.and的优先级比or高其它语言中的and表示两者都为真的时候,才返回为真,而只要有一个假,都返回假.lu转载 2017-01-12 11:41:45 · 998 阅读 · 0 评论 -
分布式缓存和代理
参考文章:http://www.cnblogs.com/likehua/p/3796802.html分布式缓存在分布式缓存(图1.12)中,每个节点都会缓存一部分数据。如果把冰箱看作食杂店的缓存的话,那么分布式缓存就象是把你的食物分别放到多个地方 —— 你的冰箱、柜橱以及便 当盒 ——放到这些便于随时取用的地方就无需一趟趟跑去食杂店了。缓存一般使用一个具有一致性的哈希函数进行分割,转载 2017-01-12 10:54:33 · 1578 阅读 · 0 评论 -
ngx_lua 模块API说明
ngx_lua模块API说明#Ngx指令lua_code_cache on | off;作用:打开或关闭 Lua 代码缓存,影响以下指令: set_by_lua_file , content_by_lua_file, rewrite_by_lua_file, access_by_lua_file 及强制加载或者reload Lua 模块等.缓存开启时修改LUA代码需要重启nginx转载 2017-01-11 14:18:07 · 576 阅读 · 0 评论 -
用lua扩展你的Nginx
首先得声明,这不是我的原创,是在网上搜索到的一篇文章,原著是谁也搞不清楚了,按风格应该是属于章亦春的文章。整理花了不少时间,所以就暂写成原创吧。一. 概述Nginx是一个高性能,支持高并发的,轻量级的web服务器。目前,Apache依然web服务器中的老大,但是在全球前1000大的web服务器中,Nginx的份额为22.4%。Nginx采用模块化的架构,官方版本的N转载 2017-01-11 10:35:27 · 649 阅读 · 0 评论 -
docker与虚拟机性能比较
概要Docker是近年来新兴的虚拟化工具,它可以和虚拟机一样实现资源和系统环境的隔离。本文将主要根据IBM发表的研究报告,论述docker与传统虚拟化方式的不同之处,并比较物理机、docker容器、虚拟机三者的性能差异及差异产生的原理。 docker与虚拟机实现原理比较如下图分别是虚拟机与docker的实现框架。 比较两图的差异,左图虚拟机的Guest OS转载 2016-12-06 21:54:43 · 713 阅读 · 0 评论 -
rlimit
在Linux下的进程资源的限制(struct rlimit)详解在Linux系统中,Resouce limit指在一个进程的执行过程中,它所能得到的资源的限制,比如进程的core file的最大值,虚拟内存的最大值等。Resouce limit的大小可以直接影响进程的执行状况。其有两个最重要的概念:soft limit和 hard limit。struct rlimit{原创 2016-06-07 15:21:22 · 3833 阅读 · 0 评论 -
Linux中dd命令详解
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:if=文件名:输入文件名,缺省为标准输入。即指定源文件。of=文件名:输出文件名,缺省为标准输出。即指定目的文件。ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。o转载 2016-02-27 15:52:01 · 609 阅读 · 0 评论 -
htons(), htonl(), ntohs(), ntohl()详解
将多字节整数类型的数据,从主机的字节顺序转化为网络字节顺序#include uint32_t htonl(uint32_t hostlong);uint16_t htons(uint16_t hostshort);uint32_t ntohl(uint32_t netlong);uint16_t ntohs(uint16_t netshort);原创 2016-02-26 09:23:12 · 2318 阅读 · 0 评论 -
大尾端 小尾端和 htons函数
提到体系结构时,经常遇到大小尾端的概念,这里做个总结。 big endian:大尾端,也称大端(高位)优先存储。 little endian:小尾端,也称小端(低位)优先存储。 如下00000000 00000000 00000000 00000001的存储 大尾端: 00000000 00000000 00000000 00000001原创 2016-02-25 10:04:18 · 2237 阅读 · 0 评论 -
段寄存器和段基址
段寄存器是因为对内存的分段管理而设置的。计算机需要对内存分段,以分配给不同的程序使用(类似于硬盘分页)。在描述内存分段时,需要有如下段的信息:1.段的大小;2.段的起始地址;3.段的管理属性(禁止写入/禁止执行/系统专用等)。需要用8个字节(64位)存储这些信息,但段寄存器只有16位,因此段寄存器中只能存储段号(segment selector,也译作“段选择符”),再由段号映射到存在内存中的GD原创 2016-02-24 16:20:49 · 13004 阅读 · 1 评论 -
recv函数和send函数
int recv( SOCKET s, char FAR *buf, int len, int flags); 不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符;第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;第三个参数指明buf的长度;第四个参数一般置0。因为UDP是按数据包转载 2016-02-24 13:42:24 · 436 阅读 · 0 评论 -
gcc -D 选项和setenv
一、概念 gcc的-D选项可以定义宏,这是什么意思呢?C语言源程序中有#define定义的宏,可以起到替换、条件编译的功能;定义宏的方式是放在头文件或者C文件中。gcc提供了另外一种宏定义的方法,当然可以想象这样的宏定义方法并不是很好用,但毕竟编译器给我们提供了额外的宏定义的方法。假设程序需要很多宏,不可能这些宏都在编译器中定义,可以说比较重要的宏才会放在gcc的D选项后边。-Dn原创 2016-02-22 15:16:38 · 458 阅读 · 0 评论 -
程序计数器和指令指针寄存器
CS和IP是8086CPU中两个最关键的寄存器,它们指示了CPU当前要读取指令的地址。CS为代码段寄存器,IP为指令指针寄存器,从名称上我们可以看出它们和指令的关系。在8086PC机中,任意时刻,设CS中的内容为M,IP中的内容为N,8086CPU将从内存M 16+N单元开始,读取一条指令并执行。也可以这样表述:8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。原创 2016-02-22 09:21:05 · 5194 阅读 · 0 评论 -
文件描述符和套接字
文件描述符:文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统。习惯上,标准输入(standard input)的文件描述符是原创 2015-10-10 15:24:10 · 2502 阅读 · 0 评论 -
进程和句柄
原文链接:http://blog.csdn.net/wenzhou1219总是有新入门的Windows程序员问我Windows的句柄到底是什么,我说你把它看做一种类似指针的标识就行了,但是显然这一答案不能让他们满意,然后我说去问问度娘吧,他们说不行网上的说法太多还难以理解。今天比较闲,我上网查了查,光是百度百科词条“句柄”中就有好几种说法,很多叙述还是错误的,天知道这些误人子弟的人是想转载 2015-10-10 14:11:18 · 595 阅读 · 0 评论 -
Nginx + Lua + 共享内存实现动态查询(简单例子)
Nginx 配置。lua_package_path "/usr/local/share/luajit-2.0.2/jit?.lua;;"; lua_shared_dict devicedb 45m; location /query { default_type 'text/plain'; content_by_lua '转载 2017-01-12 18:06:56 · 651 阅读 · 0 评论