进程

学习操作系统,也得了解其中的一些原理。

什么是进程?

进程是有独立功能的程序关于某个数据集合的一次运行活动。

特点:

动态性:可动态创建,结束;

并发性:可以被调度,轮流占用处理机;

独立性:有独立的地址空间;

制约性:因访问共享数据或进程间同步而产生只制约。

进程控制块(PCB):系统管理控制进程运行用的信息集合。

进程状态:运行状态(Running)、就绪状态(Ready)、阻塞状态又称等待状态(Blocked)、创建状态(New)、结束状态(Exit)。

进程挂起:进程在挂起(Suspend)状态意味着进程没有占用内存空间,处在挂起状态的进程映像在磁盘上。

作业:是用户对计算机的一次独立的使用过程。

轻量级进程(Light-Weight Process):一种共享存储空间的进程概念应运而生。

进程环境

环境变量:有一个指针变量environ,它指向的是包含所有的环境变量的一个列表。

-getenv()访问一个环境变量。

-setenv()在程序里面设置某个环境变量函数。

-unsetenv()清除某个环境变量的函数。

进程标识:PID(进程标识符)Process Identifier,就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序。是一个非负整数。

进程ID(PID):是唯一的数值,用来区分进程。

进程状态:运行态R、休眠态S、僵尸Z。

进程编程

四个函数族:fork&&vfork函数族,exec函数族,exit函数族,wait函数族。

进程的一生

随着一句fork,一个新进程呱呱落地,但它这时只是老进 程的一个克隆

然后随着exec,新进程脱胎换骨,离家独立,开始了为人 民服务的职业生涯。

人有生老病死,进程也一样:

      自然死亡,即运行到main函数的最后一个“}”,从容地离我们而去。

      自杀(自杀有2种方式)

             调用exit函数

             在main函数内使用return

      无论哪一种方式,它都可以留下遗书,放在返回值里保留下来。 这就是进程完整的一生。

      被谋杀,被其它进程通过另外一些方式结束他的生命。

进程死掉以后,会留下一具僵尸,wait充当了殓尸工,把僵尸推去火化,使其最终归于无形。

这就是进程完整的一生。

 

posted @ 2012-03-06 21:27  龍傲霜  阅读(200)  评论(0编辑  收藏  举报