система QNX 6.5 в VirtualBox

Виртуальные машины и среды исполнения

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 10 авг 2012, 18:26

Olej писал(а):Это, при таком mount, QNET идёт обменом на уровне MAC-пакетов ... то, что в Linux называют L2.
А вот - что такое QNET и с чем его едят:

Native Networking (Qnet) - это самое интересное следствие микроядерности OS: сетевая прозрачность до такой степени, что появляется возможность делать на чужих хостах всё, что и на собственном - фактически N хостов автоматом превращаются в N машинную рапределённую кластерную систему. Это то главное, мимо чего Эндрю Таненбаум, заделавшись главным защитником микроядерности, прошёл мимо и не заметил ... в своём MINIX 3.

Transparent Distributed Processing Using Qnet - а это о том (в деталях), как прозрачно запускаются и выполняются процессы на любых других хостах такой N машинной рапределённой системы.

Это безумно интересно ... даже тем, кто никогда не собирается иметь дел с микроядерными OS.
И то, что никак и никогда не достижимо в моноядерных OS, в принципе: будь то Windows, Linux, Solaris или ещё кто.

P.S. Вот эти короткие тексты и есть ответ на яростный спор Л.Торвальдса с Э.Таненбаумом, в котором они переходили почти на матюки уже... ;-)
... поскольку ни Э.Таненбаум, ни уж, тем более, Л.Торвальдс не дали себе труда хотя бы минимально познакомиться с техдокументацией QNX:
Чукча не читатель! Чукча - писатель!

:shock: - даже 2 чукчи! :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 10 авг 2012, 18:35

Olej писал(а):сетевая прозрачность до такой степени, что появляется возможность делать на чужих хостах всё, что и на собственном - фактически N хостов автоматом превращаются в N машинную рапределённую кластерную систему.
А чтоб не быть голословным, вот живой (ещё тёпленький) пример, выполненный на виртуальной QNET сети, построенной 3-мя постами выше - специфическая команда on выполняет любой процесс на процессоре любого хоста сети QNET.
Вот как это видится на хосте qnx2 - команда pwd выполняется на процессоре хоста qnx3, к нам направляется только результат в SYSOUT, выполняемый на том хосте:

Код: Выделить всё

# uname -n
qnx2
# ls /net
qnx2    qnx3
# on -f qnx3 pwd
/net/qnx2./root
# on -n qnx3 pwd
/
# pwd
/root

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 10 авг 2012, 23:25

Olej писал(а): - делаем:

Код: Выделить всё

# mount -T io-pkt lsm-qnet.so
Но вот относительно запуска QNET на протокольном уровне L3(IP), который должен бы происодить так:

Код: Выделить всё

# mount -T io-pkt -o bind=ip,resolve=dns lsm-qnet.so
-ничего хорошего не получается.


P.S. по местонахождению (путавым именам) плагинов:
- модули протоколов:

Код: Выделить всё

# ls /lib/dll/lsm-*
/lib/dll/lsm-autoip.so    /lib/dll/lsm-pf-v6.so
/lib/dll/lsm-pf-v4.so     /lib/dll/lsm-qnet.so
- модули сетевых карт:

Код: Выделить всё

# ls /lib/dll/devn-*
/lib/dll/devn-asix.so                  /lib/dll/devn-pegasus.so
/lib/dll/devn-crys8900.so              /lib/dll/devn-rtl.so
/lib/dll/devn-dm9102.so                /lib/dll/devn-rtl8150.so
/lib/dll/devn-el509.so                 /lib/dll/devn-sis9.so
/lib/dll/devn-el900.so                 /lib/dll/devn-smc9000.so
/lib/dll/devn-epic.so                  /lib/dll/devn-speedo.so
/lib/dll/devn-fd.so                    /lib/dll/devn-tigon3.so
/lib/dll/devn-i82544.so                /lib/dll/devn-tulip.so
/lib/dll/devn-micrel8841.so            /lib/dll/devn-via-rhine.so
/lib/dll/devn-ne2000.so
/lib/dll/devn-pcnet.so

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 21 янв 2023, 16:15

Olej писал(а):
Olej писал(а): - делаем:

Код: Выделить всё

# mount -T io-pkt lsm-qnet.so
Но вот относительно запуска QNET на протокольном уровне L3(IP), который должен бы происодить так:

Код: Выделить всё

# mount -T io-pkt -o bind=ip,resolve=dns lsm-qnet.so
-ничего хорошего не получается.
Похоже, нашёлся споcоб запускать QNET над L3 (IP) ... QNET over IP.
Это выглядит так (довольно странные параметры):

Код: Выделить всё

# mount -T io-pkt -o bind=en1,bind=ip /lib/dll/lsm-qnet.so
# ls /net
qnx2    qnx3
# uname -n
qnx2
# ls /net/qnx3
.            bin          fs           opt          tmp
..           boot         home         proc         usr
.boot        dev          lib          root         var
.diskroot    etc          net          sbin         x86
Или здесь всё ещё в LAN работает QNET over MAC?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 21 янв 2023, 16:42

10 лет не обращался к теме...
А теперь, когда понадобилось потестировать микроядерную ОС, никаких инсталляций, естественно не найдёшь...

Но!
У меня есть инсталляция QNX 6.5.2 в VirtualBox. И её загрузочный диск:

