我已经了解到int操作系统(Linux),MMU可以通过页表数据结构将VA(虚拟地址)转换为PA(物理地址),看来该页面是由...管理的最小数据单元VM。但块怎么样?它是磁盘和系统内存之间传输的最小数据单元吗? 希望有人能解决我长期困扰我的问题,谢谢你们! 或者你可以给我一些关于这个主题的参考资料,再次感谢。
答案 0 :(得分:15)
页面和块之间有什么区别? 块是操作系统可以写入文件或从文件读取的最小数据单元。
页面究竟是什么? 某些操作系统使用页面而不是块。页面基本上是虚拟块。并且,页面具有固定的大小 - 4K和2K是最常用的大小。因此,记住页面的两个关键点是它们是虚拟块,并且它们具有固定的大小。
为什么可以使用页面而不是块 使用页面是因为当存在许多存储设备时,它们使处理更容易,因为每个设备可能支持不同的块大小。对于页面,操作系统只能处理固定大小的页面,而不是试图找出如何处理各种大小的块。因此,页面充当操作系统和硬件驱动程序之间的中间人,将页面转换为适当的块。但是,页面和块都用作数据存储单元。
http://www.programmerinterview.com/index.php/database-sql/page-versus-block/
答案 1 :(得分:2)
一般来说,硬盘是名为" block-devices"而不是"字符设备"因为传输数据的单位在块中。 即使您只需要文件中的单个字符,操作系统和驱动器也会为您提供一个块,然后只允许您访问您要求的内容,而其余字符保留在特定的缓存/缓冲区中。
注意:但是,块大小可能因系统而异。
澄清一点:
是的,在硬盘和RAM之间传输的任何数据通常以块而不是实际字节发送。
存储在RAM中的数据通常由页面yes管理;当然汇编指令只知道字节地址。