![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
io
文章平均质量分 94
you_are_the_one
献给一直坚持努力的自己
展开
-
学懂IO必备的TCP、socket知识(三)
系列文章目录 学懂IO必备的操作系统知识(一) 学懂IO必备的操作系统知识(二) 学懂IO必备的操作系统知识(三) 文章目录系列文章目录前言一、socket是什么?二、TCP三次握手?**三次握手**网络io二、使用步骤1.引入库2.读入数据总结 前言 io分为磁盘io和网络io,前两篇文章,基本讲的是磁盘io的知识,接下来将进入网络io的讲解。想深入了解网络io,就需要它整个数据流程及涉及的协议等。网络io分服务端和客服端,服务端通过创建一个serverSocket得到一个fd,再通过fd bind绑原创 2021-03-09 16:28:41 · 481 阅读 · 0 评论 -
学懂IO必备的操作系统知识(二)
接上一篇文章:学懂IO必备的操作系统知识(一) 该篇文章是依赖于第一篇,直接看可能会有很多疑问,请先查看第一篇。 1、pagecache 上一篇提到了pagecache,这里再补充下。 在计算机中应用第一次加载某个文件,会产生缺页,这个时候需要kernel从磁盘加载数据到pagecache中、 多个应用操作同一个文件数据只会在在pagecach加载一次 每个应用通过fd找到自己的文件指针操作文件、 内存管理单元维护线性内存和物理内存的关系 线性内存是逻辑上连续的 物理内存是不连续的会产生碎片 page原创 2021-03-01 17:53:33 · 152 阅读 · 3 评论 -
IO多路复用的本质(select、poll、epoll)
文章目录前言一、I/O多路复用是什么?二、三种复用方式1.select2.poll3.epoll总结 前言 如果你是新入行的小弟,对阻塞IO、非阻塞IO、同步IO、异步IO还不太了解,那得先看看这篇文章了深层次详解同步IO、异步IO、阻塞IO、非阻塞IO。如果你是久经沙场的老兵,那当做没看到就行了。 一、I/O多路复用是什么? I/O多路复用的本质是使用select,poll或者epoll函数,挂起进程,当一个或者多个I/O事件发生之后,将控制返回给用户进程。以服务器编程为例,传统的多进程(多线程)并发原创 2021-03-01 11:31:36 · 337 阅读 · 0 评论 -
深层次详解同步IO、异步IO、阻塞IO、非阻塞IO
POSIX 同步IO、异步IO、阻塞IO、非阻塞IO,这几个词常见于网络相关的文章之中,但是还是不清楚其意义。 POSIX(可移植操作系统接口)把同步IO操作定义为导致进程阻塞直到IO完成的操作,反之则是异步IO 按POSIX的描述似乎把同步和阻塞划等号,异步和非阻塞划等号,但是为什么有的人说同步IO不等于阻塞IO呢?先来说说几种常见的IO模型吧。 IO模型 io模型:阻塞,非阻塞,IO多路复用,异步 这里统一使用Linux下的系统调用recv作为例子,它用于从套接字上接收一个消息,因为是一个系统调用,所以原创 2021-02-24 16:53:11 · 219 阅读 · 0 评论 -
学懂IO必备的操作系统知识(一)
很多非计算机专业的学生学习java编程时,一上来就接触各种IO:BIO、NIO、AIO,同步io、阻塞io,可能直接傻掉了,what‘s the hell! 接下来我们就从操作系统层面一点点的解开IO的面纱,让你一睹真容,其实它就是个普普通通的“人”。原创 2021-02-20 18:05:25 · 275 阅读 · 0 评论