进程的基本概念

1]进程的基本概念:
从用户的角度来看进程是程序的一次执行过程
从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。
进程是资源分配的最小单位
每一个进程都有自己独立的地址空间与执行状态。
像UNIX这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程
2]
进程的静态描述:由三部分组成:PCB、有关程序段和该程序段对其进行操作的数据结构集。
进程控制块:用于描述进程情况及控制进程运行所需的全部信息。
代码段:是进程中能被进程调度程序在CPU上执行的程序代码段。
数据段:一个进程的数据段,可以是进程对应的程序加工处理的原始数据,也可以是程序执行后产生的中间或最终数据
3]
进程和程序的区别
进程是动态的,程序是静态的
进程的生命周期是相对短暂的,而程序是永久的。
进程数据结构PCB
一个进程只能对应一个程序,一个程序可以对应多个进程。
4]
操作系统经典三态
   就绪
   等待(阻塞)
   运行
4.2]
Linux内核中的进程状态
   运行状态(TASK_RUNNING)
   可中断睡眠状态(TASK_INTERRUPTIBLE)
   不可中断睡眠状态(TASK_UNINTERRUPTIBLE)
   暂停状态(TASK_STOPPED)
   僵死状态(TASK_ZOMBIE)
4.3]
"R (running)", /* 0 */ 运行
"S (sleeping)", /* 1 */ 线程,进程正常sleep,可被唤醒 
"D (disk sleep)", /* 2 */深度睡眠,不可中断进程,杀不了,唤不醒,只能关机重启
"T (stopped)", /* 4 */
"t (tracing stop)", /* 8 */
"X (dead)", /* 16 */ 
"Z (zombie)", /* 32 */ 僵尸进程

5]
进程控制块
进程描述信息
   进程标识符用于唯一的标识一个进程。
进程控制信息
   进程当前状态
   进程优先级
   程序开始地址
   各种计时信息
   通信信息
资源信息
   占用内存大小及管理用数据结构指针
   交换区相关信息
   I/O设备号、缓冲、设备相关的数结构
   文件系统相关指针
现场保护信息
   寄存器
   PC
   程序状态字PSW
   栈指针
进程标示
   每个进程都会分配到一个独一无二的数字编号,我们称之为“进程标识”(process identifier),或者就直接叫它PID.
   是一个正整数,取值范围从232768
   当一个进程被启动时,它会顺序挑选下一个未使用的编号数字做为自己的PID
   数字1一般为特殊进程init保留的
进程创建
   不同的操作系统所提供的进程创建原语的名称和格式不尽相同,但执行创建进程原语后,操作系统所做的工作却大致相同,都包括以下几点:
   给新创建的进程分配一个内部标识,在内核中建立进程结构。
   复制父进程的环境
   为进程分配资源,包括进程映像所需要的所有元素(程序、数据、用户栈等),
   复制父进程地址空间的内容到该进程地址空间中。
   置该进程的状态为就绪,插入就绪队列。
进程撤销
   进程终止时操作系统做以下工作:
   关闭软中断:因为进程即将终止而不再处理任何软中断信号;
   回收资源:释放进程分配的所有资源,如关闭所有已打开文件,释放进程相应的数据结构等;
   写记帐信息:将进程在运行过程中所产生的记帐数据(其中包括进程运行时的各种统计信息)记录到一个全局记帐文件中;
   置该进程为僵死状态:向父进程发送子进程死的软中断信号,将终止信息status送到指定的存储单元中;
   转进程调度:因为此时CPU已经被释放,需要由进程调度进行CPU再分配。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值