首页 > 编程语言 > 详细

进程、线程

时间:2020-05-07 01:20:34      阅读:56      评论:0      收藏:0      [点我收藏+]
进程:程序是一组静态的指令,进程是程序的一次执行过程,是系统进行资源分配和调度的一个独立单位,其属性会随着事件的推进而改变。一个程序可以包含多个进程;进程可以描述并发活动,程序则不明显;进程执行需要处理机,程序存储需要介质;进程有生存周期,程序是永存的。与进程练习在一起的行为的当前状态,称为进程状态,这个状态包含正在执行的程序的当前位置(程序计数器(用于存放下一条指令所在单元的地址的地方)的值)、CPU中其他寄存器的值以及相关的存储单元。简单来说,进程状态就是计算机在待定时刻的快照。在程序执行期间的不同时刻,将观察到不同的进程状态。
 
操作系统的任务就是管理这些进程,使每个进程都能获得其需要的计算机资源,确保独立进程不会相互干扰,确保需要交换信息的进程能够进行信息交换。
 
计算机中进程的三个状态:就绪状态,执行状态,挂起状态。(阻塞又叫挂起状态)
图中分别对应取指令->分析指令->执行指令,挂起
简单图示:
技术分享图片
  1. 挂起状态:进程正在等待系统为其分配所需资源而暂未运行。
  2. 就绪状态:进程已获得所需资源并被调入内存,它具备了执行的条件但仍在等待获得处理机资源,以便投入执行;
  3. 运行状态:进程占有处理机且正在运行的状态。
 
传统操作系统:进程既是CPU调度和分配的基本单位,又是拥有资源的独立实体,在创建、撤销、调度进程时,所费开销较大
现代操作系统:引入了线程,将进程的两个属性分开,让进程进程为拥有资源的单位而让线程成为调度和执行的基本单位。
 
进程的管理:
由操作系统内核中的调度程序和分派程序负责
 
调度程序在主存中维护着一个信息块(成为进程表)用于跟踪所有的进程。每当收到执行程序的请求时,调度程序就会在进程表中为该程序创建一个新的表项。该表项记录了分配给该进程的存储区、进程的优先级以及该进程是否可以继续执行,如果进程能够继续执行,那么该进程就处于就绪状态;如果进程因为要等待某个外部事件的发生而中断(比如等待输入),那么该进程处于挂起状态。当进程结束时调度程序负责将相应表项移出进程表。
 
分派程序是确保被调度的进程实际被执行的一个内核组件。在分时/多任务系统中,这个任务是依靠多道程序设计来完成的。首先将执行时间划分为小的时间段,每段称为一个时间片,然后让CPU轮流执行就绪进程,每个进程每次执行一个时间片。从一个进程到另一个进程的改变也称为进程切换。
 
更为详细请看操作系统相关的书籍。

进程、线程

原文:https://www.cnblogs.com/xikl/p/12839832.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!