Page 1 of 2

Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 12:19 pm
by paulcodeman
Предлагаю реализовать клиент-сервер для запуска kolibri приложений.
Принцип работы:
На Windows/Linux работает сервер с открытым портом для запуска kex приложений, который отслеживает запуск/открытие kex файлов с помощью ассоциации, при открытии предается команда серверу в виде полного пути запускаемого приложения/файла kex. Получив полный путь отсылает файл по порту. В колибри есть клиентское приложение, которое в цикле проверяет на получение данных по открытому порту сервера. В случае появления данных скачивает их в /tmp/1 и после закачки запускает скаченное приложение. Отсылает в случае успешного запуска назад на сервер success, в случае ошибки запуска отсылает в JSON формате регистры при котором возникла ошибка запуска. На компе на котором работает сервер выводиться окошко с ошибкой запуска и с регистрами при котором ошибка возникла.

Re: Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 12:52 pm
by Leency
В чем собственно предложение можно конкрентее? Нужно чтобы кто-то другой реализовал или тебе нужна оценка самой идеи, а писать будешь ты?

Re: Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 12:53 pm
by paulcodeman
Leency wrote:В чем собственно предложение можно конкрентее? Нужно чтобы кто-то другой реализовал или тебе нужна оценка самой идеи, а писать будешь ты?
Я бы хотел чтобы помогли сделать на Kolibri клиент. На Windows я могу взяться, на Linux по желанию кто.

Re: Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 12:55 pm
by punk_joker
Пока не уловил суть идеии.

Re: Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 1:13 pm
by paulcodeman
punk_joker wrote:Пока не уловил суть идеии.
смысл идеи запускать приложения подобно как на эмуляторе, только на реальной системе, очень удобно будет создавать приложения и не мудохаться с флешкой, чтобы компилировать скидывать на флешку итд итп.

Re: Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 1:16 pm
by punk_joker
Если правильно понял. запускаем на Win/Lin приложение kolibriOS, оно отправлляется серверу на kolibriOS и там производится его запуск.

Re: Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 1:40 pm
by paulcodeman
punk_joker wrote:Если правильно понял. запускаем на Win/Lin приложение kolibriOS, оно отправлляется серверу на kolibriOS и там производится его запуск.
да, все верно

Re: Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 1:53 pm
by punk_joker
pavelyakov wrote: да, все верно
Тогда ты немного термины перепутал, это сбило сстолку в начале. На основной системе клиент, поскольку он подключается, ана колибри уже сервер.

Re: Client + Server для запуска приложений KolibriOS

Posted: Mon Sep 24, 2018 2:27 pm
by Kopa
punk_joker wrote:Если правильно понял. запускаем на Win/Lin приложение kolibriOS, оно отправлляется серверу на kolibriOS и там производится его запуск.
Ещё один способ (возможно известный) для Win
Берётся программа VFD (Virtual Floppy Driver на sourceforge, у меня возможно оттуда пара версий) запускается и в ней стартуем сервис и подключаем img-образ дискеты KolibriOS (и указываем букву A: )
(в Win10 программа запускается от имени администратора и хоть она давнишняя, но у меня работает. Возможно MS ещё не дотянула к ней свои "руки" )
После этого на образовавшийся "дисковод" можно копировать тестируемый файл (например с помощью какого то менеджера FAR.. или bat-файла
Сама система Колибри запускается, например, через QEMU с опцией -fda a: и далее в системе проверяется программа.

P.S. Если дискета монтируется через RAM опцию, то в процессе можно, когда нужно, её принудительно сохранить. :)
Вроде этот метод достаточно быстр и подходит, прежде всего, для тестирования "ядерных" файлов.
Пробую актуализировать сборку KolibriOS c Форт в ядре и "срастить" с каким то кодом из проекта Open Firmware.
(в какой степени, как и где будет ассемблерный и Форт код и в каком варианте будет Форт, будет решаться в процессе :)
можно будет интерактивно "исследовать" железо в Форт диалоге как это делается на контроллерах и проверять алгоритмы работы с железом.
(потом их можно переносить и в ассемблер, если это будет необходимо)
Конечно модель Форт-системы можно сделать, например, с "виртуальными" регистрами процессора, но вероятнее это лишне.
т.к. Форт имеет и свой ассемблер в разных формах и "макро"-возможностях.

