Как работает память компьютера
"По просьбам трудящихся", решил написать еще одну техническую статью простым языком.
Статья расскажет о том, как происходит запись, чтение, удаление, поиск и мистическая дефрагментация диска, а так же, как работают программы по восстановлению удаленной информации.
Примечание
Скажу сразу, что статья предназначена для людей, далеких от информационных технологий, поэтому в статье могут быть маленькие неточности и опущены некоторые технические детали, в силу сложности объяснения последних, но на суть дела они не влияют и детали эти все только испортят. Поэтому, если вы знаете как все это работает - проходите мимо, эта статья не для вас! Если кому-то интересно детально разобраться - интернет все расскажет. Если можете написать лучше - я буду только рад!
Думаю, для более опытных пользователей, но не специалистов, будет особенно интересно.
Введение
Мы постоянно совершаем какие-то операции с этими данными, но мало кто задумывается о том, как они хранятся и что происходит внутри.
Итак, для хранения информации компьютер использует специальный механизм, под названием "файловая система", которая позволяет эту информацию содержать в порядке и по полочкам.
Т.к. большинство пользователей используют windows, я расскажу о файловой системе NTFS. Если у вас не Windows 98 :), то у вас используется именно эта файловая система. В целом, можно сказать, что в других типах файловых систем все устроено примерно так же.
Надеюсь, все знают, что такое файлы и папки :)
Файловую систему можно представить в виде библиотекарши - тётеньки, работающей в библиотеке, по имени Мариванна :)
Полки в библиотеке - это место на диске, а книги на полках - это файлы.
Знакомы с такой подставкой?
Так вот, в нашей библиотеке все полки, без исключения, заставлены такими штуками. Каждое отделение такой подставки имеет свой номер. Самое главное правило - в одном отделении такой подставки может храниться только одна книжка, даже если она тоненькая и с ней рядом могли бы поместиться еще несколько - в точности, как на картинке :)
(Каждое отделение - это кластер)
Как у любой хорошей библиотекарши, у Мариванны есть специальная разлинованная тетрадка (MFT) с табличкой. В тетрадке в алфавитном порядке записаны названия книг (файлов), номер отделения, где хранится книга, ее размер и имя папки.
(тетрадка, кстати, внушительная - занимает несколько полок)
Когда мы сохраняем файл на диск, то это выглядит так:
Мариванна заглядывает в тетрадку, ищет в ней строчку с пометкой "свободно", ставит в это отделение книжечку. После чего отмечает в тетрадке что книжка с названием "Три мушкетера" находится в отделении № 38 и имеет такой-то размер. Если книжка большая и не вмещается в одно отделение, то эта книжечка разделяется на несколько частей, будто на несколько томов одного произведения. Кстати, книжки по возможности размещаются рядышком - по порядку - так же, ка мы бы поступили в обычной жизни. Если места рядом нет, то оставшиеся тома втыкаются в свободные места, может даже и на другую полку. На последнюю часть книжки, на которой прерывается последовательность клеится стикер с надписью, что продолжение находится в отделении № 154.
Итак, где хранится первый том - записано в тетрадке, а если продолжение находится не в соседнем отделении, то на книжку клеится стикер. Как раз такая ситуация, со стикерами, когда продолжение книги хранится не рядом, а где-то в другом месте (возможно, даже на другой полке или стеллаже) и называется фрагментацией! Сами понимаете, если мы хотим заполучить все собрание сочинений Пушкина, то в случае фрагментации, может потребоваться обойти половину библиотеки, а это лишнее время.
Когда мы помещаем файл в папку
то в тетрадке, напротив имени файла, делается пометка об имени папки. Т.е. папки, как таковой, не существует, это не отдельная полка или стеллаж, это просто еще одна пометка. Например, напротив Пушкина, Достоевского и Гоголя в тетрадке мы напишем "Русские классики" - вот и появилась папка.
Когда мы перемещаем файл из одной папки в другую
то на самом деле никто не переставляет книжки с полки на полку, в тетрадке просто меняется имя папки. Поэтому данная операция происходит очень быстро.
Когда мы удаляем файл в корзину
то файлы не удаляются с диска, он перемещаются в специальную - служебную папку, которая помнит, где файл был до помещения в корзину. А когда мы восстанавливаем файл из корзины, то он возвращается в свою прежнюю папку.
Когда мы удаляем файл из корзины или удаляем его мимо корзины
то файл вновь не удаляется, да-да! :) В тетрадке, напротив удаленного файла, карандашиком делается пометка "удален", а книга так и продолжает стоять на полке. И когда мы хотим этот файл найти, Мариванна видит пометку, сделанную карандашом, и говорит что нет у нее такой книжки в библиотеке, отстаньте!
Но что же происходит с удаленными книжками? Неужели они так и остаются лежать на своих полках? Какие-то могут лежать годами. Но чаще происходит так: когда мы сохраняем новый файл на диск, Мариванна смотрит в тетрадку, видит пометку "удален" напротив отделения № 38, подходит к полке и если в этом отделении стоит какая-то книга, то она ее выкидывает и ставит туда новую.
Так же, существуют специальные программы, позволяющие выполнить безвозвратное удаление файла. Они не просто выкидывают книжки с полок, но и заставляют эти места пустыми обложками, чтобы уж наверняка!
Поиск
Когда мы хотим найти файл или папку. У нас же все записи вроде как по алфавиту, помните? Но на уголочках страниц нет алфавитного указателя, как в записной книжке.
Мы ищем "Достоевский". Мариванна открывает тетрадку ровно посередине и смотрит какие там записи. В середине тетради все записи на букву "О" и "П", значит, записи на букву "Д" находятся в левой - первой половине тетради. Теперь Мариванна открывает посередине уже первую половину тетради, там все на букву "З", значит, буква "Д" снова левее, она открывает посередине оставшуюся часть и т.д. Наконец она на страничке, где хранится запись с искомым именем, остается только дойти до отделения с указанным в записи номером и выдать нам книжку.
(такой метод называется "сортировка деревом", если что)
Дефрагментация
Теперь, зная что такое фрагментация, думаю, вы понимаете, как происходит ДЕфрагментация и в чем ее польза? Дефрагментация - это наведение порядка в библиотеке, путем расстановки всех частей книги рядом, а это, в свою очередь, повышает скорость работы с файлами на несколько процентов.
Восстановление удаленных файлов
Догадываетесь, как работают программы по восстановлению файлов? Они просто смотрят в тетрадку и показывают нам все позиции с пометкой "удален". Остается лишь отметить галочками те записи, с которых мы хотим снять пометку и о чудо - файл появляется :) Разумеется, при условии, что на место старой книги не успели поставить новую. Поэтому, если вы случайно удалили что-то важное мимо корзины или из корзины, то постарайтесь больше ничего не записывать на этот диск, где был файл, тогда, есть высокая вероятность этот файл восстановить с помощью специальной программы.
Форматирование
Когда вы форматируете диск в режиме "быстрого форматирования", то Мариванна просто выкидывает старую тетрадку с записями и вместо нее заводит новую. А при полном форматировании все книжки выбрасываются с полок.
Однако, все же, существуют специальные инструменты, позволяющие "поползать по полу и поискать выброшенные книги, пособирать вырванные страницы"... но это уже совсем другая история.
Вот и вся история. Как видите - ничего сложного и сверхъестественного.
©
8 комментариев
Удалить комментарий?
Удалить Отмена10 лет назад
Удалить комментарий?
Удалить Отмена10 лет назад
Удалить комментарий?
Удалить Отмена