nginx进程间的通信
进程间消息传递
共享内存
共享内存还是Linux下提供的最基本的进程间通信方式,它通过mmap和shmget系统调用在内存中创建了一块连续的线性地址空间,而通过munmap或者shmdt系统调用可以释放这块内存。使用共享内存的好处是当多个进程使用同一块共享内存时,在任何一个进程修改了共享内存中的内容后,其他进程通过访问这段共享内存都能够得到修改后的内容。
Nginx...
分类:
其他好文 时间:
2014-07-29 14:28:38
阅读次数:
338
最近开始想稍微深入一点地学习Linux内核,主要参考内容是《深入理解Linux内核》和《深入理解Linux内核架构》以及源码,经验有限,只能分析出有限的内容,看完这遍以后再更深入学习吧。1,内存地址逻辑地址:包含在机器语言中用来指定一个操作数或一条指令的地址。线性地址:一个32位无符号数,用于直接映...
分类:
系统相关 时间:
2014-07-20 08:29:46
阅读次数:
476
一、交换分区:swap目前几乎所有的操作系统都是多任务多用户的,且使用了MMU完成了内存保护,以使得多进程得以完成。如此一来,每个进程都有自己的线性地址空间,其中的数据会被映射到物理地址空间中。第一个进程使用第一个线性地址空间,第二个进程使用第二个线性地址空间,依..
分类:
其他好文 时间:
2014-07-19 02:26:36
阅读次数:
485
2.1 内存地址逻辑地址:段+偏移线性地址(虚拟地址)物理地址2.2硬件中的分段2.2.1 段选择符和段寄存器15 3 2 1 0 ------------------------------------------------| |TI |RPL || 索引号 | | |-------...
分类:
系统相关 时间:
2014-07-02 20:45:39
阅读次数:
252
一、逻辑地址转线性地址 机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(CPU中的内存管理单元)转换成物理地址才能够被访问到。 我们写个最简单的hello world程序,用gccs编译,再反编译后会看到以下指令: mov 0x80495b0, %eax 这里的内存地址...
分类:
系统相关 时间:
2014-06-18 13:50:43
阅读次数:
348
下面是函数描述信息中的约定: 'ea' 线性地址 'success' 0表示函数失败;反之为1 'void'表示函数返回的是没有意义的值(总是0) AddBptEx AddBpt AddCodeXref AddConstEx AddEntryPoint AddEnum AddHotkey Ad...
分类:
其他好文 时间:
2014-06-17 13:30:44
阅读次数:
2140
本文主要解说缺页处理程序,凝视足够具体,不再解释。//以下函数将一页内存页面映射到指定线性地址处,它返回页面的物理地址//把一物理内存页面映射到线性地址空间指定处或者说把线性地址空间指定地址address处的页面映射到主内存区页面page上。主要工作是在相关也文件夹项和页表项中设置指定页面的信息。在...
分类:
系统相关 时间:
2014-06-08 06:34:29
阅读次数:
285
缺页处理程序//下面函数将一页内存页面映射到指定线性地址处,它返回页面的物理地址
//把一物理内存页面映射到线性地址空间指定处或者说把线性地址空间指定地址address处的页面映射到主内存区页面page上。主要工作是在相关也目录项和页表项中设置指定页面的信息。在处理缺页异常函数do_no_page中会调用这个函数。
参数:address--线性地址;page--是分配的主内存区中某一页面指针
st...
分类:
系统相关 时间:
2014-06-04 22:01:30
阅读次数:
433
当使用80x86微处理器时,我们必须区分三种地址:1.逻辑地址(logical
address) 包含在机器语言指令中用来指定一个操作数或者一条指令的地址。由一个段(segment)和偏移量(offset)组成。2.线性地址(linear
addres,也称虚拟地址 virtual address....
分类:
其他好文 时间:
2014-05-23 23:58:31
阅读次数:
405
内存地址三种内存地址:1)逻辑地址(机器指令中操作数或指令的地址) 分段单元
2)线性地址(虚拟地址)分页单元 3)物理地址(用于内存芯片级内存单元寻址多CPU时,共享同一内存,RAM芯片由独立的CPU并发访问;
由内存仲裁器保证RAM的读写的串行执行 Linux中的分段80X86才使用分段(把程序...
分类:
其他好文 时间:
2014-05-15 11:58:59
阅读次数:
300