Linux kernel Linux内核中的生物结构
我正在阅读Robert Love的Linux内核开发。我不理解这段关于Linux kernel Linux内核中的生物结构,linux-kernel,block-device,Linux Kernel,Block Device,我正在阅读Robert Love的Linux内核开发。我不理解这段关于bio结构的内容: 内核中块I/O的基本容器是bio结构,它在中定义。此结构将正在运行(活动)的块I/O操作表示为段列表。段是内存中连续的缓冲区块。因此,单个缓冲区在内存中不需要是连续的。通过 允许以块的形式描述缓冲区,bio结构为内核提供了执行块I/O操作的能力,即使是来自内存中多个位置的单个缓冲区。像这样的向量I/O称为分散-聚集I/O flight(active)的确切含义是什么 “作为一个片段列表”——我们是在谈论分段
bio
结构的内容:
内核中块I/O的基本容器是bio结构,它在
中定义。此结构将正在运行(活动)的块I/O操作表示为段列表。段是内存中连续的缓冲区块。因此,单个缓冲区在内存中不需要是连续的。通过
允许以块的形式描述缓冲区,bio结构为内核提供了执行块I/O操作的能力,即使是来自内存中多个位置的单个缓冲区。像这样的向量I/O称为分散-聚集I/O
flight(active)
的确切含义是什么块设备是指在I/O事务期间处理数据块(512,1024字节)的设备。“struct bio”可用于内核空间中的块I/O操作。这种结构通常用于块设备驱动程序的开发 Q1)飞行(主动)的确切含义是什么 块设备通常使用用于存储文件的文件系统来实现。现在,当用户空间应用程序启动文件I/O操作(读、写)时,内核通过文件系统管理器依次启动一系列块I/O操作。“struct bio”跟踪所有要处理的块I/O事务(由用户应用程序启动)。这就是这里提到的飞行/活动区域 “Q2)作为细分列表”--我们是在讨论这个细分吗 内核需要内存缓冲区来保存与块设备之间的数据 在内核中,有两种可能分配内存