您的位置:首页 > 其它

操作系统8-进程和系统调度(I)

2015-11-15 13:49 232 查看
什么叫进程

一个进程就是程序运行的实体。程序运行实体需要他自己的资源:栈,堆,等。在一些操作系统进程叫任务(tasks).在程序执行当中,进程是有多种状态的。一个进程可以有它的优先度。一个进程有他得地址空间,例如windows
给进程4gb空间(划分给不同的用户)。

当程序执行,一个进程会由以下段(segments):

程序代码(代码段)

数据段


寄存器
包括(程序计算器和CPU数据寄存器)

总体来说,进程是在运行时数据、资源和状态的信息。多线程编程要求一个进程可以在适当的时间被分配和取消分配到CPU。因此操作系统需要一个系统调度来实现这个需求。系统调度就是负责分配进程资源。

进程调度(Process Scheduling)

最大的发挥CPU的功效是多线程编程的目的。操作系统有很多组件去实现这个目的。第一个主要的组件是作业调度程序(Job
scheduler).作业调度程序就是一个程序当系统资源已经被占满时,把作业(job)塞进队列里。



进程控制块(Processcontrol blocks, PCBs)

每个进程的状态都用进程控制块来表现。进程控制块用来记录进程在生命周期中(初始化,创建,运行等)的状态信息。记录信息是比较重要,因为CPU是共享给所有任务的。当任务切换是,需要上下文切换(context
switches),PCB的作用显现出来了。

PCB的结构包括:

进程状态(process state),可以是new、ready、running、waiting或
blocked等

程序计数器(Program counter),接着要运行的指令地址。

CPU寄存器
主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类因电脑架构有所差异。

CPU排班法,优先级、排班队列等指针以及其他参数

存储器管理,如标签页表等。

会计信息:如CPU与实际时间之使用数量、时限、账号、工作或进程号码。

输入输出状态,打开文件,以分配的资源和其他占有的资源的列表,

(电脑的进程),
http://www.dnxxj.com/questions/2ca21a1b68943ed/%E7%94%B5%E8%84%91%E8%BF%9B%E7%A8%8B.html

(关于进程的异步性),
http://www.dnxxj.com/questions/2ca7536da29aa43/%E5%85%B3%E4%BA%8E%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%BC%82%E6%AD%A5%E6%80%A7.html

(进程调度策略),
http://www.dnxxj.com/questions/4769ac8927a741/%E8%BF%9B%E7%A8%8B%E8%B0%83%E5%BA%A6%E7%AD%96%E7%95%A5.html

(作业调度和进程调度的区别),
http://www.dnxxj.com/questions/47577be9b566cc/%E4%BD%9C%E4%B8%9A%E8%B0%83%E5%BA%A6%E5%92%8C%E8%BF%9B%E7%A8%8B%E8%B0%83%E5%BA%A6%E7%9A%84%E5%8C%BA%E5%88%AB.html

(进程控制块),
http://baike.baidu.com/link?url=DXTZN5Y0qXulym_YLOv2pl8CXT3VJGgTAzIB3EbGPKw5UxW2Grvq2D2hypsXc7emoV_fgHvtJfQF2SJ54KP9va
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: