Minix是一个微内核操作系统,基于Unix体系结构,使用C语言进行编程,有时在嵌入式系统中使用,我的任务是以某种方式更改其工作方式。

在Minix中,有一个用于磁盘块的缓存(用于快速访问磁盘)。我需要更改该缓存,因此它将保留磁盘轨迹而不是磁盘块。

路径是HD的圆形区域,由扇区组成。

所以我在这里有点迷路,如何将磁盘记录加载到内存中? (与Linux系统有关的答案可能会有所帮助)

我应该更改磁盘驱动程序还是使用现有驱动程序的功能和方法?

如何计算磁盘块在HD中的位置?

感谢您的关注。

最佳答案

您所描述的典型术语是磁盘柱面,而不是“尾迹”。

您尝试做的事情并非完全可行;现代硬盘驱动器不会将其物理组织暴露给操作系统。尽管出于兼容性考虑仍支持柱面/磁头/扇区寻址,但是所使用的数字与驱动器上数据的实际位置无关。

而是考虑定义磁盘的固定“块”,该块将始终一起加载到缓存中。 (例如,也许您可​​以将每128个扇区组合在一起,创建一个64 KB的“块”。因此,读取扇区400会导致高速缓存拉入扇区384-511。)例如,找出如何制作Minix磁盘缓存,这将是您的项目。 :)

关于linux - 将光盘(HD)记录加载到内存(Minix),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31896425/

10-09 07:24