Здравствуйте.
Имеется SSD объёмом 500 Гбайт. На нём долгое время стояла Windows 10. Хочу теперь установить рядом с ней Ubuntu, отколов от диска (C:) 100 Гбайт. Освободил 300 Гбайт, но диспетчер дисков Windows не позволяет создать новый том больше 50 Гбайт.
Какая бесплатная программа позволит с наименьшим риском преодолеть ограничения ОС и разбить диск на разделы?
wulfdog, ну там контроллер ссд сам решает в какие блоки записывать файлы. А записывает он так, чтобы износ был равномерный
Так что теоретически если и сделать дефрагментацию,
Записанные блоки так же останутся разбросанными.
Даже штатный дефрагментатор не делает дефрагментацию, а отправляет запрос на trim
ну там контроллер ссд сам решает в какие блоки записывать файлы
А какое нам дело до контроллера? Речь идет про файловую систему. Ей нужно сделать дефрагментацию.
Только и всего.
А что там будет делать контроллер - его проблемы.
Записанные блоки так же останутся разбросанными.
Как там расположены блоки совершенно неважно, это уже дела контроллера.
Главное чтобы карта свободного места NTFS выглядела как надо.
Если стоит HDD - данные на нем размещены точно так как записано в ФС.
Вы делаете дефрагментацию ФС он перемещает файлы на нужное место.
Т.е одновремено дефрагментируется и ФС и физическое расположение файлов.
Если стоит SSD - данные на диске размещены так как решит контроллер SSD.
Вы делаете дефрагментацию ФС и не знаете что там сделает контроллер.
Т.е дефрагментируется только ФС, но не физическое расположение файлов.
Даже штатный дефрагментатор не делает дефрагментацию, а отправляет запрос на trim
В свежих ОС это называется оптимизация диска. Название поменялась и логика работы учитывает тип диска. Если диск твердотелый то выполняется оптимизация ФС не затрагивая диск, ну и TRIM отправляется заодно.
Yan, Файловая система взаимодействует с диском с помощью LBA адресации - каждый сектор диска имеет свой адрес - просто порядковый номер.
Когда вы пишете файл происходит следующее -
1)ФС смотрит куда можно записать в битовой карте свободного места.
2)Разбивает файл на блоки и записывает в базу данных файл.avi расположен по адресам с 1835 по 2456.
3)Дает команду диску записать данный файл в эти самые адреса.
Одна команда - одна IOPS.
Но бывают случаи когда файл одним куском записать не удается по каким то причинам, и его приходится фрагментировать - т.е разбивать на фрагменты.
Поэтому запись в БД файловой системы выглядит так
файл.avi расположен по адресам с 1835 -1838, 2052-2060, 1020-1025, и.т.д.
И фрагментов может быть очень много.
Теперь представьте - читается такой файл, который разбит на сотню фрагментов.
ФС должна прочитать всю эту кучу адресов из БД, и отправить сотню запросов на чтение.
А это уже 100 IOPS.
Это и лишние записи в БД, и лишние 99 IOPS, а каждая операция занимает время.
Усложняется работа ФС, замедляется чтение. И не важно какой там диск HDD или SSD.
На SSD это просто менее критично, он быстрее прожует 100 IOPS.
Так вот чтобы избавится от такого бардака делается дефрагментация файловой системы - оптимизируются записи в файловой системе.
Если речь идет о HDD - там еще и данные на диске упорядочиваются так чтобы хранились в одном месте. Дополнительный профит от дефрагментации ФС так сказать.
Если речь идет о SSD - данные он все равно запишет как ему удобней, поэтому просто дефрагментируются записи в базе данных файловой системы компьютера. БД занимает меньше объема в памяти, и более эффективно работает, не спамит лишними запросами.
вы хотите сказать что оптимизация реально делает дефрагментацию франментированных файлов?
Да.
Просто для SSD алгоритм немного другой, так как там нет задачи оптимально расположить данные на диске, только оптимизировать ФС.
Данные при этом тоже перемещаются без этого никак, но в заметно меньших объемах.