2018年12月18日 上午12:30
总结:
- 这篇文章的主题首先是:IO,
- 代表的问题是:一个【多层次】的系统结构中,并且数据在多个层次中转换中到达的时间是【不确定】,我们作为数据的【索要方】,如何合理的采取【机制(模型)】去获取数据呢?
- 只要是这种问题,其实我们都可以使用这种模型去解决,不限于I/O问题
自己的理解:
- block I_O模型(阻塞I_O):这时一个正常人的做法,不死等
- non-block(非阻塞I/O模型):这就是一个傻货
- I_O多路复用:就是在阻塞I_O的前面添加了一个select,达到多路复用的效果
- asynchronous I_O(异步 I_O):这种是老板型,kernal是他小弟
事件驱动模型
- 关于事件驱动模型,其实就是I_O的特例而已,我们一般认识I_O是硬盘,但是你的键盘鼠标都是统称I/O设备
- 说起事件驱动模型,要想起那个事件队列
与计算机网络的对比:
计算机网络更加注重于给予对方数据,而计算机系统中更多的是主动索取