IO模型学习笔记

一、IO类型分类:

同步和异步:关注的是消息通知机制

同步(synchronous):调用发出之后不会立即发出返回,但一旦返回就是最终结果

异步(asynchronous):调用发出之后,被调用者会立即返回消息,但返回的结果并非是最终结果,被调用者通过状态机制或者消息通知机制来通知调用者;即通过回调函数来处理结果

阻塞和非阻塞:关注的是调用者等待调用结果(消息、返回值)的状态

阻塞:调用结果返回之前,调用者(调用线程)会被挂起,处于不可中断的睡眠状态(Uninterruptable),调用者只有在得到结果后才返回

非阻塞:调用结果返回之前,调用不会阻塞当前线程

二、httpd的IO模型

1、阻塞型IO: blocking IO

当进程发起recvfrom调用,内核发现内核空间没有数据,不会立即返回recvfrom调用结果,而是从硬盘中加载数据,准备数据;等内核空间的数据准备好之后,再把内核空间的数据复制到进程空间,复制完成后,通过回调函数,告诉进程数据数据已准备好,可以使用;进程在等待内核准备数据到复制数据到进程空间这段时间是被阻塞的。

2、非阻塞模型:nonblocking IO

当进程发起recvfrom调用,内核立刻返回调用信息,但返回的不是最中结果;内核发现内核空间没有数据,便从硬盘中加载数据,即准备数据,在内核准备数据的这段时间,进程不断的发送信息,内核返回信息给进程,此时进程处于盲等待状态,及非阻塞状态;当内核数据准备完后,从内核空间复制数据到进程空间,这复制数据的这段时间中,进程是被阻塞的;复制完以后通过回调函数返回给调用者,即进程

3、IO复用模型:IO multiplexing;select(),poll()

当进程发起IO调用,内核会立刻返回信息,但并不是最终结果;内核开始准备数据,从硬盘加载数据至内核空间,在这段时间内,进程不断发送消息,但是都被IO复用器阻塞,所以在内核准备数据的这段时间内,进程是被IO复读器阻塞;内核准备好数据以后开始复制数据到进程空间,数据复制完成后通知进程,资源可以使用;在这段时间内进程是被IO阻塞。

4、信号驱动模型:SIGNAL Driven IO

当进程发起IO调用,内核会立即返回信息,但不是最终结果;内核开始准备数据,从硬盘加载数据到内核空间;在这段时间内,进程是非阻塞的;当内核数据准备完成后,通知知进程,开始复制数据到进程空间;在这段时间内;进程是被阻塞的;

5、异步IO模型:asynchronous IO

当进程发起调用,内核会立即返回信息;但不是最后结果;然后内核开始准备数据,从硬盘加载数据到内核空间;数据准备完成后,开始将内核空间的数据复制到进程空间;复制完成后;通知进程可以使用;在内核准备数据到从内核复制数据到进程空间这段时间内;进程处于非阻塞状态。

时间: 2024-08-30 14:52:18

IO模型学习笔记的相关文章

DOM事件模型学习笔记

下面的内容属于阅读笔记,其中涉及大量内容来自于PPK的博客的内容,如果你要跟随我的脚步领略大家风采,那么就从Introduction to Events开始阅读吧. 现代的前端开发应该是会严格遵守 html 展示文档内容构成,css 渲染页面效果,javascript 提供交互 浏览器提供交互行为可以追溯到Netscape公司在其第二个版本中支持javascript语言,随后其与微软之间的浏览器大战,以及w3c标准制定的落后,导致至今一直被诟病的浏览器兼容问题,而这些不兼容中关于DOM事件模型的

【点击模型学习笔记】A survey on click modeling in web search_Lianghao Li_ppt

是一篇综述性质的ppt. 主要内容: 对搜索中的广告点击预测,总结学术界的研究成果. 搜索广告主要展示位为:1. 搜索结果页面最上侧:2. 搜索结果右侧. 研究意义:广告点击次数直接影响收入 问题抽象:对于某个query q,和某个广告ad,预测用户对它们的点击率. 具体内容: 1. 最简单的点击模型:通过点击次数来预测,计算公式为 P = #count of clicks / #count of impressions(展现) 缺点:点击受到用户浏览行为的影响:对于长尾query和ad,存在冷

概率图模型学习笔记(二)贝叶斯网络-语义学与因子分解

