Концепция файлов в симуляторе dubna
Jul. 8th, 2024 12:48 pmВ симуляторе dubna мы имеем последнюю версию мониторной системы Дубна: 20/10/88. В ней была сделана работа с файлами по именам. Подразумевалось, что на дисках может создаваться некая файловая система, содержащая именованные файлы. Эти файлы можно подключать к привычным направлениям 31-77. К примеру, так выглядит запуск программы из персональной библиотеки, находящейся в файле foobar на диске 1/local:
Нет никаких препятствий отобразить файлы Дубны на файлы Линукса (или другого хоста). Получим удобный способ прямого обмена данными с виртуальной БЭСМ-6. Можно хранить в линуксных файлах пакеты заданий и тексты программ, и запускать их командой *READ. Можно записывать персональную библиотеку в файл командой *TO PERSO и в другом сеансе подгружать её командой *PERSO. Симулятор может автоматически перекодировать текстовые файлы из UTF-8 в COSY и наоборот по потребности.
Имя диска может задавать папку. Пусть "local" означает текущую папку, "home" - домашнюю папку пользователя ($HOME), "tmp" - стандартную папку временных файлов /tmp. Номер диска "1" можно игнорировать пока. Я не могу придумать для него полезную интерпретацию.
Примеру запуска программы на трансляцию из файла:
Пример записи результата детрансляции в файл:
Прошу оценить предложенную концепцию критическим взглядом.
Доступ к файлам реализован в ОС "Дубна" экстракодом *57 с адресом 77777. На сумматоре передаётся код операции и адрес поля обмена. В поле обмена указываются имена диска, файлов, номера направлений, режимы чтения/записи.*name пример
*disc:1/local
*file:foobar,41
*perso:41
*execute
*end file
Нет никаких препятствий отобразить файлы Дубны на файлы Линукса (или другого хоста). Получим удобный способ прямого обмена данными с виртуальной БЭСМ-6. Можно хранить в линуксных файлах пакеты заданий и тексты программ, и запускать их командой *READ. Можно записывать персональную библиотеку в файл командой *TO PERSO и в другом сеансе подгружать её командой *PERSO. Симулятор может автоматически перекодировать текстовые файлы из UTF-8 в COSY и наоборот по потребности.
Имя диска может задавать папку. Пусть "local" означает текущую папку, "home" - домашнюю папку пользователя ($HOME), "tmp" - стандартную папку временных файлов /tmp. Номер диска "1" можно игнорировать пока. Я не могу придумать для него полезную интерпретацию.
Примеру запуска программы на трансляцию из файла:
Здесь симулятор находит текстовый файл foobar.txt в текущей папке, и автоматически перекодирует в COSY.*name пример
*disc:1/local
*file:foobar,41
*read:41
*execute
*end file
Пример записи результата детрансляции в файл:
Здесь симулятор сначала записывает результат в файл foobar.bin, затем обнаруживает, что это формат COSY, и перекодирует текст в файл foobar.txt в кодировке UTF-8.*name пример
*disc:1/local
*file:foobar,41,w
*library:23
*call dtran(stop*)
*edit
*r:1
*w:41
*ee
*end file
Прошу оценить предложенную концепцию критическим взглядом.