1)进程是程序的一次执行。 2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 3)进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
1)动态性:进程的实质就是进程实体执行的过程。(由创建而生,由调度而执行,由撤销而消亡),因此进程是有生命周期的,程序仅仅是有序指令的集合,他没有活动的含义,因此程序是静态的。 2)并发性:多个进程实体存于内存,在一段时间内同时运行。而引入进程的目的便是为了使其进程实体与别的进程实体并发执行。程序(没有建立PCB)是不能参与并发执行的。 3)独立性:在传统OS中,独立性是指进程实体是一个能够独立运行,独立获得资源和独立接受调度的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。 4)异步性:进程按异步形式运行(各自独立的,不可预知速度的向前推进)。正是因为传统的程序若是参与并发执行会产生结果的不可再现性,为使进程虽有异步但还是结果可再现行,在OS中引入了进程的概念,配置了相应的进程同步机制。
1)就绪状态:进程已处于准备好运行的状态,即进程已分配到了除CPU以外的所有必要资源后,只要获得CPU就可以立即执行。 2)执行状态:进程已经获得CPU并开始执行。 3)阻塞状态:正在执行的程序由于发生某种事件(I/O请求,申请缓冲区失败等)暂时无法继续执行的状态。(有时候也成为等待状态或封锁状态)
1)创建状态 申请空白PCB,并向PCB中写入用于控制和管理进程的信息;然后为进程分配运行时所必须的资源;最后再将进程转入就绪状态并插入就绪队列中。(这个创建过程就是创建状态)。 2)终止状态 等待OS进行善后处理,最后将PCB清零,并将PCB空间返还系统。
挂起操作:当一个进程被执行此操作,正在运行将被暂停,就绪态则暂时无法调用。 引入挂起操作的原因: 1)终端用户的需要 2)父进程请求 3)负荷调节的需要 4)OS的需要
PCB类似于OS中的数据结构,它主要包含的信息包括四个方面: 1)(进程标识符)外部标识符和内部标识符。 2)(处理机状态)通用寄存器和指令计数器,程序状态字PSW和用户栈指针。 3)(进程调度信息)进程状态,进程优先级,进程调度需要的其他信息以及事件。 4)(进程控制信息)程序和数据地址,进程同步和通信机制,资源清单,链接指针。
PCB作用: 1)作为独立运行基本单位的标识。 2)能实现间断性运行方式。 3)提供进程管理所需要的信息。 4)提供进程调度所需要的信息。 5)实现与其他进程的同步与通信。
1)线性方式 系统中的PCB都放于线性表,这样做实现简单,但是每次查找都要扫描整表,如果项目数目太多就…
2)链接方式 把具有相同状态进程的PCB分别通过PCB中的链接字连接成一个队列,也就是就绪队列,组赛队列(若干个),空白队列等。并边,且把优先级高的队列排前。
3)索引方式 系统根据所有进程状态的不同,建立了几张索引表。
