Страница 2 из 2

Re: LinuxCNC + apache или работаем со станком через интренет

Добавлено: 12 май 2012, 15:45
Serg
Nick писал(а):так-то оно так... но как-то самому не айс, не привык я к этому :). Всегда можно через ssh законнектится и работать как на локалке...
А ничё, что когда на локальном десктопе запускаешь графическое приложение, то оно с локальным X-сервером по сети общается?.. :hehehe:

Re: LinuxCNC + apache или работаем со станком через интренет

Добавлено: 14 май 2012, 08:55
Starik
А про shared memory extension уважаемый что-нибудь слышал? Локальные приложения уже давно пробили себе дыру в заборе и по сети только договариваются...

Re: LinuxCNC + apache или работаем со станком через интренет

Добавлено: 14 май 2012, 14:13
Serg
aystarik писал(а):А про shared memory extension уважаемый что-нибудь слышал? Локальные приложения уже давно пробили себе дыру в заборе и по сети только договариваются...
Но не в случае тех-же X-ов.
Начиная с релиза X11R4 (1989 год, если мне не изменяет мой склероз) IPC исключён из кода ради универсальности.
Нынче всё, что работает по схеме клиент-сервер общается через сеть. Например те-же СУБД.

Вот современный десктопный линукс:
$ netstat -a | grep -E '^unix' | wc -l
475
это количество локальных сетевых соединений, т.е. обе стороны находятся на одном хосте.
А вот как используется IPC:

# ipcs

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 131072 user 600 393216 2 dest
0x00000000 32769 user 600 393216 2 dest
0x00000000 163842 user 600 393216 2 dest

------ Semaphore Arrays --------
key semid owner perms nsems

------ Message Queues --------
key msqid owner perms used-bytes messages

#

Всего 3 shm-сегмента, которые используются для блокировок виртуальной файловой системы gnome-vfs.

Re: LinuxCNC + apache или работаем со станком через интренет

Добавлено: 14 май 2012, 14:28
Starik
s3301 писал(а): если мне не изменяет мой склероз
не изменяет

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

aystarik@x201:~/openocd$ xdpyinfo
name of display:    :0.0
version number:    11.0
vendor string:    The X.Org Foundation
vendor release number:    11001000
X.Org version: 1.10.1
maximum request size:  16777212 bytes
motion buffer size:  256
bitmap unit, bit order, padding:    32, LSBFirst, 32
image byte order:    LSBFirst
number of supported pixmap formats:    7
supported pixmap formats:
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 4, bits_per_pixel 8, scanline_pad 32
    depth 8, bits_per_pixel 8, scanline_pad 32
    depth 15, bits_per_pixel 16, scanline_pad 32
    depth 16, bits_per_pixel 16, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
    depth 32, bits_per_pixel 32, scanline_pad 32
keycode range:    minimum 8, maximum 255
focus:  window 0x3e00025, revert to Parent
number of extensions:    29
    BIG-REQUESTS
    Composite
    DAMAGE
    DOUBLE-BUFFER
    DPMS
    DRI2
    GLX
    Generic Event Extension
    GestureExtension
    MIT-SCREEN-SAVER
    MIT-SHM
    RANDR
    RECORD
    RENDER
    SECURITY
    SGI-GLX
    SHAPE
    SYNC
    X-Resource
    XC-MISC
    XFIXES
    XFree86-DGA
    XFree86-VidModeExtension
    XINERAMA
    XInputExtension
    XKEYBOARD
    XTEST
    XVideo
    XVideo-MotionCompensation
http://ru.wikipedia.org/wiki/MIT-SHM -- это как раз и есть Shared memory extension...

а смотреть нужно еще и вот здесь:
ls /dev/shm/

Re: LinuxCNC + apache или работаем со станком через интренет

Добавлено: 14 май 2012, 14:51
Serg
Извиняйте, ошибся:
# ls -1 /dev/shm/
pulse-shm-1029790652
pulse-shm-1372809776
pulse-shm-1467046903
pulse-shm-2263240207
pulse-shm-3594400004
pulse-shm-4151749714
pulse-shm-675936421
pulse-shm-835419378
#
это было не gnome-vfs - это локальный аудиосервер pulse. Видимо в эти сегменты отображается области адресов аудиокодека для DMA (лень в исходники лезть и уточнять).

А с помошью xdpyinfo вы смотрите список модулей, которые загружены в сам Xserver. Конкретно MIT-SHM означает, что в данном Xserver включена поддержка XShm которое будет использоваться только при просмотре видео во фреймбуфере видеокарты, куда картинка будет загружаться прямым доступом к памяти (DMA).

А вот кстати сам Xserver, собственной персоной:
# netstat -a | grep -E '^unix' | grep X
unix 2 [ ACC ] STREAM LISTENING 16417 1005/Xorg /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 16416 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 3968866 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 1941282 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 1939661 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 1901444 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 1899015 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 23135 1913/gvfsd-burn @/dbus-vfs-daemon/socket-9aXcR54O
unix 3 [ ] STREAM CONNECTED 22101 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 22016 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21989 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21981 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21969 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21963 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 22709 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21793 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21789 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21705 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21675 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 22569 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 20464 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 20425 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 20413 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 20345 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21426 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21299 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21225 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21113 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 19893 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 20985 1005/Xorg @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 16438 1005/Xorg @/tmp/.X11-unix/X0
#
первые две строчки - сам Xserver в ожидании новый конектов, а остальные - это всякие приложения (xterm, firefox, ...) которые уже к нему приконектились.

# ps axf | grep 1005
1005 tty1 Ss+ 9:45 \_ /usr/bin/Xorg :0 -background none -verbose -auth /var/run/gdm/auth-for-gdm-KyRZN2/database vt1

Re: LinuxCNC + apache или работаем со станком через интренет

Добавлено: 14 май 2012, 14:58
Starik
...и все выше перечисленное как-то доказывает, что Х-приложения не пользуются XShm для работы? Или все-таки пользуются, но "низенько-низенько"?

Re: LinuxCNC + apache или работаем со станком через интренет

Добавлено: 14 май 2012, 15:24
Serg
Пользуется, но в очень редких случаях, причём вполне могут обходится и без этого. Именно поэтому поддержка IPC была вынесена из основного кода в отдельное, изредка используемое расширение. Никто ведь не мешает тот-же самый видеоплеер запустить на удалённой машине, а кино смотреть на локальной. Можете даже пересобрать X-ы с выключенной поддержкой Xshm и всё будет работать и фильмы можно будет смотреть. :D

Но если вернуться вот сюда http://www.cnc-club.ru/forum/viewtopic. ... 061#p24061 , то можно заметить, что Xserver был упомянут в качестве примера. Веселее было-бы упомянуть СУБД Oracle - там и компоненты серверной части общаются между собой по IPC, и компоненты клиентской части тоже (в некоторых случах) общаются между собой по IPC, но общение по IPC между сервероной и клиентской частями начиная с версии 10i невозможно принципиально даже в пределах одного хоста, только по сети.

Re: LinuxCNC + apache или работаем со станком через интренет

Добавлено: 07 авг 2012, 22:17
Lexxa
а чем ssh не устраввает