共享内存区是可用IPC形式中最快的。一旦内存区映射到共享它的进程的地址空间,进程间数据的传递就不再涉及内核。然而往该共享内存区存放信息或从中取走信息的进程间通常需要某种形式的同步。不再涉及内核是指:进程不再通过执行任何进入内核的系统调用来彼此传递数据。内核必须建立允许各个进程共享该内存区的内存映射关系,然后一直管理内存区。
默认情况下通过fork派生的子进程并不与其父进程共享内存区。
mmap...
分类:
系统相关 时间:
2014-06-11 06:34:25
阅读次数:
439
0.硕士老婆周六又逃课了,马上要考试了都不去复习(顺便那啥一下考子们,你们懂的),唉...事实上从学校出来以后,你将面对更多的考试!1.但是不管哪里的考试,我都不参加!2.觉得《完美回忆》结局不好,纯粹是导演开后门儿...3.只要按我的想法继续《完美回忆》,一定比《黑客帝国》还成功!我一直坚信,好的电影没有第二部且不超过三小时(一个成年人酝酿一脬屎的最短时间,当然,不算拉肚子)!4.Linux内核...
分类:
其他好文 时间:
2014-06-11 06:24:38
阅读次数:
272
处理upcall的整体框架是:
1.由函数handle_upcalls()批量处理(in batches)的是由内核传上来的dpif_upcalls,会解析出upcall的类型。这里主要看在内核中匹配流表失败的MISS_UPCALL。处理完成后会得到多个flow_miss。
结构体dpif_upcall代表的是由内核传到用户空间的一个包,包括上传原因,pac...
分类:
其他好文 时间:
2014-06-11 06:23:28
阅读次数:
863
1.删除多余的自编译的内核每次Debian发布内核更新,总是有某些内核选项跟自己的硬件不配套,要自己编译内核。编译多了,多余的内核就占用了多余的硬盘空间。我就试过因为/boot分区满了,而导致编译内核失败。为了腾出有限的资源,删除多余的内核很有必要。看到了卸载自己编译的内核找到了可行的方法。主要的思...
分类:
数据库 时间:
2014-06-10 21:15:54
阅读次数:
366
作者:EasyWave 时间:2014.06.08
类别:Linux内核-TimeZone设置 声明:转载,请保留链接
Linux时钟在概念上类似Windows时钟显示当前系统时间,但在时钟分类和设置上却和Windows大相径庭。Linux将时钟分为系统时钟(SystemClock)和硬件(Real TimeClock,简称RTC)时钟两种。...
分类:
系统相关 时间:
2014-06-10 16:03:30
阅读次数:
353
android4.4 webview chromium是单进程的,图中所有组件都运行在Browser进程中。
按从上而下的顺序介绍这张图中与显示网页相关的chromium内核结构。
1.AwContents->WebContentsImpl
AwContnents的创建过程如下图:
AwContents是WebView接口的主要实现类。
native层的AwContents包含chr...
分类:
移动开发 时间:
2014-06-10 15:39:26
阅读次数:
421
connect():不需要bind,内核会自动加源地址和随机端口,connect会发送3次握手,只有在成功连接或者出错的情况才返回。出错的情况有3种:1.收不到syn确认包,会超时重发,总共75秒后time
out2.收到不可达包,会重发,等一段时间后no route to host3.服务器没有监...
分类:
其他好文 时间:
2014-06-10 12:41:36
阅读次数:
240
继续上文CentOS6.5
Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务、磁盘操作、文件描述符、内核调整等。1、关闭系统中不需要的服务###Centos
minimal 本来就是最小安装,这里我也就不提....
分类:
其他好文 时间:
2014-06-10 12:33:04
阅读次数:
234
brk(addr)直接修改堆的大小。addr指定current->mm->brk的新值,返回值是线性区新的结束地址,这是一个系统调用。当用户态的进程调用brk()系统调用时,内核执行sys_brk(addr)函数。下面分析这个函数的执行流程:
1:检测addr参数是否位于进程代码段所在的线性区,如果是直接返回,因为堆不能与进程代码段所在的线性区重合。
mm=current->mm;
down_...
分类:
其他好文 时间:
2014-06-10 11:06:20
阅读次数:
284
从某种意义上,函数start_kernel就好像一般可执行程序中的主函数main,系统进入这个函数之前已经进行了一些最低限度的初始化,再往前研究就涉及很多硬件相关及编程语言了,这里是较高层次的初始化,基本是C代码,一直想搞清楚内核的初始化流程,好对整个linux内核有更深理解。分析程序习惯性的找main函数,那么就从这个start_kernel看看。
这个函数在init/main.c:
a...
分类:
其他好文 时间:
2014-06-10 06:34:53
阅读次数:
465