进程是运行中的程序,线程是进程的内部的一个执行序列
进程是资源分配的单元,线程是执行行单元
线程是cpu调度和分派的基本单位,它可与同属一个进程的其他线程共享进程所拥有的全部资源
进程间切换代价大,线程间切换代价小
进程拥有资源多,线程拥有资源少
多个线程共享进程的资源
一个进程的内存空间是共享的,每个线程都可以使用这些共享内存
进程的基本状态和转换
就绪(Ready)状态:指进程已处于准备好运行的状态,及进程已经分配到需要的系统资源,只要在获得CPU就可以执行
执行(Running)状态:指进程获得了CPU正在执行,在单处理机系统中,最多只有一个进程处于该状态
阻塞(Block)状态:指正在执行的进程,在执行过程中发生了某时间(如:I/O请求、申请缓冲区失败等)
创建状态:
创建一个进程要经过以下几步:
- 首先进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息
- 然后为该进程分配运行时所必须的资源
- 最后把该进程转入就绪状态并插入就绪队列
引入创建状态是为了保证进程的调度必须是在创建工作完成之后
终止状态:
进程的终止状态有以下两步:
- 首先,等待操作系统做善后处理
- 最后将其PCB清零,并将PCB空间返还给系统
当一个进程达到了自然结束点或是出现了无法克服的错误,或是被操作系统终结,则进入终止状态。进入终止状态的进程以后不能再执行,但在操作系统中保存状态码和一些计时统计数据供其他进程收集