每个进程都有一个统一标识。每一组进程也可以有一个标识。
用getpgrp()函数获取进程组ID。
#include<sys/types.h>
#include<unistd.h>
pid_t getpgrp(void);
用setpgid(pit_t pid,pid_t pgid);(成功时返回0失败时返回-1)创建一个新的进程组或者将一个进程加入到一个进程组中。
#include<sys/types.h>
#include<unistd.h>
#include<stdio.h>
int main(void)
{
int a;
pid_t pgid,pid;
pid=(long)getpid();
pgid=(long)getpgrp();
a=setpgid(pid,pgid);
printf("a=%d,pid=%ld,pgid=%ld\n",a,pid,pgid);
return 0;
}
root@kali:~/桌面# gcc gid.c -o gid
root@kali:~/桌面# ./gid
a=0,pid=20169,pgid=20169
时间片分配
在操作系统上实际上是多个进程之间不断切换的,每个进程运行一段时间所谓的一段时间就是时间片。
1.时间片轮流调度策略
2.有限权调度策略