Index of /uczelnia/Network-Programming/2.ipc


../
compile_linux                                  ..-...-.... ..:..:..                   677
compile_solaris                                ..-...-.... ..:..:..                   113
dynstuff.c                                     ..-...-.... ..:..:..                   3345
dynstuff.h                                     ..-...-.... ..:..:..                   1925
g_ipc.c                                        ..-...-.... ..:..:..                   3943
g_ipc_opcje.c                                  ..-...-.... ..:..:..                   3498
g_ipc_opcje.h                                  ..-...-.... ..:..:..                   1541
g_ipc_wspolne.h                                ..-...-.... ..:..:..                   1729
g_posix_queue.c                                ..-...-.... ..:..:..                   4079
g_posix_queue.h                                ..-...-.... ..:..:..                   1264
g_posix_queue2.c                               ..-...-.... ..:..:..                   4860
g_posix_queue2.h                               ..-...-.... ..:..:..                   1274
g_posix_shared.c                               ..-...-.... ..:..:..                   3570
g_posix_shared.h                               ..-...-.... ..:..:..                   1260
g_sysv_queue.c                                 ..-...-.... ..:..:..                   3462
g_sysv_queue.h                                 ..-...-.... ..:..:..                   1144
g_sysv_shared.c                                ..-...-.... ..:..:..                   4789
g_sysv_shared.h                                ..-...-.... ..:..:..                   1296
g_sysv_shared2.c                               ..-...-.... ..:..:..                   3678
g_sysv_shared2.h                               ..-...-.... ..:..:..                   1238
README                                         ..-...-.... ..:..:..                   1367


all tests work the same way

child is client, parent is a server

CLIENT:
  sends comunique in format:
  [1][client's pid][dane]

  waits for data in format:
  [client's pid][?][dane]

SERVER:
  waits for data in format:
  [1][pid][dane]

  and sends back data in format:
  [pid][server process pid][dane]

data which server sends back, are the same, as it gets
[but they're not in the same place in memory, they're intentionally
 copied to other place to make at least illusion, that
 there is some data 'analysis' ;)]

-n parameter specifies number of sed, client is supposed to perform on
each IPC mechanism
sending it's simply client's sending time
receiving is time of:
	receiving message by server +
	waiting for response +
	server's response for client's data

for each IPC mechanism there are counted three times [both sending and receiving]
minimal, average and maximal that were needed

compile_linux generates two binaries, they differ only in one thing:
 linux1 - uses mq_timedreceive in posix queues tests
 linux2 - uses mq_receive and O_NONBLOCK flag in posix queues tests

program tested on:
  [+] SunOS 5.8 Generic_117350-08 [ultra60.mat.uni.torun.pl]
  [+] linux 2.6.9 + glibc with mqueues [sxterm]
  [+] linux 2.6.8 + libmqueue [gimlandia]
  [+] linux 2.4.25 (without posix queues) [staszek]

in shared memory tests, program DOESN'T use semaphores