Код: Выделить всё

[olej@xenix QNX 6.5.3]$ ls -l qnx-6.5-3-disk1.vmdk 
-rw------- 1 olej olej 2648440832 янв 21 15:20 qnx-6.5-3-disk1.vmdk

Теперь на любом хосте можно создать новую виртуальную машину...
Снимок экрана от 2023-01-21 14-23-38.png
Снимок экрана от 2023-01-21 14-23-38.png (109.29 КБ) 554 просмотра
Без виртуального диска:
Снимок экрана от 2023-01-21 14-28-57.png
Снимок экрана от 2023-01-21 14-28-57.png (121.43 КБ) 554 просмотра
Потом в настройках подбросить этот диск виртуальной машине:
Снимок экрана от 2023-01-21 15-20-40.png
Снимок экрана от 2023-01-21 15-20-40.png (78.58 КБ) 554 просмотра

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 21 янв 2023, 16:45

Olej писал(а):
21 янв 2023, 16:42
Потом в настройках подбросить этот диск виртуальной машине:
С этого диска происходит нормальная загрузка:
Снимок экрана от 2023-01-21 15-43-36.png
Снимок экрана от 2023-01-21 15-43-36.png (52.61 КБ) 554 просмотра
Снимок экрана от 2023-01-21 15-45-12.png
Снимок экрана от 2023-01-21 15-45-12.png (274.77 КБ) 554 просмотра

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 21 янв 2023, 17:12

Olej писал(а):
21 янв 2023, 16:42
Потом в настройках подбросить этот диск виртуальной машине:
Таким образом можно для экспериментов с микроядерной ОС - тиражировать сколько угодно последнюю актуальную версию QNX (была ещё 5.6, и может более - до 7.0 кажется, но это уже всё - автомобильное направление применения).

Единственная некоторая неприятность этого - размер .vmdk : 2648440832 - 2.5Gb.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 21 янв 2023, 17:24

Olej писал(а):
21 янв 2023, 16:45
С этого диска происходит нормальная загрузка:
Характерно ... Сюда нельзя установить дополнения гостевой ОС :cry:
Но здесь можно применить VirtualBox: режим масштабирования - нормально получается.
Вложения
Снимок экрана от 2023-01-21 16-21-32.png
Снимок экрана от 2023-01-21 16-21-32.png (258.27 КБ) 554 просмотра

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 24 янв 2023, 14:45

Olej писал(а):
21 янв 2023, 17:12
Единственная некоторая неприятность этого - размер .vmdk : 2648440832 - 2.5Gb.
Любой желающий посмотреть QNX и микроядерную ОС вообще, может свободно скачать (если не пугает размер) имидж здесь:
https://drive.google.com/file/d/1kOy13n ... share_link
MD5 контрольная сумма:

Код: Выделить всё

ae1fbc216d399f59d91f6fd3b29dfdb6  qnx-6.5-3-disk1.vmdk

Вход:
login: user
password: user

Стать root там в терминале можно без пароля:

Код: Выделить всё

$ su - 
Tue Jan 24 13:46:10 2023 on /dev/ttyp2                                          
Last login: Tue Jan 24 13:11:57 2023 on /dev/ttyp1                              
edit the file .profile if you want to change your environment.                  
To start the Photon windowing environment, type "ph".                           
# who                                                                      

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

система QNX 6.5 в VirtualBox

Непрочитанное сообщение Olej » 24 янв 2023, 15:04

Кое-что о имидже системы:
- в системе настроено переключение раскладок EN/RU по Alt+Shift ... работает в текстовом редакторе, браузере ... но не работает в терминале - да там оно и не надо (это вот вписано, как понятно, из самой системы QNX + и на русском языке);
- при регистрации от root (из-за $PATH) там работает привычный mc...

Код: Выделить всё

# uname -a                                                                      
QNX qnx3 6.5.0 2010/07/09-14:44:03EDT x86pc x86      
- в настройках виртуальной машины в VirtualBox нужно сменить тип сетевого адаптера с NAT на "мост" (bridge) - для того чтобы иметь к ней доступ из хостовой машины (и её LAN)... тогда IP будет получаться динамически по DHCP:

Код: Выделить всё

# ifconfig                                                                      
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33192
        inet 127.0.0.1 netmask 0xff000000                                       
en0: flags=80008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,SHIM> mtu 1500
        address: 08:00:27:81:bc:eb                                                      
        media: Ethernet 10baseT full-duplex                                             
        status: active                                                                  
        inet 192.168.1.197 netmask 0xffffff00 broadcast 192.168.1.255           
- тогда ping с хост машины будет выглядеть как-то так:

Код: Выделить всё

[olej@xenix ~]$ ping 192.168.1.197 -c3
PING 192.168.1.197 (192.168.1.197) 56(84) bytes of data.
64 bytes from 192.168.1.197: icmp_seq=1 ttl=255 time=0.344 ms
64 bytes from 192.168.1.197: icmp_seq=2 ttl=255 time=0.272 ms
64 bytes from 192.168.1.197: icmp_seq=3 ttl=255 time=0.208 ms

--- 192.168.1.197 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2026ms
rtt min/avg/max/mdev = 0.208/0.274/0.344/0.055 ms

Ответить

Вернуться в «Виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя