您的位置:首页 > 其它

[OS] 进程管理简介(一)

2010-05-06 20:58 381 查看
Filename:[OS] 进程管理简介(一)

Version:V1.0.0

Date:6/3/2010

Author:S.C.Leon

Copyright: 本文可在非商业目的下署名传播和复制。对于商业目的下对本文的任何行为需经作者同意。联系方式:leonsc@126.com

=====================================================================

[OS]进程管理简介(一)

本文主要从OS角度对进程管理这一操作系统的基石进行简要阐述,有兴趣深入的可参阅本文附列参考文献。

本文将从以下三部分展开

o 进程和线程

o CPU调度

o 进程同步

第一部分、进程和线程

1.1进程的概念

o 定义

“什么是进程(process)”。进程是运行着的程序和它所占有的资源。

进程是动态的概念,程序是静态概念。

1.2 进程的组成

o Program counter

o Data section,stack,regs

o State.

1.3进程状态

o 每个操作系统有不同的进程状态的定义,处于不同状态的进程是不同的进程。





1.4进程控制块(Process Control Block,PCB)

下图大致描述了进程控制块的结构





o PCB主要有,指针,进程状态,pid,CPU内部寄存器,内存分配,文件打开情况…

1.5 Multi-programming(多进程)

o 两个以上进程在宏观上同时运行。

o 需要操作系统做context switch

o 目的:尽量多的使用CPU





1.6进程切换

o Context switch 从效率上是overlap(为了实现multi-programming)

o Context switch from process to process





1.7 进程队列管理

o 将同一状态的进程用链表串起来。

o Job queue:系统中运行的进程。

o Ready queue:驻留在内存中,等待执行的进程队列。

o Device queue:等待IO设备的进程队列。





1.8 进程的创建

o Fork

n 子进程和父进程共享所有资源。

n 子进程和父进程同时执行

n 子进程和父进程共享地址空间

o Exec 子进程置换进程代码,即跳到另一个地方执行。

1.9 进程协同

o 进程协同的好处

n Information sharing

n Computation speed-up

n Modularity

n Convience

o 进程协同的问题

n Bounded buffer-Producer Consumer problem

1.10 线程

o 单线程和多线程





o 线程模型

n Many to One

n One to One

n One to Many

参考文献

1.操作系统 电子工业出版社 William Stallings

2.深入理解linux内核 中国电力出版社

3.边干边学-linux内核指导 浙江大学出版社

4.IBM developworks
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: