2

Почему флэш-накопитель USB можно отформатировать как NTFS или FAT32? Является ли USB Flash Drive и Hard Drive просто "океаном байтов"?

Я очень привык слышать форматирование жесткого диска как FAT32 или NTFS, но мы также можем отформатировать USB-накопитель как NTFS или FAT32?

Это потому, что жесткий диск или флэш-накопитель можно рассматривать как "океан битов" или "океан байтов"? Я помню RAM как: он принимает 16-битный или 32-битный сигнал адреса (медная опора 16 или 32 на плате) и выдает 8 бит данных (остальные 8 медных опор на плате). Так можно ли считать, что жесткий диск тоже работает таким образом? Так вот почему флешка тоже может быть такой же? Просто "океан байтов".

Но правда ли, что аппаратное обеспечение жесткого диска делает его океаном сектора или чего-то еще, то есть меньшая единица чтения / записи - это не байт, а что-то еще?

Таким образом, в этом "океане байтов" NTFS имеет формат, который гласит: «если первый байт ________, то это означает ____ (это файл или папка и ссылка на какой сектор, обозначенный байтами 2 и 3 и т.д.). , так далее)"

1 ответ1

5

Вы можете, но операционные системы не могут. И флэш-накопители, и жесткие диски читаются (и записываются) по секторам и только по секторам. Драйвер устройства обычно применяет это ограничение к более высокому уровню, а также читает весь сектор, например, с суперблоком NTFS, намного быстрее, чем неявное чтение того же сектора несколько раз из-за драйвера, который переводит запросы "байтового диапазона" в запросы "сектора", поэтому драйверы файловой системы также выполняют операции чтения и записи по секторам (или любым умножениям секторов: существует технология под названием DMA - прямой доступ к памяти -, которая позволяет читать и записывать большие пакеты секторов без использования времени ЦП, что делает доступ к диску очень быстро).

Флэш- чипы (не диски) технически разделены на другие блоки данных по двум причинам:

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

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

Также недавняя память (фактически любая на 386-совместимом компьютере) не адресована байтами. Вместо этого к нему обращаются 32- (редко), 64- и даже 128-битные слова. И когда вы читаете байт в середине такого текстового процессора, действительно запрашивает все слово, а затем выбирает нужный вам байт. Существует даже аппаратное исключение на некоторых 64-разрядных процессорах, которое возникает при попытке получить доступ к невыровненному (по границе 64-разрядного слова) указателю.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .