FrostScale
2020-12-29T12:23:13+00:00
比如我同时下载10个BT,还同时在粘贴一堆文件,会不会导致被写入的硬盘数据写入错乱[s:ac:怕]
从硬盘固件到ahci到os写整套协议栈的人加起来没你聪明。
[quote][pid=483443557,25012370,1]Reply[/pid] Post by [uid=60153298]会飞的狗子[/uid] (2021-01-07 20:30):
从硬盘固件到ahci到os写整套协议栈的人加起来没你聪明。[/quote]就是随便问一下嘛[s:ac:茶]
Reply to [pid=483444044,25012370,1]Reply[/pid] Post by [uid=60979982]荀玥[/uid] (2021-01-07 20:33)
写这句话的时候没带情绪。因为针对这个问的这么大的问题 确实这么解释是最简单的
真写完了不会,但是可能会因为太长时间硬盘无响应被你强制重启什么的导致数据错乱
你是不是对现代pc有什么误解,[s:ac:汗]你的电脑就算什么都不干每秒处理的东西都比你想象的多几个数量级
那个硬盘会爆卡,你放着别管他,最终还是会读写完的…[s:ac:喘]但是估计你会以为它无响应了,然后给强退了…
操作系统会排序,但是最后硬盘写入的时候数据可能会在盘面上不连续
你想到的这个问题,在制作硬盘这个东西时就已经想到了,但如果写入量大,你硬盘会卡会慢噢[s:ac:哭笑]
[quote][pid=483445699,25012370,1]Reply[/pid] Post by [uid=14032367]yаοniming3000[/uid] (2021-01-07 20:41):
操作系统会排序,但是最后硬盘写入的时候数据可能会在盘面上不连续[/quote]不连续的话会导致什么问题嘛?[s:ac:怕]
[quote][pid=483447130,25012370,1]Reply[/pid] Post by [uid=42896303]MisakaMikoto_Railgun[/uid] (2021-01-07 20:48):
你想到的这个问题,在制作硬盘这个东西时就已经想到了,但如果写入量大,你硬盘会卡会慢噢[s:ac:哭笑][/quote]卡无所谓,能正常写入就ok[s:ac:茶]
[quote][pid=483444974,25012370,1]Reply[/pid] Post by [uid=39715970]至尊培根披萨[/uid] (2021-01-07 20:37):
你是不是对现代pc有什么误解,[s:ac:汗]你的电脑就算什么都不干每秒处理的东西都比你想象的多几个数量级[/quote]但是闲置的时候磁头不会拼命工作呀[s:ac:怕]
Reply to [pid=483461267,25012370,1]Reply[/pid] Post by [uid=60979982]荀玥[/uid] (2021-01-07 22:01)
老哥你问了一个非常经典的问题[s:ac:哭笑]
先说结论,如果是HDD可能会有性能损耗,SSD没这个问题。
OS在存储或者读取数据的时候不是找具体位置的,而是对memory chunk进行操作。
比如你要存200GB的东西,OS规定每个memory chunk是1GB,那就会把这个文件分成200份,每份存在一个chunk里。记录的时候会记录这200个chunk的header位置和顺序。
HDD需要磁头对准才能读取,所以如果chunk是不连续的,可能会有性能损耗,这问题可以靠加转速和优化寻道缓解。
SSD有主控记录memory chunk的地址,而且不存在物理上的磁头读取,就没这个问题。
我这个只是简单OS理论,实际windows怎么做的不是太清楚。
Reply to [pid=483461267,25012370,1]Reply[/pid] Post by [uid=60979982]荀玥[/uid] (2021-01-07 22:01)
不连续写入也没什么大问题,就是读取的时候会从连续读取换成大部分的随机读取,速度会慢一下些而已,机械硬盘本来就没那么快
写入不会乱,但是速度会非常慢,能从100MB/s掉到KB级别的,叠瓦盘甚至直接归0
win10默认的io效率不高,自己加一个写入缓冲会快很多