第三章.Unix/Linux进程管理
多任务处理:
指的是同时几项独立活动的能力
是所有操作系统的基础,是并行编程的基础
进程的概念:
进程是对映像的执行
在操作系统中,每个进程用一个独立的数据结构表示,叫进程控制块(PCB)和任务控制块(TCB)。本书中称为PROC
typedef struct proc{
struct proc *next; //下一个PROC结构体的指针
int *kcp; //保存的堆栈指针
int pid; //进程ID编号
int ppid; //父进程的ID编号
int status; //当前状态
int priority; //进程调度优先级
int kstack[1024]; //进程执行时的堆栈
}PROC;
进程同步
是指控制和协调进程交互以确保其正确执行所需的各项规则和机制
睡眠模式/等待:ksleep(int event)
唤醒操作:kwakeup(event)
进程终止:
分为正常终止和异常终止
进程家族树:
PROC *child,*sibling,*parent;
子进程,兄弟进程,父进程
等待子进程终止:
无论何时,进程都能调用内核函数kwait等待僵尸子进程
pid = kwait(int *status)
进程管理中的系统调用:fork()、wait()、exec()、exit()
fork():
Usage:int pid = fork();
fork创建子进程并返回子进程的pid,失败则返回-1。
I/O重定向
管道
标签:fork,int,pid,笔记,学习,终止,进程,PROC From: https://www.cnblogs.com/dkyzhouyikai/p/17778671.html