文档详情

ch6 Linux进程管理.pdf

发布:2017-09-26约3.59万字共76页下载文档
文本预览下载声明
进程管理 本章内容  本章内容:  Linux进程概念  进程控制块task_struct结构  Linux进程的创建  Linux进程调度 1.2 进程概念  Linux是一个多任务多用户操作系统。  一个任务(task)就是一个进程(process)。每一个进程都具 有一定的功能和权限,它们都运行在各自独立的虚拟地址 空间。  在Linux中,进程是系统资源分配的基本单位,也是使用 CPU运行的基本调度单位。  Linux进程与传统UNIX进程的概念没有多大区别。没有真 正意义上的线程概念。但Linux通过clone()系统调用支持 轻量级(Lightweight process)进程(线程),两个轻量级进 程可以共享如地址空间、打开文件等资源;  Linux还支持内核线程,内核线程永远在核心态运行,没 有用户空间。 1.3 进程概念  Linux中运行ps命令,你能得到当前系统中进程的列表, 比如: $ ps x PID TTY STAT TIME COMMAND 1668 tty1 Ss 0:00 -bash 3201 tty1 S+ 0:00 xinit 3206 tty1 S 0:00 twm 3209 tty1 R 0:02 xterm 3211 pts/0 Ss 0:00 bash 3486 pts/0 S 0:00 xeyes 4392 ? Ss 0:00 gvim 4400 pts/0 R+ 0:00 ps x  pstree 1.4 Linux进程的组成  存放在磁盘上的可执行文件的代码和数据的集合称为可执行 映象(Executable Image)。  当一个程序装入系统中运行时,它就形成了一个进程。  进程是由正文段(text)、用户数据段(user segment)和系统 数据段、堆栈段(system segment)组成的一个动态实体。  正文段中存放着进程要执行的指令代码,具有只读的属性。  用户数据段是进程在运行过程中处理数据的集合,它们是进程直接 进行操作的所有数据, 以及进程使用的进程堆栈。  系统数据段存放着进程的控制信息。其中包括进程控制块PCB。 1.5 Linux进程状态 task_struct结构中定义: volatile long state long exit_state; 用于表示进程的状态 前者表示用来表征进程的可运行性, 后者表征进程退出时候的状态。 1.6 Linux进程状态  include/linux/sched.h (2.6.15 ) 114 /* 115 * Task state bitmask. NOTE! These bits are also 116 * encoded in fs/proc/array.c: get_task_state().7 117 * 118 * We have two separate sets of flags: task-state
显示全部
相似文档