我要对磁盘进行写操作,因为在Windows下磁盘存储是以簇为单位,所以写文件时候以簇为单位对磁盘进行操作。这样就要求文件写入磁盘的时候尽量要连续,否则会产生不连续扇区,从而产生磁盘碎片。如果碎片过多在磁盘读写的时候就会使磁头频繁移动,降低效率。
所以在写入磁盘的时候是否要考虑到人为干预?对不对齐的扇区进行特殊处理?还是只需要对文件的大小进行限制(簇的倍数) 让文件系统自己对磁盘进行操作,它会自动对齐数据。不会出现碎片?请高手和有经验的朋友指教。多谢!

解决方案 »

  1.   

    您的意思是文件系统会自动对齐么?
      

  2.   

    文件系统不会自动对齐,否则碎片就不会产生了,但是一般情况下不需要人为干预。
      

  3.   

    这是操作系统设计的研究方向,但绝对不是应用程序设计者需要关心的问题。如果你正式学过操作系统,你应该知道在设计文件系统时就需要考虑磁盘的碎片问题。
        其实你在写文件时,你写的数据会被C运行库、操作系统等多次缓冲、重组,所以没必要也不可能关心最终的碎片情况,交给操作系统吧。
      

  4.   

    考虑太多了,刚开始写程序别考虑那么多.
      

  5.   

    但是在写连续文件的时候操作系统会尽量分配连续的扇区。这样方便管理,最重要的是让磁头的吞吐量提高,从而提高效率!