Thanks Rob! Now, I got that it shows the state of channel communication. I got another difficulty to understand how the rio works. Of course it comes from my personal inablility to read the sources, however, I suppose it's not so easy to some of Plan 9 users like me, either. 1) all the seven procs have the same memory size, and grows coincidently alltogether. Why? Only the process of threadmain() can grow, can't it? 2) proc wctlproc does only check "New" command, and writectl() is called from xfidwrite() which is checked by normal filsyproc(). So, why /srv/riowctl.$user.$pid is posted? The "New" command can also be checked from the normal filsysproc(), can't it? 3) filsysproc() calls file operation functions in fsys.c, and many of those functions call coresponding xfidxxx functions through channel x->c. Why these two processes are separated? Or what is the merrit to use channel for this purpose, but not just function call by pointer alone? Kenji