梗概
缓冲区设置:
用户空间缓冲
如Pasted image 20240102163120(b)
内核空间缓冲
单缓冲:
如Pasted image 20240102163120(c)
双缓冲:
如Pasted image 20240102163120(d)所示 设立第二个内核缓冲区。第一个缓冲区充满之后,但是在清空之前,使用第二个。当第二个缓冲区充满时,可以复制给用户。当第二个缓冲区正在复制到用户空间时,第一个可以用来接收新的字符。这样,两个缓冲区轮流:当一个正在复制到用户空间时,另一个积累新的输入。