实在不好意思,但这几个问题不明白,麻烦了

实在不好意思,麻烦xtang,qnxmaster等牛人了,最近就我问题多~~~
我看了关于process manager的helpview,大体上知道他是如何工作的,但是我很困惑的是,我不能修改它吗(因为没有helpview教授如何修改) 比如说,我规定我要运行的程序里只有三个process,server,client,datalogger,我不能自行指定要给他们分配内存,创建,取消之类的,如果还是在我写的source code里进行create,destroy,那么process manager那么多诱人的功能都是如何实现呢,是neutrino自动帮我做吗? 而且我总是在各个的customing buildfile中看到可以make process manager的冬冬, 我要怎么才入门呢? 希望大家给出建议,该看那篇helpview或者有创建process manager的例子。

我要编的程序结构大体先follow 别人的idea,对于server部分,他们利用一个management,which is a thread,负责IPC, synchronization, scheduling, and watchdog.且可以动态的创建和消除某个线程,我想问有没有什么特殊的fucntion创建这种线程,看了helpview,觉得 High Availability Manager很像,请问是它吗

程序build完毕,只有可执行的.o文件,从来没在下拉菜单中看到过.so文件,我哪里出错了呢

Process Manager是进程管理,在Build File里的话,它是Procnto的一部份。Procnto这个“程序”,其实就是微内核+进程管理+内存管理+路径名管理+其它管理。

进程管理的大部份功能,是通过C函数库调用来完成的。比方进程的创建,多数是用spawn()这样的库函数来实现的。但如果你去cvs.qnx.com查一下lib/c/qnx/spawn.c的实现的话,里面其实就是发一个消息给进程管理。

对于用户来说,通常你可以做的是创建,取消(进程自已退出或是被强制退出)进程。一般你不能为进程“分配空间”(进程自已当然可以通过malloc()等为自已取得数据内存)。

根据你的描述,好象这是一个进程,里面有不同的线程处理不同的任务。

线程的创建和消除,可以直接通过库函数来完成。不过,如果大量的创建、消除线程的话,会对系统效率有影响。比较现实的方法是,预先创立一批线程,在有任务的时候,把任务分给某一个线程去做,做完了的线程可以被回收再用来处理别的任务。这个在QNX函数库里,有一个叫“线程池”(thread pool)的东西可以帮你做到这些。可以参考一下 thread_pool_*()函数说明。