概率分布(Distributions) 如图1所示,这是最简单的联合分布案例,姑且称之为学生模型. 图1 其中包含3个变量,分别是:I(学生智力,有0和1两个状态).D(试卷难度,有0和1两个状态).G(成绩等级,有1.2.3三个状态). 表中就是概率的联合分布了,表中随便去掉所有包含某个值的行,就能对分布表进行缩减. 例如可以去掉所有G不为1的行,这样就只剩下了1.4.7.10行,这样他们的概率之和就不为1了,所以可以重新标准化(Renormalization).如图2所示. 图2 反之也可以

【点击模型学习笔记】Modeling contextual factors of click rates_MS_AAAI2007

概要 并没有觉得这是篇高质量的文章,很奇怪为什么能够发表在AAAI上面. 文章的创新点比较单薄:在传统点击率预测模型(LR)的基础上加入了两类新的特征,一个是位置特征,一个是广告上下文特征--即和它并排展示的其他广告的特征 具体内容 1. 建模 文章中,作者用了两种模型: (1)逻辑回归模型 作者用0-1特征,将位置信息作为一个种特征加入到模型当中:输出结果也是0-1二分类,表示用户是否点击了这个广告. 值得注意的是:作者认为,训练出来的模型参数,某个特征的系数值比较大,则这个特征也比较重要--

【点击模型学习笔记】Ad centric model discovery for redicting ads' click through rate_ANT2013_Tencent

腾讯soso的人写的一篇文章,介绍soso广告系统的ctr预估技术.2013年的,应该反映了当前soso的ctr预估系统的情况. ANT会议质量一般,elsevier出版社出版.搞笑的是,文章摘要居然把论文模板上的这句话"Click here and insert your abstract text"原封不动的写在了第一句,并且就这样发表了! 主要内容: 描述soso搜索结果页面中广告点击率预测的系统实现. 具体内容: 1. 相关工作 Rechardson用逻辑回归来预测ctr ki

【点击模型学习笔记】广告点击率估算技术综述_华东师范大学学报2013

概要: 不是一篇高质量文章,不过是一篇还算不错的综述,而且时间够新(2013). 具体内容:按照文章原本内容顺序罗列 0. 介绍 * 赞助商广告:投放到搜索结果页面 * 情境广告:在网页某个位置上投放,一般由广告联盟介入 1. 广告点击率预测的应用背景 * 广告点击率一般比较低,能达到0.2%就已经是很好的投放了 * 大量的广告.查询都是很稀疏的 * 利用用户点击行为的,除了点击率预测,还有两个领域:搜索结果排序和推荐系统 * "Inferring Clickthrough Rates on A

【点击模型学习笔记】Predicting Clicks_Estimating the Click-Through Rate for New Ads_MS_www2007

概要: 微软研究院的人写的文章,提出用逻辑回归来解决ctr预估问题,是以后ctr的经典解决方案,经典文章. 具体内容: 名词: CPC -- cost per click CTR -- click through rate 1. 研究初衷 搜索引擎主要靠商业广告收入,在广告位上面打广告,用户点击,之后广告商付费.在通用搜索引擎,通常广告位置是在搜索结果之前,或者在搜索结果右边. 商业广告收入 = pClick * CPC 要提升广告收入,关键问题是在有限的广告为上面,放什么广告?很自然的想法就是

【点击模型学习笔记】Inferring clickthrough rates on ads from click behavior on search results_wsdm2011

概要: 看这篇文章的初衷,是这篇文章回答了问题"在一个query的结果当中,给出多少个广告位合适?".文章不长,不过一路看下来,发现貌似不是native-english-speaker写的,细节说的不清楚,完全无法还原作者的工作思路.不过还是有那么一点儿收获的. 具体内容: 搜索主要的赚钱方式是在搜索结果当中嵌入广告,一般来讲是按照广告的点击次数来付费的.这样,就有一个趋势,如果想要赚钱多,就在搜索结果中越来越多的植入广告,使得广告的点击次数越来越多,则赚的钱就越来越多:不过,也有研究

Probability Latent Semantic Analysis (PLSA) 模型 学习笔记

Probability Latent Semantic Analysis (PLSA) 模型 学习笔记 PLSA是前面LSA的兄弟版,相比于LSA而言,PLSA定义了概率模型,而且每个变量以及相应的概率分布和条件概率分布都有明确的物理解释了.这篇博文我们分三部分来说PLSA:基本思想,EM算法推导,以及优缺点分析. 1.  PLSA的基本思想 PLSA是一种主题模型topic model,是针对文本中隐含的主题来建模的方法.PLSA就是给定了文档d之后,需要以一定的概率选择与文档相对应的主题z,