- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Восстановление данных. Практическое руководство - Крис Касперски
Шрифт:
Интервал:
Закладка:
Если рассмотреть поверхность CD под электронным микроскопом (рис. 10.15), то можно видеть чередующиеся цепочки питов и лэндов. Лэнды отражают большую часть падающего на них излучения, а питы, в силу своей удаленности от точки фокуса, не отражают практически ничего.
Рис. 10.15. Поверхность лазерного диска под электронным микроскопом
Вследствие волновой природы луч лазера обходит одиночные питы и лэнды. Минимальной "формацией", уверенно распознаваемой лазерным лучом, является последовательность из трех питов (лэндов), соответствующая трем логическим нулям. Таким образом, питы и лэнды формируют цепочки, каждая из которых имеет длину от трех до десяти питов или лэндов (рис. 10.16).
Рис. 10.16. Питы и лэнды образуют цепочки длиной от трех до десяти питов или лэндов каждая
Переход от пита к лэнду (или наоборот) соответствует логической единице, а логический ноль представляется отсутствием переходов в данной позиции. Поскольку диаметр сфокусированного лазерного луча равен трем питам, более короткие цепочки уже не распознаются лазером. Таким образом, две смежных двоичных единицы (каждая из которых соответствует переходу от пита к лэнду или от лэнда к питу) всегда должны отделяться друг от друга не менее, чем тремя нулями. В противном случае привод просто не сможет заметить, что здесь присутствует какая-то информация (вспомните, что длина одного пита или одного лэнда значительно меньше, чем диаметр сфокусированного лазерного луча). Что касается верхнего предела длины цепочек, то наличие этого ограничения обусловлено степенью точности тактового генератора и равномерностью вращения диска. В самом деле, если точность тактового генератора составляет порядка 10%, то при измерении 10-питовой цепочки мы получаем погрешность в ±1 пит. Некоторые производители уменьшают длину одного пита на 30%, что во столько же раз увеличивает эффективную емкость диска. Возникает вопрос: как же в таком случае привод ухитряется определить длину той или иной цепочки? Ведь в отсутствии каких бы то ни было опорных значений, привод вынужден сравнивать длину питов с эталоном, а это значит, что цепочка из N уплотненных питов будет интерпретирована как N/2! Дизассемблировав прошивку своего привода PHILIPS, я выяснил, что привод имеет автоматический регулятор скорости, подбирающий такое значение T, которое соответствовало бы наименьшему количеству ошибок чтения (см. рис. 10.16).
Поскольку две соседние единицы всегда оказываются разделены, по меньшей мере, тремя нулями, приходится прибегать к сложной системе перекодировки, преобразующей всякий 8-битный символ исходных данных в 14- битное слово EFM (Eight to Fourteen Modulation). При этом слова EFM не могут следовать вплотную друг за другом (задумайтесь, что произойдет, если за одним словом EFM, оканчивающимся на единицу, попробовать записать другое слово EFM, которое тоже начинается с единицы). Таким образом, слова EFM должны разделяться тремя объединительными битами (merging bits). Соответственно, на каждые 8 бит исходных данных приходится 9 избыточных данных. Очевидно, что стандартная схема модуляции не является идеальной и оставляет достаточный запас для ее усовершенствования. Более подробно этот вопрос будет рассмотрен далее в этой главе.
Минимальной порцией данных, непосредственно адресуемой на программном уровне, является сектор (или в терминологии Audio CD — блок). Один блок состоит из 98 фреймов, каждый из которых, в свою очередь, содержит:
□ 24 байта полезных данных;
□ 8 байт кодов Рида-Соломона, часто называемых перекрестно-перемежающимися кодами Рида-Соломона (cross-inerleaved Reed-Solomon codes, CIRC codes), хотя с технической точки зрения это и не совсем верно;
□ 3 синхробайта;
□ 8 бит каналов подкода — по одному биту на каждый из восьми каналов, условно обозначаемых латинскими буквами P, Q, R, S, T, U, V и W соответственно. Q-канал хранит служебную информацию о разметке диска, P-канал служит для быстрого поиска пауз, остальные каналы — свободны.
Таким образом, эффективная емкость одного блока составляет 2352 байта, или даже 2400 байт, с учетом каналов подкода (из 98 байт субканальных данных — 34 байта отданы под служебные нужды). Корректирующие коды Рида-Соломона позволяют исправлять до 4 разрушенных байт на каждый фрейм, что составляет 392 байта на целый блок.
Диски с данными (Data CD), ведущие свою родословную от Audio-дисков, поддерживают два основных режима обработки данных: MODE 1 и MODE 2.
В режиме MODE 1 из 2352 байт сырой емкости сектора лишь 2048 байт отданы непосредственно под пользовательские данные. Остальные распределены между заголовком сектора (16 байт), контрольной суммой сектора (4 байта) и дополнительными корректирующими кодами, увеличивающими стойкость диска к физическим повреждениям (276 байт). Оставшиеся 8 байт никак не задействованы и обычно проинициализированы нулями.
В режиме MODE 2 из 2352 байт сырой емкости сектора только 16 байт отданы под служебные структуры (заголовок), а остальные 2336 байт содержат пользовательские данные. Легко видеть, что при записи диска в MODE 2 его эффективная емкость становится на -15% больше, но и надежность хранения данных при этом становится приблизительно на треть ниже. Однако при использовании качественных носителей информации (LG, TDK, Verbatim) и бережном обращении с ними риск невосстановимого разрушения данных достаточно невелик. К тому же, многие форматы данных безболезненно переносят даже множественные искажения средней и высокой степени тяжести. К этой категории относятся DivX, MP3, JPEG и другие типы файлов. С некоторой долей риска можно записывать архивы и исполняемые файлы, потерей которых вы не сильно огорчитесь, или которые возможно восстановить из основного хранилища (например, при переносе файлов между компьютерами, дублировании дисков, взятых напрокат, и т.д.).
Чистый MODE 2 встречается крайне редко, однако с его производными нам приходится сталкиваться буквально на каждом шагу. Это и CD-ROM XA MODE 2 (применяющийся в многосессионных дисках), и Video CD/Super Video CD, и CD-I, и многое многое другое.
Формат CD-ROM XA, возникший на фундаменте MODE 2, выгодно отличается от своего предшественника возможностью динамической смены типа трека на всем его протяжении. Часть трека может быть записана в режиме FORM 1, практически идентичном режиму MODE 1, но задействующем восемь ранее пустующих байт под нужды специального заголовка. Другая часть трека может быть записана в FORM 2 — усовершенствованном MODE 2: 2324 байта пользовательских данных, 16 байт основного и 8 байт вспомогательного заголовков плюс 4 байта контрольной суммы для контроля целостности (но не восстановления!) содержимого сектора.
Режим FORM 1 предполагалось использовать для критических к разрушению данных (исполняемых файлов, архивов и т.д.), a FORM 2 — для аудио/видеоданных. Увы, этим замыслам было не суждено сбыться, и широкого распространения режим FORM 2 так и не получил. Единственным популярным форматом, опирающимся на режим XA MODE 2 FORM 2, стал Video CD/Super Video CD, позволяющий записать на обычном 700-мегабайтном диске до 800 Мбайт информации и 900 Мбайт — на 90-минутном (плюс overburn). Это приблизительно на четыре мегабайта меньше, чем в чистом MODE 2, но такими потерями можно и пренебречь. Зато, в отличие от чистого MODE 2, формат Video CD/Super Video CD поддерживается операционными системами семейств Windows и Linux!
Проблемы
Сам по себе MODE 2 никаких сложностей не вызывает. Это — стандартный режим, штатно поддерживаемый всеми приводами, носителями и драйверами. Проблема состоит в том, что ISO 9660 и все файловые системы на ее основе налагают на размер сектора жесткие ограничения, требуя, чтобы он представлял собой степень двойки (т.е. составлял 512, 1024, 2048, 4096… байт). Размер пользовательской области данных сектора, записанного в MODE 1, удовлетворяет этому требованию (211=2048). О MODE 2 этого сказать нельзя, и в конце сектора остается "хвост" из 288 неиспользуемых байт (211+288=2336).
Программы профессионального "прожига" позволяют записывать диск как в XA MODE 2 FORM 1, так и в XA MODE 2 FORM 2. Однако это ни на йоту не увеличивает его объема, поскольку хвостовая часть секторов, записанных в FORM 2, вынуждена пустовать, что снижает надежность хранения данных, ничего не давая взамен.
Теоретически возможно создать драйвер, транслирующий n секторов MODE 2 в k*n секторов MODE 1, и мне действительно удалось его создать. Однако целесообразность его использования весьма сомнительна, поскольку далеко не каждый пользователь согласится устанавливать в свою систему "кустарный" драйвер. Ошибки драйверов зачастую обходятся непомерно дорого — вплоть до потери всех данных, хранившихся на жестком диске, а программисты, как и все люди в этом мире, склонны ошибаться. Так или иначе, от идеи использования драйвера я отказался, поскольку ею тестирование выглядело слишком масштабным проектом.
