新Linux
新Linux
张井天
知其然,知其所以然!
展开
-
零拷贝
前言零拷贝这三个字,一直是服务器网络编程的关键字,任何性能优化都离不开。在 Java 程序员的世界,常用的零拷贝有 mmap 和 sendFile。那么,他们在 OS 里,到底是怎么样的一个的设计?本文将简单聊聊 mmap 和 sendFile 这两个零拷贝。传统数据读写的劣势初学 Java 时,我们在学习 IO 和 网络编程时,会使用以下代码: File file = ne...转载 2020-01-13 14:32:03 · 170 阅读 · 0 评论 -
操作系统: 用户态和内核态
用户态和内核态:内核态:cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将自己从一个程序切换到另一个程序。用户态:只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被剥夺,cpu资源可以被其他程序获取。为什么要有用户态和内核态?由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个...转载 2020-01-13 14:00:27 · 810 阅读 · 0 评论