231 lines
13 KiB
HTML
231 lines
13 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||
<title>исправление ошибок</title>
|
||
<link rel="stylesheet" type="text/css" href="../include/dvdisaster.css">
|
||
</head>
|
||
<body>
|
||
|
||
<!-- Title header -->
|
||
<table width="100%" cellpadding="0" border="0">
|
||
<tr>
|
||
<td align="left">
|
||
<span class="fxxl"><b>dvdisaster</b></span>
|
||
<i>Версия 0.72.4 / 0.72 (pl4)</i>
|
||
</td>
|
||
<td align="right">
|
||
<span class="fxxl"> </span><a href="http://dvdisaster.net/ru/">К интернет-версии</a>
|
||
<a href="../cs/howtos61.html"></a>
|
||
<a href="../de/howtos61.html"></a>
|
||
<a href="../en/howtos61.html"></a>
|
||
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<!-- Language chooser or separator -->
|
||
<table width="100%" cellpadding="0" border="0">
|
||
<tr>
|
||
<td colspan="2" class="hsep"></td>
|
||
</tr>
|
||
<tr><td colspan="2" style="height: 10px">
|
||
</td></tr>
|
||
</table>
|
||
|
||
<!-- Main body (Navigation, actual page content, optional news column) -->
|
||
<table width="100%" cellspacing=0>
|
||
<tr>
|
||
<!-- Navigation -->
|
||
<td style="background-color:#f0f0f0; vertical-align:top; width:20%;">
|
||
<table width="100%" cellpadding="10">
|
||
<tr>
|
||
<td>
|
||
<span class="fs"><b>Содержание</b></span>
|
||
<table width="100%" cellpadding="0" cellspacing="0">
|
||
<tr>
|
||
<td class="hsep"></td>
|
||
</tr>
|
||
</table><p>
|
||
|
||
<table width="100%">
|
||
<tr><td colspan=3><span class="fs"><a href="news.html">Новости</a></span></td></tr>
|
||
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
||
<tr><td colspan=3><span class="fs"><a href="index.html">Обзор</a></span></td></tr>
|
||
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
||
<tr><td colspan=3><span class="fs"><a href="howtos.html">Howto's</a></span></td></tr>
|
||
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="howtos60.html">Общая картина</a></span></td></tr>
|
||
<tr><td></td><td style="vertical-align:top; font-size:small;">-</td><td><span class="fs">исправление ошибок</span></td></tr>
|
||
<tr><td></td><td style="vertical-align:top; font-size:small;">-</td><td><span class="fs"><a href="howtos62.html">правильное использование</a></span></td></tr>
|
||
<tr><td></td><td style="vertical-align:top; font-size:small;">-</td><td><span class="fs"><a href="howtos63.html">неправильное использование</a></span></td></tr>
|
||
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="howtos10.html">Поиск ошибок на носителях</a></span></td></tr>
|
||
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="howtos20.html">Размещение данных для исправления ошибок в отдельном файле</a></span></td></tr>
|
||
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="howtos30.html">Размещение данных для исправления ошибок на носителе</a></span></td></tr>
|
||
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="howtos40.html">Восстановление образов носителей</a></span></td></tr>
|
||
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="howtos50.html">Получение информации об образах и данных для исправления ошибок</a></span></td></tr>
|
||
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="howtos90.html">Проверка совместимости образов</a></span></td></tr>
|
||
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="howtosa0.html">Диалоги и кнопки</a></span></td></tr>
|
||
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
||
<tr><td colspan=3><span class="fs"><a href="download.html">Скачать</a></span></td></tr>
|
||
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
||
<tr><td colspan=3><span class="fs"><a href="qa.html">Вопросы и ответы</a></span></td></tr>
|
||
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
||
<tr><td colspan=3><span class="fs"><a href="feedback.html">Сообщения об ошибках</a></span></td></tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td></td>
|
||
|
||
<!-- Actual page contents -->
|
||
<td style="vertical-align:top; width:77%;" rowspan="2">
|
||
|
||
<!-- Insert actual page content below -->
|
||
|
||
<h3 class="top">Идея, лежащая в основе исправления ошибок</h3>
|
||
|
||
<table width="100%">
|
||
<tr valign="top">
|
||
<td><img src="../images/bad-cd.png" alt="Icon: Damaged medium (partially unreadable)"></td>
|
||
<td> </td>
|
||
<td><img src="../images/ecc.png" alt="Icon: Separate file with error correction data"></td>
|
||
<td> </td>
|
||
<td rowspan="3">
|
||
Из примера на предыдущей странице мы знаем, как dvdisaster воссоздает
|
||
данные, используя всё еще читаемые части носителя в совокупности с
|
||
данными для исправления ошибок.<p>
|
||
|
||
Чтобы получить максимум отдачи от dvdisaster, полезно понимать основы
|
||
метода исправления ошибок. Пользуясь случаем, мы можем опровергнуть
|
||
неправильное предположение, которое можно то и дело услышать - данные для
|
||
исправления ошибок <b>не</b> являются просто копией последних 20% секторов носителя.
|
||
Это был бы и в самом деле дешевый трюк ;-)
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td align="right" class="w65x">80%<img src="../images/rdiag-arrow.png" alt="Icon: Diagonal arrow right"></td>
|
||
<td> </td>
|
||
<td align="left" class="w65x"><img src="../images/ldiag-arrow.png" alt="Icon: Diagonal arrow left">20%</td>
|
||
<td> </td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td> </td>
|
||
<td> <img src="../images/good-image.png" alt="Icon: Complete image"></td>
|
||
<td> </td>
|
||
<td> </td>
|
||
</tr>
|
||
</table><p>
|
||
|
||
<b>Пример: Пин-код для ящика письменного стола Анны</b><p>
|
||
|
||
У Анны есть стол, в котором ящики открываются, только если ввести в кодовый замок
|
||
числа "8 6 2 3". Поскольку в этих ящиках нет какой-либо деликатной
|
||
информации, она решает записать числа прямо на поверхности стола:<p>
|
||
|
||
<img src="../images/ecc-example1.png" alt="8 6 2 3"><p>
|
||
|
||
Анна предусмотрительна и предполагает, что одно из чисел станет нечитаемым,
|
||
если на него случайно капнут чернила. Поэтому она записывает также и
|
||
сумму этих четырех чисел ("+" и "=" - добавлены только для ясности):<p>
|
||
|
||
<img src="../images/ecc-example2.png" alt="8+6+2+3=19"><p>
|
||
|
||
Через какое-то время на числа, действительно, попало чернильное пятно:<p>
|
||
|
||
<img src="../images/ecc-example3.png" alt="8+ +6+2+3=19"><p>
|
||
|
||
Но это не проблема, раз Анна может вновь вычислить недостающее число <i>x</i>,
|
||
переписав все еще читаемые части уравнения:<p>
|
||
|
||
8 + x + 2 + 3 = 19, отсюда<p>
|
||
|
||
x = 19 - 8 - 2 - 3, и, следовательно, x = 6.<p>
|
||
|
||
Легко видеть, что любое из первоначальных пяти чисел может быть
|
||
восстановлено по оставшимся четырем. Этот пример также демонстрирует
|
||
некоторые важные свойства исправления ошибок:
|
||
<p>
|
||
|
||
<table><tr><td><img src="../images/ecc-example4.png" alt="8+6+2+3 (medium)=19 (ecc)"></td><td> </td>
|
||
<td class="valignt">
|
||
Для данного набора данных (например, числа "8 6 2 3")
|
||
дополнительные данные для исправления ошибок (например, сумма "19") могут быть созданы
|
||
таким образом, что потерянное данное может быть вновь рассчитано по оставшимся данным.<p>
|
||
|
||
Такой же принцип используется в dvdisaster; защищаемая последовательность чисел
|
||
есть ничто иное, как ISO-образ CD, DVD или BD.</td>
|
||
</tr></table><p>
|
||
|
||
Концепция <b>избыточности</b> может быть объяснена следующим образом:
|
||
|
||
<ul>
|
||
<li>Одно "число для исправления ошибок" рассчитывается для четырех входных чисел.
|
||
1 из 4 (или 1/4) соответствует избыточности в 25%.</li>
|
||
<li> По одному числу для исправления ошибок мы можем вновь рассчитать точно одно
|
||
недостающее число, или самое большее 25% данных.
|
||
Избыточность эквивалентна максимальной возможности исправления ошибок.</li>
|
||
<li> Дополнительное место, требуемое для размещения данных для исправления ошибок,
|
||
также определяется избыточностью (25% в примере).</li>
|
||
</ul>
|
||
|
||
В dvdisaster понятие избыточности используется соответствующим образом. Кроме того,
|
||
обратите внимание, что
|
||
<ul>
|
||
<li>никакие данные не могут быть восстановлены, когда потеря данных превышает избыточность
|
||
(уравнение в примере нельзя решить для двух и более неизвестных).</li>
|
||
<li>данные для исправления ошибок должны быть рассчитаны тогда, когда все данные
|
||
еще присутствуют / читаются.</li>
|
||
</ul><p>
|
||
|
||
Приведенный выше пример не обобщается на схему исправления ошибок
|
||
для восстановления более одного недостающего значения данных. Чтобы сделать это,
|
||
требуется более мощная система уравнений, которая может быть решена для более чем
|
||
одного недостающего значения. dvdisaster использует
|
||
<a href="http://de.wikipedia.org/wiki/Reed-Solomon-Code">код Рида-Соломона</a>,
|
||
у которого есть такие качества; однако необходимая для этого математика не преподается
|
||
в школе. Поэтому заинтересованные читатели отсылаются к соответствующим
|
||
книгам по теории кодирования.
|
||
|
||
|
||
<!-- do not change below -->
|
||
|
||
</td> <!-- end of page contents -->
|
||
|
||
</tr>
|
||
|
||
<!--
|
||
<tr valign="bottom">
|
||
<td style="background-color:#f0f0f0;">
|
||
<table cellpadding="10"><tr><td><a href="http://dvdisaster.net/legacy/en/index.html"><span class="fs"></span></a></td></tr></table>
|
||
</td>
|
||
<td></td>
|
||
<td></td>
|
||
</tr>
|
||
-->
|
||
</table> <!-- end of main body table -->
|
||
|
||
|
||
<!-- Page footer -->
|
||
<table width="100%" cellpadding="0" border="0">
|
||
<tr><td colspan="2" style="width:100%; height:10px;"></td>
|
||
</tr>
|
||
<tr><td colspan="2" class="hsep"></td>
|
||
</tr>
|
||
<tr>
|
||
<td align="center">
|
||
<span class="fs">
|
||
<i> Copyright 2007-2009 Igor Gorbounov.<br>
|
||
Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется.
|
||
</i>
|
||
</span>
|
||
</td>
|
||
</tr>
|
||
<tr><td colspan="2" class="hsep"></td>
|
||
</tr>
|
||
</table>
|
||
</body>
|
||
</html>
|