Chinaunix首页 | 论坛 | 博客
  • 博客访问: 526363
  • 博文数量: 96
  • 博客积分: 2102
  • 博客等级: 上尉
  • 技术积分: 1695
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-11 22:12
文章分类

全部博文(96)

文章存档

2014年(2)

2012年(94)

分类: LINUX

2012-04-18 18:11:14

进程的概念:进程是处于一个执行环境中在一个数据集上的运行过程,他是系统进行资源分配和调度的一个可并发执行的独立单位。
进程的组成:进程是在一个上下文执行环境中执行的。这个执行环境成为进程 的映像。它包括处理机中个通用寄存器的值、进程的内存映像、打开文件的状态和进程占用资源的信息等喝多部分。进程关键按的部分是存储器映像,因为一个进程 在暂时推出处理机时,他的处理机映像被调度执行时,要从存储器映像中回复进程全部的执行环境。提到的进程映像一般是指存储映像。
进程控制块:是系统用于查询和控制进程运行的档案。它描述进程的特征, 记载进程的历史,界定进程的命运。由于PCB比较大,因此一些系统将它分割成两部分,一部分是进程控制块,这部分记录步管进程是否在执行,操作系统都访问 进程的控制信息,因此它常驻内存。另一部分是进程扩充控制块,当进程不出与执行状态时操作系统不会访问这部分信息,因而进程扩充控制块和进程的其他部分映 像一项,能对换到盘交换区中,一旦进程被调度程序选中,在执行之前在换入内存即可。
共享正文段:它可以被多个进程并发执行。
数据区:进程执行时用到的数据。
工作区:进程在内核太运行时的工作区为核心栈,在用户态下运行时的工作区为用户栈。在调用内核的函数或用户函数时,两种栈分别用于传递参数、存放返回地址、保护现场,以及为局部动态变量提供存储空间。此外,核心栈用于保护中断现场,用户栈用于想主程序mian传递命令行参数等。
进程的状态变化
执行状态:任何情况下只能有意个进程处于执行状态
就绪状态:在逻辑上是可执行的,通常将就绪的进程排在一个或多个队列中。
阻塞状态:一个进程因为某个原因暂时无法继续运行,因此放弃了cpu,等待影响它运行的因素消除。
调度:
1》先来先服务调度算法:一种不可抢占方式的简单算法。按照进程到达就绪队列的时间次序分配处理即。
2》时间片轮转法:按照进程到达的时间排在一个先进先出就绪队列中。如果进程运行了一段时间达到了‘时间片’
                              的固定时间间隔还没有运行完,那么进程会被强迫放弃处理机,并且让该进程重新排在就绪
                              队列的队尾,等待下一次的调度。
3》优先级调度算法:一、静态优先级:在进程创建的时候就被赋予的一个优先级,而且优先级一直不变。
                                  二、动态优先级:根据进程在运行过程的情况进行修改优先级。
4》多级反馈队列调度算法。
进程组:     是一个或者多个进程的集合,每一个进程组有一个唯一的进程标识符号gid,在每一个进程组内部有一个称为组长的进程。组长进程就是其pid等于进程组号gid的进程,一个进程可以通过调用setgid()来参加一个现有的进程组或者创建一个进程组。进程组中最常见的用途:在终端上向前台执行程序发送终止信号(CTRL-C组合键),同时终止整个进程组中的所有进程。
会话期:      则是一个或者多个进程组的集合。通常情况下,用户登录后所执行的所有程序都属于一个会话期,而登录shell终端就是会话期的控制终端,因此收会话期的首次进程通常称为控制进程。当我们退出登录logout时,所有属于我们这个会话期的进程都会被终止。
             
阅读(1034) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~