摘要: 本文转载自文件 I/O 的内核缓冲 导语 从最粗略的角度理解 Linux 文件 I/O 内核缓冲(buffer cache),啰嗦且不严谨。只为了直观理解。 当我们说一个程序读写磁盘上的文件时,通常指的是把磁盘设备上的数据块存储到用户空间内存中(或把用户空间内存的数据存储到磁盘设备上)。 然而,程序 阅读全文
posted @ 2020-06-05 19:33 Yungyu 阅读(1985) 评论(0) 推荐(0) 编辑
摘要: 本文转载自零拷贝 - 用户态分析 导语 现在几乎所有人都听过 Linux 下的零拷贝技术,但我经常遇到对这个问题不能深入理解的人。所以我写了这篇文章,来深入研究这些问题。本文通过用户态程序的角度来看零拷贝,因此我有意忽略了内核级别的实现。 什么是 “零拷贝” ? 为了更好的理解这个问题,我们首先需要 阅读全文
posted @ 2020-06-05 18:00 Yungyu 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 本文转载自文件和零拷贝 文件概述 文件描述符 文件描述符:在Linux中,所有的文件都是通过文件描述符引用。fd是一个非负整数。按照惯例,标准输入的fd是0,标准输出的fd是1,标准错误的fd是2。分别作为STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO定义在unis 阅读全文
posted @ 2020-06-05 17:28 Yungyu 阅读(631) 评论(0) 推荐(0) 编辑
摘要: 本文转载自从几个问题开始理解CFS调度器 导语 CFS(完全公平调度器)是Linux内核2.6.23版本开始采用的进程调度器,它的基本原理是这样的:设定一个调度周期(sched_latency_ns),目标是让每个进程在这个周期内至少有机会运行一次,换一种说法就是每个进程等待CPU的时间最长不超过这 阅读全文
posted @ 2020-06-05 16:50 Yungyu 阅读(1557) 评论(0) 推荐(1) 编辑
摘要: 本文转载自ext文件系统机制原理剖析 导语 将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分。划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法)。格式化分区的过程其实就是创建文件系统。 文件系统的类型有很多种,如CentOS 5和CentOS 6上默认使用的ext2/ext3/ext 阅读全文
posted @ 2020-06-05 15:07 Yungyu 阅读(611) 评论(0) 推荐(1) 编辑
摘要: 本文转载自文件描述符(File Descriptor)简介 导语 维基百科:文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往 阅读全文
posted @ 2020-06-05 13:53 Yungyu 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 本文转载自Linux文件/proc/net/tcp分析 导语 /proc/net/tcp文件提供了tcp的连接信息,是由net/ipv4/tcp_ipv4.c中的tcp4_seq_show()实现信息打印的 本文内容来源于linux官方文档proc_net_tcp.txt 官方文档解释 proc_n 阅读全文
posted @ 2020-06-05 13:28 Yungyu 阅读(1224) 评论(0) 推荐(0) 编辑