文档介绍:第七章 UNIX进程控制
***@2003年余晓制作版权所有
第一节 UNIX中进程的基本概念
进程与程序
在并发环境下,一个正在执行中的程序被称为进程。
程序是外存中的可执行文件。
进程实体由正文段、用户数据段和栈段组成。
多个进程可以同时执行同一个程序。
***@2003年余晓制作版权所有
2. UNIX中的进程描述
UNIX进程上下文划分为:
proc结构和user结构
用户栈、核心栈
正文段、数据段
Proc结构
系
统
栈
用
户
栈
数
据
段
正
文
段
User
结
构
***@2003年余晓制作版权所有
(1) proc结构
- 进程最基本信息
。进程状态
。进程用户标识
。进程标识
。进程存储大小
。进程调度参数
。软中断信号项
。执行时间及资源使用
。User结构起始址
。进程页表指针
。被挂起事件描述
(2) user结构
- 是进程的私有信息和数据
。指向proc的指针
。系统调用参数
。与用户标识有关项
。与文件结构有关项
。输入输出项
。打开文件描述符
。中断及软中断参数
。错误信息
。个段长度
。文件权限屏蔽项
。交换数据项
***@2003年余晓制作版权所有
进程的一些重要信息
PID
一个整数,它是进程唯一的标识符,又称进程号。
PID按进程创建的顺序赋值。
PPID
父进程的PID
***@2003年余晓制作版权所有
UID和EUID
UID是进程创建者的UID。
EUID是进程的“有效”UID。设置了setuid位的程序运行时,其进程的UID和EUID可能不同。
GID和EGID
GID是进程的GID。
EGID和GID的关系同UID与EUID。
***@2003年余晓制作版权所有
优先级和谦让值(niceness)
进程的优先级确定了其能获得多少CPU时间。
谦让值又称优先数,值越高进程的优先级越低。
影响内部优先级的其他因素是进程近来所耗用的CPU时间量以及等待运行所耗费的时间长度。
***@2003年余晓制作版权所有
控制终端
当从Shell启动一个命令时,其所在的终端通常就是新启动的进程的控制终端。
一个进程的控制终端可以使用信号作为一种让用户中断或挂起该进程的手段。
***@2003年余晓制作版权所有
UNIX中的两个特殊进程
0#进程
由内核程序创建,初始化时创建1#进程
平时负责调度分配处理器
管理中负责进程调度与交换
1#进程
是所有用户进程的祖先进程
***@2003年余晓制作版权所有
第二节 UNIX中进程的生命周期
UNIX如何建立进程和在程序中启动程序?
基本概念
Unix中的进程是由系统调用fork创建的实体。
调用fork的进程是父进程,由fork创建的进程是子进程。
一个进程可以有多个子进程,但只有一个父进程。
***@2003年余晓制作版权所有