И в VirtualBox можно загрузиться с физического диска Статья

Re: Client + Server для запуска приложений KolibriOS

Posted: Tue Sep 25, 2018 2:20 pm
by Sergey_vl
Таки можно же в той же qemu`шке указать папку, которая будет примонтирована как диск в виртуалке. Компилятор на "хост-системе" кладёт программу (например myprog) в vmdir, а в образе, в autorun.dat прописываем /hd0/1/myprog, и тогда при запуске start.bat запустится виртуалка, в которой загрузится система и выполнится откампелированая программа... Эмулятор+образ

Re: Client + Server для запуска приложений KolibriOS

Posted: Tue Sep 25, 2018 2:27 pm
by paulcodeman
Sergey_vl wrote:Таки можно же в той же qemu`шке указать папку, которая будет примонтирована как диск в виртуалке. Компилятор на "хост-системе" кладёт программу (например myprog) в vmdir, а в образе, в autorun.dat прописываем /hd0/1/myprog, и тогда при запуске start.bat запустится виртуалка, в которой загрузится система и выполнится откампелированая программа... Эмулятор+образ
это да, но это костыльно запускать каждый раз виртуалку

Re: Client + Server для запуска приложений KolibriOS

Posted: Tue Sep 25, 2018 3:17 pm
by Sergey_vl
Виртуалка - просто программа, как и эмулятор КолибриAPI, с "более полной" "эмуляцией" :))

Можно зашарить на хосте папку по сети, даже через http, далее в эту папку компелить программу, а на машине с Колибри забирать (скачивает скриптом) файл и запускать его с rd... GET запросом можно вернуть хосту BOARDLOG.TXT...

Re: Client + Server для запуска приложений KolibriOS

Posted: Tue Sep 25, 2018 4:16 pm
by paulcodeman
Sergey_vl wrote:Виртуалка - просто программа, как и эмулятор КолибриAPI, с "более полной" "эмуляцией" :))

Можно зашарить на хосте папку по сети, даже через http, далее в эту папку компелить программу, а на машине с Колибри забирать (скачивает скриптом) файл и запускать его с rd... GET запросом можно вернуть хосту BOARDLOG.TXT...
Я предлагаю не на виртуалке, а на реальной машине по Ethernet кабелю передавать приложение.

Re: Client + Server для запуска приложений KolibriOS

Posted: Tue Sep 25, 2018 5:04 pm
by theonlymirage
pavelyakov wrote: Я предлагаю не на виртуалке, а на реальной машине по Ethernet кабелю передавать приложение.
А он тебе и написал такой вариант, перечитай:
Sergey_vl wrote: Можно зашарить на хосте папку по сети, даже через http, далее в эту папку компелить программу, а на машине с Колибри забирать (скачивает скриптом) файл и запускать его с rd... GET запросом можно вернуть хосту BOARDLOG.TXT...
Можешь ещё допилить FTP, рабочие зачатки в Колибри уже есть. Объединив эти инструменты по умному, ты получишь то, что хочешь.

Re: Client + Server для запуска приложений KolibriOS

Posted: Tue Sep 25, 2018 5:23 pm
by Leency
Немного оффтоп. Я использую вот эту сборку QEMU, а пробовал я разные.

Ее плюсы:
- быстродействие лучшее из всех qemu (но проигрывает vbox)
- время запуска оч низкое (тут значительно обходит vbox и это главный параметр)
- звук, сеть работает
- окно одно, второе свернуто
- при ошибке запуска qemu пишет sdlerr.log в папку с причиной и второй файл не помню название с корретными опциями
- подключена папка "vmdir" как виртуальный флоппи, ее максимальный размер 2.88 Мб (тут жалость да, но по другому у меня не заработало)

Для запуска отредактируйте z_kos.bat