Если вы работаете только с одной ОС, стоит ли ее разделить?

Традиционно я всегда настраивал системный раздел и раздел данных. Я как раз собираюсь настроить новый сервер (Windows Server 2012 R2), и, задаваясь вопросом, насколько большой я должен сделать системный раздел, я начал спрашивать себя: «Мне действительно нужны разделы?»

Если вы сделаете раздел слишком большим, то это пространство, которое вы никогда не собираетесь использовать. Если вы сделаете его слишком маленьким, это будет гигантская боль в заднице.

Простая папка с данными дает вам необходимое разделение. Утилиты резервного копирования достаточно умны, чтобы справиться с этой структурой.

Так в чем преимущество в разделении жестких дисков?

Прежде всего, запись в Википедии является вполне полной в этом отношении.

Я попытаюсь объяснить рациональное разделение, помимо аргументов резервного копирования / организации, уже предоставленных в других ответах, чтобы утверждать, что с точки зрения производительности единственным преимуществом при разбиении является минимизация фрагментации.

ОС должны делать предположения о том, как пользователь использует и хранит свои данные. Проблема может быть сведена к следующему:

Предположим, у вас есть кусок памяти, скажем 256B, который вы можете представить как 256 ящиков в последовательности.

|_|_|_|_|...|_| 

Теперь вы хотите хранить 3 файла, один с 64, другой с 64, другой с 128 ящиками: следует ли их выделить?

 1: | 64 | 64 | 128 | or 2: | 64 | 128 | 64 | ? 

Это зависит от того, хранятся ли какие-то куски в течение длительного времени или нет, и каков наиболее вероятный кусок, который будет сохранен после удаления одного из кусков.

Представьте, что 2 куска 64 удалены с диска в следующей операции, новый блок 128 сохранен. В примере 1 вы можете сохранить 128 сразу, но во втором примере сначала вам нужно переместить сохраненный фрагмент 128 на границу, и только после этого вы можете добавить новый фрагмент.

Теперь представьте себе это, но со всеми различными размерами, сохраненными нетривиальным способом (т. Е. Не все 4B сначала, а затем все 8B и т. Д.) На гигантском диске (размер GB). Это, как известно, очень сложная проблема.

ОС решает эту проблему, используя эвристику. Он не делает оптимальной стратегии, но использует некоторые эвристики, чтобы поместить куски в правильные места. Одна важная информация заключается в том, как часто, насколько велики куски, которые пользователь / ОС сохраняет, поскольку он предоставляет некоторую априорную информацию о следующих фрагментах, из которых ОС может попытаться угадать.


Разделение диска эффективно сообщает ОС, что определенная область диска принадлежит этому разделу. Это означает, что больше не будет одной последовательности из 256 ящиков, а двух последовательностей из 128 ящиков (разделы A и B). OS больше не будет делать предположения о том, где ее поставить: вы выбираете, какой корень в вашем каталоге вы выбираете (ручная размахивая говорящим).

Почему это может улучшить производительность?

Один типичный пример – когда у вас есть два разных поведения при использовании ОС. Например, разница между:

  1. Используя операционную систему ежедневно, которая имеет много записи и стирания в памяти, и
  2. Когда вы храните тяжелые файлы, такие как видео или альбомы, которые вы не очень сильно меняете.

Разделение может повысить производительность при ежедневном использовании ОС в одностороннем порядке, и вы используете другой раздел, чтобы просто хранить тяжелые файлы, которые вы редко меняете в течение всего срока службы ОС.

Поскольку ваше поведение согласовано в каждом разделе, ОС, скорее всего, улучшит выделение, что минимизирует фрагментацию.

Теперь, независимо от того, актуально это или нет для обычных случаев пользователей, я бы сказал, нет, потому что кто разрабатывает стратегии распределения умнее, и эвристика считается для этих случаев.

Для серверов и других систем это может иметь значение, но идти за ним после профилирования .

EDIT для включения SSD

Я понимаю, что эта проблема не зависит от того, говорим ли мы о SSD или жестких дисках. Проблема очень фундаментальна в том смысле, что она требует только того, что вы хотите заполнить конечное пространство элементами неизменного размера, которые постоянно добавляются и удаляются.

Преимуществом является возможность переустановки ОС без необходимости копирования ваших личных файлов в другое место, а затем перераспределения при установке новой ОС, поскольку она будет находиться в другом разделе.

Кроме того, если вы работаете с сервером, обычно рекомендуется делать определенные связанные с обслуживанием тома на отдельном разделе. Таким образом, если эта служба скомпрометирована, и злоумышленник может заполнить этот раздел, ваша ОС все равно будет работать. Рассмотрите службу FTP или базы данных – если доступ к каталогам, которые доступны для доступа, могут быть заполнены до емкости диска, тогда вы столкнетесь с серьезными эксплуатационными проблемами, но кто-то просто сбрасывает на него груды и груды данных, тем самым вызывая DOS для этой системы. Такой подход будет еще более привлекательным для злоумышленника, если на нем будут работать другие ценные сервисы, которые они хотели бы нарушить, например, веб-сервер или контроллер домена. Возможно, все это можно было бы смягчить при правильной настройке этих сервисов, но новые эксплойты выходят ежедневно, поэтому никогда не помешает добавлять в них больше уровней безопасности, когда это возможно. (Добавлено Брэдли Форни )

Но в отношении конечного пользователя (пользователи Windows 7, Windows 8 и т. Д.) (Я знаю, что вопрос относится к серверу, но к тем, кто видит это, хотя Google), нет смысла в разделении, если вы Не переустанавливайте свою ОС с частотой.

Несколько лет назад (Win Server 2008) было преимущество в нескольких разделах:

  1. Легче получить дефрагментацию для эффективной работы
  2. Проще получить резервные копии по разделам
  3. Когда сервер обмена заполнил свой раздел, сервер НЕ сбой (в противном случае это произошло).

Я не знаю, верно ли это в Win Server 2012.

У меня есть привычка создавать систему и раздел данных. Таким образом я могу переустановить, обновить или понизить мою ОС (я делаю это время от времени), не теряя своих данных. Кроме того, я могу выбрать двухбуквенную работу двух ОС.

Interesting Posts

Почему я должен переопределять hashCode (), когда я переопределяю метод equals ()?

C # – Получить список файлов, за исключением скрытых

Отказано для отображения в кадре, потому что он установил ‘X-Frame-Options’ в ‘SAMEORIGIN’

Не удается подключиться к FTP-серверу: 425 Не удалось создать подключение к данным: время ожидания подключения

Мой код сигнализирует об ошибке «приложение: не процедура» или «вызов не процедуры»

Превосходит ли препроцессор C99 Turing?

Не удается войти в новые учетные записи – «Служба профилей пользователей не смогла войти в систему. Пользовательский профиль нельзя загрузить "

Что использовать? MVC, MVP или MVVM или …?

Как конвертировать отсканированные изображения в PDF в файл PDF с возможностью поиска?

Как изменить CLASSPATH в Java?

Useradd с использованием генерации пароля шифрования

Есть ли соглашение о порядке модификаторов в C #?

Представление валютных ценностей в Java

Веб-сайт ASP.NET или веб-приложение ASP.NET?

Как я могу полностью удалить, а затем переустановить Meteor.js?

Давайте будем гением компьютера.