首页 > 代码库 > 在做操作系统实验的一些疑问

在做操作系统实验的一些疑问

Linux下的进程的组识别码和进程识别码分别代表什么意思?

进程识别码(PID):用来唯一标识进程。 
进程组识别码(Process Group ID):一个进程可以属于某个进程组。可以发送信号给一组进程。

对于进程组ID,一般来说,一个进程在shell下执行,shell程序就将该进程的PID赋给该进程的进程组ID,
从该进程派生的子进程都拥有父进程所属的进程组ID,除非父进程将子进程的所属组ID设置成与该子进程的PID一样。


不明白wait函数中status的值到底是什么

<style>p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 0); line-height: 120%; text-align: justify } p.western { font-family: "Calibri", sans-serif; font-size: 10pt } p.cjk { font-family: "宋体", "SimSun"; font-size: 10pt } p.ctl { font-family: "Times New Roman", serif; font-size: 11pt } a:link { color: rgb(0, 0, 255) }</style>

exit 系统调用带有一个整数类型的参数status,我们可以利用这个参数传递进程结束时的状态,比如说,该进程是正常结束的,还是出现某种意外而结束的,一般来说,0表示没有意外的正常结束;其他的数值表示出现了错误,进程非正常结束。我们在实际编程时,可以用wait系统调用接收子进程的返回值,从而针对不同的情况进行不同的处理。关于wait的详细情况,我们将在以后的篇幅中进行介绍。

C语言rand取值范围是多少

rand()的取值范围是[0 RAND_MAX]
具体跟stdlib.h 下定义的RAND_MAX大小有关
跟编译器的实现有关

int randomPrio(double from,double to){    //产生from到to之间的随机数
    return 1+(int)((to)*rand()/(RAND_MAX+from));
}
这个函数的实现应当是错误的

在做操作系统实验的一些疑问