История развития программного обеспечения

Код RADIX-50

Казалось бы, совсем недавно в Windows стали возможны длинные имена файлов, а к ним уже все настолько привыкли... К хорошему привыкаешь быстро.

Вспомним восьмидесятые годы - компьютеры типа "Электроника-60", операционная система RT11 (или РАФОС), 56 Кбайт ОЗУ и внешняя память на 8" дискетах, килобайт этак на 250. Не жирно. В таких условиях файловая система была примитивной - ни FAT, ни каталогов не было, файл должен был быть непрерывным. Имя файла ограничивалось девятью символами - шесть на имя и три на расширение. Но и эти 9 символов были ужаты в 6 байт - по три символа в слове, для чего применялась кодировка RADIX-50.

Символ Восьмеричный эквивалент символьного кода КОИ-7 Эквивалент RADIX
Пробел 40 0
A-Z 101-132 1-32
Денежная единица 44 33
. 56 34
Не используется   35
0-9 60-71 36-47

Это код для младшего символа, для получения второго код из этой таблицы нужно умножить на 508 (4010), третьего - на 31008 (160010) и полученное сложить. Например, нужно перевести в RADIX-50 строку X2B:

"B" = 0000028
"2" = 0000408 * 508 = 24008
"X" = 0000248 * 508 * 508 = 1130008
"X2B" = 1130008 + 24008 + 0000028 = 1154028

Кодировка RADIX-50 применялась не только в файловой системе, но и, например, в объектных файлах для хранения имен - опять же для экономии. Кстати, жесткая экономия ресурсов и низкоуровневое программирование позволяли достичь на тех машинах неплохих результатов.

Например, для БК-0010 существовала интегрированная среда разработки на ассемблере (интересно, кто ее автор?), включавшая в себя экранный редактор, компилятор и линкер (правда, длина имени была ограничена тремя символами). А ведь БК-0010 имела всего 32 Кбайт ОЗУ, из которых половина использовалась в качестве видеопамяти!

Статья опубликована 21.10.2002 г.