OS - 进程与线程的概念背景及应用区分



主要参考:

  • 《操作系统概论》(机械工业出版社)

进程的概念背景

  • 产生背景

    多道程序设计系统中,一个程序的执行过程不是连贯、线性的,因此引入“进程”概念动态地来正确反映程序执行时的活动规律和状态变化

    进程与程序

  • 引入作用

    • 提高资源利用率

      将一个问题中可并行执行的任务粒度细化至“进程”概念;

    • 正确描述程序的执行情况

      正确反映了同一个程序不同场景下(不同用户、不同时间、不同对象等)分别执行的动态

进程的三种基本状态

进程基本状态

进程控制块(Process Control Block,PCB)

进程控制块

  • 标识信息:进程的唯一标识
  • 说明信息:说明当前进程情况
  • 现场信息:当进程让出处理器时,暂时保存存放在处理器中的相关数据,以便能在继续运行时恢复;
  • 管理信息:控制进程执行顺序(进程队列中最后一个进程的队列指针值为“0”)

进程的队列管理模型

进程队列管理模型

而其中对进程的创建、撤销及状态切换,也都需要操作系统生成相应的进程来控制执行,这类进程被称为原语

原语

原语是操作系统中能完成一些特定功能(控制其他进程的生命周期与状态切换),且不可中断进程

  • 创建原语:创建一个新进程(为一个程序分配一个工作区和建立一个进程控制块),并置该进程为就绪态
  • 撤销原语:在一个进程完成工作后,收回它的工作区和进程控制块;
  • 阻塞原语:在进程运行过程中发生等待事件时,将进程从运行态改为等待态
  • 唤醒原语:当进程等待的事件发生后,将进程从等待态改为就绪态

线程的概念背景

在现代操作系统中,把用户的一个计算问题或一个应用问题作为一个进程,把该进程中可并发执行的各部分分别作为一个线程

线程是进程中可独立执行的子任务,有唯一标识符线程描述表

概念产生背景:

  • 进程的缺点

    • 每个进程都占用一个进程控制块和一个私有的主存空间,开销较大
    • 进程之间的消息传递,要从一个工作区到另一个工作区,需专用的通信机制,速度较慢
    • 进程过多增加了进程调度的次数,复杂性提升
  • 把要解决某个问题的工作作为一个进程,而其中可并发执行的部分细化至线程粒度来控制,操作系统仅为进程来分配所需资源,进程内的各线程共享进程的资源

    • 进程 -> 资源分配单位
    • 线程 -> 调度、执行单位
  • 多线程技术的优点

    • 节省了分配进程控制块和工作区的开销
    • 线程创建无需另行分配资源,创建速度快
    • 线程间信息传递在同一主存空间,传递速度快
    • 线程独立执行,能充分发挥并行工作能力

posted @ 2018-09-12 09:46  JustKidding  阅读(430)  评论(0编辑  收藏  举报