POST 后、BIOS 屏幕后、GRUB 后;当我插入 SD 卡或 USB 记忆棒启动 Debian 时,其中之一第一的屏幕上弹出的内容(速度太快,我通常都没有注意到)看起来有点像:
[sdX] no caching page mode present
text, text, X 在那一长串内容的中间开始,文本明显变小,就在窗口管理器启动之前,我看到了非常熟悉的设备消息(这不是dmesg
代表的吗?)
[sdX] assuming drive cache. write through
那么,从技术上来说,这两种状态有什么区别呢?正在缓存什么?页面是什么?什么叫‘写透’?是什么排除了驱动器缓存的假设,以便在启动后立即进行写入?
答案1
“sd”代表 SCSI 磁盘。当第一次检测到磁盘设备时,内核(除其他外)请求设备的缓存模式页面,这将指示设备是否具有位于介质(磁盘、闪存等)前面的板载内存缓冲区。在您的情况下,设备没有缓存模式页面,因此内核假设没有读取缓存或写入缓冲,因此对设备的写入将是“直写”,即将直接进入介质。
内核关心写入缓冲,因为文件系统一致性检查和恢复部分取决于数据写入存储的顺序。如果有设备板载缓存,文件系统模块可能需要发送 SCSI 命令来禁用写入缓存,以便 fsck 继续正常工作。