spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
Пусть и здесь будет: проект по пониманию архивной системы МАРС-6.

Дело там в следующем. Стандартный интерфейс DBM позволяет оперировать с ассоциативным массивом пар (ключ; данные), где размеры и ключа, и данных произвольны, до известного предела. Это обычно реализуется путем хеширования ключа, поиска по хешу в структуре данных с более или менее эффективным поиском, и разрешением возникающих коллизий явным сравнением хранящихся ключей с искомым.

НО: реализованный интерфейс предоставляет лишь сервис работы с парами (однословный ключ-хеш; данные) с помощью микропрограммной реализации, например, вставка записи в базу или замена старых данных на новые, если запись с данным ключом уже есть, выглядит примерно как "FIND NOMATCH (IFTRUE INSERT ADDKEY DONE) UPDATE".
Интересно, что собственно вычисления хеш-функции среди микрокоманд нет.

(Обновлено 22 января 2025) Переписанная на С++ реализация позволила понять смысл и назначение всех микрокоманд. С помощью помеси байт-кода и шитого кода, который реализует виртуальная машина, можно писать условные операторы, циклы и пр. Осталось лишь написать код для желаемых операций с базой.

Интересующиеся приглашаются поучаствовать или поискать других потенциальных интересующихся реверс-инжинирингом или базами данных.

Profile

Сообщество любителей БЭСМ-6

January 2026

S M T W T F S
    123
45678910
11121314151617
18192021222324
2526272829 3031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 15th, 2026 07:36 am
Powered by Dreamwidth Studios