![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 78
qq_49673953
这个作者很懒,什么都没留下…
展开
-
java I/O小结
同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到内核把数据拷贝到用户空间。用户发起系统调用(read请求)后进入阻塞状态(等待数据)->CPU对磁盘发起IO请求->等待磁盘寻址准备数据->找到数据后对CPU发起中断->将内核缓存区的数据拷贝到用户缓冲区->用户获取数据即进程会一直阻塞直到数据准备完毕同步非阻塞IO , 也被认为是IO多路复用同步非阻塞IO:IO多路复用:IO多路复用一个进程/线程处理多个请求,减少了进程/线程的开销异步 IO 是基于事件和回调机制实现的,原创 2022-06-23 10:23:15 · 191 阅读 · 0 评论 -
I/O多路复用:select,poll,epoll
一个进程虽然任一时刻只能处理一个请求,但是处理每个请求的事件时,耗时控制在 1 毫秒以内,这样 1 秒内就可以处理上千个请求,把时间拉长来看,多个请求复用了一个进程,这就是多路复用select/poll/epoll 内核提供给用户态的多路复用系统调用,进程可以通过一个系统调用函数从内核中获取多个事件。select 实现多路复用的方式是,将已连接的 Socket 都放到一个文件描述符集合,然后调用 select 函数将文件描述符集合拷贝到内核里,让内核来检查是否有网络事件产生,检查的方式很粗暴,就是通过遍历原创 2022-06-22 18:00:09 · 101 阅读 · 0 评论 -
网络系统--零拷贝
目的: 磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接 I/O、异步 I/O 等等,这些 优化的目的就是为了提高系统的吞吐量, 另外操作系统内核中的磁盘高速缓存区,可以有效的减少磁盘的访问次数。零拷贝作用:通过减少 「用户态与内核态的上下文切换」 和 「内存拷贝」 的次数优化文件传输性能什么是零拷贝: 零拷贝(Zero-copy)技术,因为我们没有在内存层面去拷贝数据,也就是说全程没有通过 CPU 来搬运数据,所有的数据都是通过 D原创 2022-06-21 17:23:11 · 367 阅读 · 0 评论 -
操作系统--进程间通信
操作系统--进程通信原创 2022-06-20 11:48:53 · 271 阅读 · 1 评论