当前位置: 时代头条 > 正文

详解应用程序装在系统盘(C)好还是非系统盘好(D)

本文知识点:windows、程序部署、文件系统、NCQ、系统盘、非系统盘

详解应用程序装在系统盘(C)好还是非系统盘好(D)

将应用程序安装在非系统盘,即D、E....等盘,C盘只用来装系统,这是很多人的习惯。这种习惯,是一种历史的惯性,随着技术的进步,这未必是一种好习惯。

首先,明确一下,我们改变程序安装位置的目的是,第一,提高系统运行速度;第二,方便系统管理,也就是备份以及恢复

接下来,达友们就跟保云一起踏着历史的脚步来梳理一下吧,如何安装应用程序才能够平衡两个目标定位。

【机械硬盘结构及数据读写方式】

为了能够全方位的分析问题,我们首先认识一下机械硬盘的结构以及数据读写方式。

详解应用程序装在系统盘(C)好还是非系统盘好(D)

当我们给磁盘分区的时候,第一个分区(通常是C盘)在最外圈,第二个分区(D盘)在第一分区内圈,以此类推。

我们需要记住一点,外圈读写速度比内圈快,越往内圈越慢

当系统发出读写指令时,磁盘首先需要寻找数据所在磁道,即寻道,寻道需要时间,磁头到达磁道后,需要等待目标扇区转动到磁头下面,即延迟。这里我们需要记住磁头频繁寻道加上延迟,会导致性能急剧下降。

到这里,我们应当认为,程序安装在C盘,系统速度要快一些。但是!我们忽略一个问题,即磁盘碎片。

【磁盘碎片】

当磁盘上没有数据,或者数据较少时,有大量空闲空间来存储数据。当系统要求数据存储时,磁盘会优先选择连续的空间存储数据。当我们删除文件时,原本连续存储数据的区域,就会出现小的空闲空间,这些空间就是所谓的碎片。当系统向磁盘存储一个稍大的文件时,如果没有连续空间了,磁盘就会将文件切割,放到碎片空间中。由于这些碎片空间不连续,就会导致磁盘读写数据时需要频繁寻道,再加上延迟,磁盘读写数据自然就变慢了

当系统盘剩余空间比较小时,碎片数量会急剧增加,所以将C盘分的比较小的哥们你们的理论依据是啥?

将应用程序安装在C盘,提高了系统盘删除增加文件的频率,碎片数量同样会增加,看起来,安装在非系统盘系统盘不易产生碎片,貌似要好一些?

我们又忽略了一个问题,程序部署结构!

详解应用程序装在系统盘(C)好还是非系统盘好(D)

【程序部署结构】

在过去,程序多数是绿色的。所谓的绿色,就是将程序目录从一个目录移动到另外一个目录,从一个磁盘移动到另外一个磁盘,从一台电脑移动到另外一台电脑,程序仍然能够运行。而且,程序除了在本目录、临时目录产生数据,基本不会在其他地方产生数据。所以将绿色软件安装在非系统盘,可以降低系统盘碎片产生频率和数量,这就是过去将程序安装在非系统盘的主要原因之一。

可是现在不一样了,程序结构比较复杂,多数程序安装后,会在C:ProgramData、C:Users[用户文件夹]AppDataRoaming、c:windowssystem32、注册表等地方放入文件或者注册信息,而且运行时也会在临时目录等地方生成文件。所以现在的程序安装到非系统盘,就基本上失去降低系统盘碎片数量的意义了

详解应用程序装在系统盘(C)好还是非系统盘好(D)

话又说回来,把程序安装到非系统盘,难道就不会增加非系统盘的碎片数量么。放到非系统盘后,不但增加了非系统盘的碎片数量,再加上非系统盘在内圈且读写速度慢,且不是让程序运行速度更慢了?

所以程序结构以及碎片产生的角度上考虑,程序安装到系统盘要好一些

另外,我们需要考虑文件系统的问题。

【文件系统】

我们通常说的FAT16、FAT32、NTFS就是文件系统了。文件系统类型不同,磁盘碎片产生的严重程度不同。过去使用的是FAT32文件系统,更早的是FAT16,这两种文件系统相对NTFS来说,更容易产生磁盘碎片,所以过去经常强调“整理碎片”。现在这样说的人比较少了。但并不代表NTFS文件系统不会造成碎片,只是没那么“严重”。因此我们将程序安装在系统盘后,由于使用NTFS文件系统,大大降低碎片导致的系统性能下降问题

