定义:进程就是一个具备独立功能的程序在数据集合上的一次动态执行的过程
组成:shell
总之,进程包含了正在运行的一个程序的全部状态信息数据结构
动态性:可动态地建立、结束进程
并发性:进程能够被独立调度并占用处理机运行
独立性:不一样进程的工做互不影响
制约性:因访问共享数据/资源或进程间同步而产生的制约并发
描述进程的数据结构:进程控制块
操做系统为每一个进程都维护了一个PCB,它是操做系统管理控制进程运行所用的信息集合。
PCB能够描述进程的基本状况以及运行变化的过程。学习
进程建立:为该进程生成一个PCB
进程终止:回收它的PCB
进程的组织管理:经过对PCB的组织管理来实现
PCB包含如下内容:操作系统
进程建立
进程就绪
进程运行
进程等待(阻塞)
进程唤醒
进程结束.net
其中重点说下进程等待
:线程
在如下状况会发生进程等待 (1)请求并等待系统服务,没法立刻完成 (2)启动某种操做,没法立刻完成 (3)须要的数据没有到达
注意:进程只能本身阻塞本身
。由于只有进程自身才晓得
本身何时须要等待什么。code
进入阻塞状态的程序,等待到了本身要的数据,会进行进程唤醒,这个操做多是操做系统也多是进程作。唤醒后进入就绪队列,等待被调度占用处理机运行。blog
咱们先前学习了虚拟存储器管理,咱们以前说一段程序,先分配给它一个连续的逻辑地址空间,这段程序其实就是进程,进程须要访问物理内存,在内存不够时能够进行换入换出的操做。当把一个进程所对应的占用的物理内存释放并将内容换出到硬盘就叫作挂起状态
。
这个分为两种
阻塞挂起状态:进程在外存并等待某事件的出现
就绪挂起状态:进程在外存,但只要进入内存,便可运行
队列
进程是资源分配的单位,线程是cpu的调度单位
线程优势:
线程缺点:
一个线程崩溃,会致使其所属进程的全部线程崩溃。
线程实现:
中止当前运行进程(从运行状态改变成其余状态),而且调度其余进程(转变为运行状态)
上下文切换也就是进程切换。
一个进程不可能一直占用CPU运行,当时间片到,就会让其余进程占用CPU运行,这个就是上下文切换
切换注意事项: