vak: (Default)
[personal profile] vak posting in [community profile] besm6
Если уж мечтать, то по крупному. Не взяться ли нам запустить юникс на БЭСМ-6? На виртуальной машине, конечно, то есть на SIMH. Затея была бы масштабная, но тем и интересная. Что для этого нужно с практической точки зрения?

1. Сделать ассемблер, выдающий объектный файл в формате a.out. У нас есть аналогичный ассемблер для Эльбруса-Б - фактически надо его упростить до системы команд БЭСМ-6.

2. Сделать линкер, связывающий объектные файлы и библиотеки в формате a.out. Аналогично, переделываем линкер от Эльбруса-Б.

3. Написать на ассемблере начальный старт машины, инициализацию регистров, выдачу на консоль, обработку прерываний. Отладить на SIMH.

4. Сделать компилятор Си для БЭСМ-6. Это отдельная большая тема. Компилятор должен уметь обработать исходники ядра. Тренироваться можно на исходниках ядра из проекта v7x86.

5. Доработать ядро с учётом особенностей БЭСМ-6. Словная адресация штука коварная.

6. Написать юниксные драйверы для бэсмовской периферии. Оживить таймер, консольный терминал, барабаны, диски.

7. Переписать libc и libm для БЭСМ-6.

8. Перенести основные системные бинарники /etc/init, /bin/sh, /etc/getty, /etc/mount, /etc/fsck и прочие.

9. Сделать утилиту создания образа файловой системы БЭСМ-6 из Линукса. За основу взять fsutil и проекта bkunix.

10. Перенести остальные утилиты из /bin и /usr/bin.

Для переноса на БЭСМ-6 лучше всего подойдёт Unix v7. Размер его ядра на i486 около 50 килобайт. На БЭСМ увеличится до 100 килобайт - вполне поместится в 192 килобайта адресного пространства БЭСМ. Есть два проекта Unix v7, откуда можно заимствовать исходники: v7x86 и 32V.

RetroBSD не кандидат, к сожалению. Там размер около 170 килобайт на mips32, да ещё распухнет немного, да ещё данных надо хотя бы килобайт 60 - никак не лезет.

Фантазий громадьё, но мечты имеют шанс стать реальностью. Мы точно знаем, что юникс на БЭСМ-6 возможен: в конце 80-х Андрей Основич и Коля Молчанов запускали Unix v6. Я своими глазами видел, стоял за пультом той машины. 😀

Date: 2025-05-06 07:15 am (UTC)
x86128: (Default)
From: [personal profile] x86128
Интересная идея. А почему v7 если точно известно что v6 был и работал?
Edited Date: 2025-05-06 07:15 am (UTC)

Profile

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

January 2026

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

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

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