什么叫进程
一个进程就是程序运行的实体。程序运行实体需要他自己的资源:栈,堆,等。在一些操作系统进程叫任务(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