Концепция организации сетей

Операции кодирования и декодирования сводятся к умножению и делению полиномов по правилам двоичной арифметики. Эти операции легко реализуются технически при помощи сдвигающих регистров. Получаются относительно простые схемы. в чем состоит одно из практических достоинств циклических кодов.

Циклические коды с успехом применяются как для обнаружения и исправления независимых ошибок, так и, в особенности, для обнаружения и исправления серийных ошибок. К числу циклических относятся коды Файра. Эти коды порождаются полиномом

g(x) = p(x)(xс + 1),

где p(x) неприводимый полином степени m.

Значность кода n равна общему наименьшему кратному показателя с и е=2m 1, число проверочных символов nk=c+m, число информационных символов

k=ncm. Код предназначен для обнаружения и исправления серийных ошибок. Он исправляет одиночную серию длиною ≤bc и одновременно обнаруживает серию длиною ≤ bd (bd > bc) при условиях

 с ≥ bc + bd – 1

 m ³ bc 

Если код применяется только для обнаружения серийных ошибок, то он способен обнаружить серию длиною £ b,  при условии с + m ³ b.

Частным случаем кодов Файра являются коды Абрамсона. Порождающий полином этих кодов имеет вид

g(x) = p(x)(x + 1),

Значность кодов n=2m 1, число проверочных символов nk=m+1. Эти коды исправляют все одиночные и смежные двойные ошибки (т.е. серии длиною 2). Коды Абрамсона заслуживают отдельного упоминания потому, что они являются первыми циклическими кодами, исправляющими серийные ошибки.

Наилучшими кодами в настоящее время являются циклические коды БоузаЧоудхури. Производящий полином g(x) двоичного кода БоузаЧоудхури имеет в качестве корней элементы поля Галуа GF(2m), представляемые последовательными степенями некоторого простейшего элемент a. В этом случае последовательность корней полинома g(x) имеет вид

a, a3, a5, ..., a2t1.

Полином, удовлетворяющий этому условию, порождает код, исправляющий все ошибки кратности  t.

Для построения полинома g(x) можно образовать минимальные полиномы (или минимальные функции) mi(x) (i = 1, 3, 5, ...,2t1). Минимальные полиномы определяются системой корней, которая имеет следующий вид:

ai, a2i, a4i, a8i, ..., a2 i..., a2Si

Производящий полином есть общее наименьшее кратное минимальных полиномов до порядка 2t 1 включительно. Степень mi (x) не выше m, так что степень g(x) не выше mt. Таким образом, число проверочных символов не превосходит 1mt 0, а число информационных символов

k ³ 2m1 1 mt.

Так, например, при m=4, n=24 1 = 15

m1(x) = 1 + x + x4,

m3(x) = 1 + x + x2 + x3 + x4,

m5(x) = 1 + x + x2,

g(x) = 1 + x + x2 + x4 + x5 + x8 + x10,

t=3, nk = 10 < mt = 12.

Коды БоузаЧоудхури можно строить также, беря за основу не простейший элемент a, а например, a1=an. При этом произведение n * n1 кратно 2m 1= n, так что n1 < n.

Для декодирования кодов БоузаЧоудхури может применяться специально разработанная процедура определения местоположения ошибок.

Мы рассматривали двоичные коды БоузаЧоудхури. В общем случае (для кодов с основанием g) коды образуются из элементов поля Галуа GF(gm). Если положить m=1, т.е. строить код из элементов GF(g), то производящий полином будет иметь корни a, a2, ..., ad1, где d кодовое расстояние. Минимальные полиномы вырождаются в разности x ai, так что производящий полином принимает вид

g(x) = (x a)(x a2) ... (x ad1 ).

Такие коды носят название кодов РидаСоломона. Двоичный код РидаСоломона получится, если взять g=2s. Это значит, что каждый элемент заменяется sзначной двоичной последовательностью. Код может исправлять серийные ошибки длиной  £ b=s(t1)+1. Коды РидаСоломона, наряду с кодами Файра, представляются в настоящее время наиболее подходящими для исправления серийных ошибок.

К циклическим относятся также коды МиласаАбрамсона. Милас показал, что в некоторых случаях циклические коды, исправляющие серийные ошибки, порождаются полиномом, представляющим собой произведение двух неприводимых полиномов. Частный случай таких кодов, для которых

g(x) = (1 + x + x2)p(x),

где p(x) неприводимый полином четной степени >2, рассмотрен Абрамсоном. Эти коды исправляют серии ошибок длиной £ 3.

В заключении обзора циклических кодов следует упомянуть об укороченных циклических кодах. Они образуются путем приравнивания нулю некоторого количества информационных знаков (начиная с первого) и обладают всеми свойствами исходных циклических кодов в отношении исправления и обнаружения ошибок. Математически укороченные циклические коды описываются порождающими полиномами g(x) по модулю некоторого полинома f(x) степени n (nдлина укороченного кода), отличного от 1+ xn (по этому признаку их называют псевдоциклическими кодами).

За четыре года, прошедшие с момента появления Windows 3.1, она стала фактическим стандартом операционных систем для персональных компьютеров. Microsoft Windows 3.1 (и впоследствии Windows for Workgroups 3.11) предустанавливалась примерно на 80% выпускаемых в то время персональных компьютеров, а на прикладные программы для Microsoft Windows приходилось 60% продаж программного обеспечения". Разрабатывать менеджер интерфейса (Interface Manager, впоследствии - Microsoft Windows) Microsoft начала в сентябре 1981 года. Хотя первые опытные образцы были выполнены на основе так называемых Multiplan- и Word-like-меню, в 1982 году элементы интерфейса успешно были изменены на ниспадающие меню и диалоговые окна, наподобие использовавшихся в Xerox Star Windows 1.0 Релиз вышел 20 ноября 1985 года, его появление разрушило все нормы пользовательского представления о работе с операционной системой. В Windows 1.0 можно было использовать мышь для системной навигации, а также различные функции и приложения, включенные в состав ОС. В комплект приложений входили: MS-DOS файловый менеджер, или программа для управления файлами (MS-DOS File Program), календарь, блокнот, калькулятор, часы и телекоммуникационная программа, позволяющая планировать свою деятельность (прообраз главной функции сегодняшних PDA). А пользователи могли переключаться между приложениями без необходимости перезагружать их и закрывать. Операционная система поддерживала 256 цветов, изменяемый размер окон, включала возможность минимизировать окна приложений (прообраз Панели задач) и возможность настраивать их "поведение". Microsoft уже в первые версии своей ОС Windows (1.x) включала то, что мы сегодня называем Панелью управления (Control Panel), с теми элементами управления интерфейсом, которые мы можем наблюдать и в более поздних, сегодняшних версиях Windows: элементы меню, элементы прокрутки окон, текстовые элементы и т. д. В Windows 1.0 окна можно было сворачивать, разворачивать и располагать "встык" (tiled window, например: "Окна сверху вниз" (Tile Windows Horizontally) или "Окна слева направо" (Tile Win-dows Vertically)).

Беспроводные сети