Tim Asked: 2018-10-04 16:57:33 +0800 CST2018-10-04 16:57:33 +0800 CST 2018-10-04 16:57:33 +0800 CST 为什么块设备的传输单元是块而不是页? 772 操作系统概念说 字符流设备逐个传输字节,而块设备将字节块作为一个单元进行传输。 但是听说主存和磁盘之间传输的单位是page。 报价中的“转移”发生在什么和什么之间?为什么它的传输单位不是页而是块或字节呢? 谢谢。 memory block-device 1 个回答 Voted Best Answer blihp 2018-10-04T20:37:13+08:002018-10-04T20:37:13+08:00 传输通常发生在存储设备和主存储器之间。当您在提到磁盘时听到页面时,他们可能是在谈论以页面为单位的虚拟内存,因为这是 MMU 处理的存储单元。但是块设备涉及各种可能是也可能不是磁盘的设备,因此您有块和块大小的单独概念。磁盘块大小和内存页大小过去(通常)是一样的,都是 4096 字节,这当然很方便。但没有什么说他们必须是相同的。例如,您可能有一个数 TB 的磁盘用于存储图像,将块大小增加到 32k 或更多是有意义的……对内存页面大小没有影响。一般来说,只要一个是另一个的两倍的幂,就可以毫不费力地工作。
传输通常发生在存储设备和主存储器之间。当您在提到磁盘时听到页面时,他们可能是在谈论以页面为单位的虚拟内存,因为这是 MMU 处理的存储单元。但是块设备涉及各种可能是也可能不是磁盘的设备,因此您有块和块大小的单独概念。磁盘块大小和内存页大小过去(通常)是一样的,都是 4096 字节,这当然很方便。但没有什么说他们必须是相同的。例如,您可能有一个数 TB 的磁盘用于存储图像,将块大小增加到 32k 或更多是有意义的……对内存页面大小没有影响。一般来说,只要一个是另一个的两倍的幂,就可以毫不费力地工作。