【NCQ技术助阵磁盘数据读写】

有网友使用了电梯的例子来形容磁盘数据读写,非常形象,这里不妨借鉴下。

假设有三个人A、B和C,分别到达3、5和10楼,假设按电梯的顺序是BAC,电梯就会先到5楼,回到3楼,最后到10楼。当然电梯可不是这么干的,但过去的磁盘就是这样的,因此会导致磁盘寻道频率比较高,磁头行程较长。

NCQ(Native Command Queuing全速命令排队)技术的出现,让磁盘也类似现在的电梯一样聪明了,大大降低磁盘寻道频率和行程。尤其是现在的多核CPU、CPU超线程、多线程环境下,体现更为明显。

图中1、2、3、4几个位置表示要求读写数据的先后顺序。在NCQ支持的时候,读取完1位置的数据后,磁头会读取更近的3位置的数据,哪怕是2位置数据读取请求命令在3位置先。最终磁头的行程比没有NCQ的时候短多了。

详解应用程序装在系统盘(C)好还是非系统盘好(D)

NCQ技术,同样降低了由于碎片导致的性能下降问题。

所以,碎片问题不再是影响我们将程序安装到系统盘还是非系统盘的重要因素了,安装到磁盘外圈的系统盘有利于提高程序运行速度。所以我们建议将程序安装在系统盘,即C盘。

接下来,我们考虑一下备份恢复的问题。

【系统备份与数据备份】

前面我讲了,现在的程序结构复杂,如果将程序安装在非系统盘,对于喜欢使用ghost备份系统的达友们,会产生两个不好的后果。一个是恢复系统后,以前的程序多半不能运行了;二来,当程序不能运行后,重新安装新版本程序到原来的位置,会导致垃圾文件堆积,占用磁盘空间。

所以还是建议将程序安装到系统盘,方便统一备份恢复。

还有一种类型的程序,比如某邮件客户端,默认的时候会将邮件放到程序所在目录中,如果我们安装在系统盘,当恢复数据后,接收下来的邮件就消失了。这样的程序建议安装到系统盘后,把邮件保存位置设置到非系统盘。类似的程序还有QQ的聊天记录等。

【SSD+机械硬盘】

固态硬盘(SSD)的出现,可谓是个毁三观的事情。固态硬盘的结构特点,没有了机械硬盘的寻道、延迟、外圈快内圈慢和碎片的问题,以上讲的除了备份恢复问题,其他问题统统失效。所以如果你的电脑是全固态硬盘,不考虑备份恢复的话,程序安装在哪里都一样。

但固态硬盘比较贵,有的达友们会采用一个比价小的固态硬盘做系统盘,大容量的机械硬盘做数据盘,这种情况就值得斟酌了。

这里以加载一个word文件为例子,当双击文件的时候,系统首先运行word程序,再由word程序加载数据文件,期间可能还会加载系统目录、word程序等目录中的动态库dll文件,调用一些系统功能。如果将程序安装在机械磁盘上,即非系统盘,加载word程序和word目录下的库文件,以及文件加载数据文件这些工作将由速度比较慢的机械硬盘承担,速度自然会一些。我们将程序安装到系统盘,即固态硬盘后,除了加载数据文件,其他工作压力都有速度较快的固态硬盘承担,速度会有不少提高。

【总结】

从机械硬盘外圈快内圈慢、文件系统、磁盘碎片、固态硬盘、程序备份与恢复这些综合因素考虑,将程序安装在C盘,即系统盘的优势大于非系统盘,所以建议将程序安装到系统盘

注意:如果你的C盘剩余空间比较小,会急剧降低系统性能,人云亦云将系统盘分的比较小的哥们可要留意了。个人经验建议,系统盘剩余空间保持在10G以上。

另外,建议机械硬盘的使用者,半把年做个磁盘碎片整理。

关于分区对系统速度的影响,关注我们的微信公众号daren858及时收到文章哦。

转载必须保留以下内容

原创作者 保云,微信/QQ同号6911916。

可对话微信公众号daren858,回复标题中任意词查询到本文。

最新文章

取消
扫码支持 支付码