Допустим, у меня есть жесткий диск емкостью 1 ТБ, а компьютер сообщает, что 750 ГБ из него бесплатны. Как компьютер определяет, свободен ли определенный объем пространства на жестком диске или нет? Я спрашиваю, потому что для всех, кого я знаю, оба этих типа пробелов - это просто набор магнитных значений 0 и 1.
1 ответ
Метаданные файловой системы. В начале вашего диска находится набор невидимых файлов, таких как $ MFT, которые хранят информацию о каталогах и файлах в вашей системе, включая информацию об их имени, расположении папки, разрешениях и т.д. Они также содержат информацию о конкретных блоках Файл появляется в, где именно он начинается, и как долго это. Эта информация индексируется и организована для очень быстрого поиска.
Таким образом, ваша ОС может запрашивать эти маленькие / быстрые файлы, которые описывают файлы на вашем диске, а затем просто складывать длины всех файлов вместе, чтобы получить общее занимаемое пространство.
Что касается размера диска, он берется из записей дескриптора тома в файле $volume
который содержит информацию о вашем разделе. вычтите общее количество использованного из общего количества, и вы получите бесплатно.
Механики, которые я описываю, связаны с файловой системой NTFS, и хотя метаданные файловой системы по-разному проявляются для разных типов файловых систем, все они имеют одни и те же общие понятия для определения и описания файлов на диске.