【进程与线程】

进程与线程

进程:操作系统分配资源的最小单位

  • 计算机程序:所编写的代码与必要的资源文件的结合

  • 进程的概念与特征

    • PCB块的概念
      • 引入进程的概念,以便更好地描述和控制程序的并发执行,为了使参与并发执行的程序(包括数据)能够独立地运行,
        需要为其设置一个专门的数据结构,称为进程控制模块(即为PCB)。系统利用PCB来描述进程的基本情况和运行状态,
        从而实现对进程的控制和管理。
      • PCB是进程存在的唯一标志
    • 进程的不同角度的典型定义
      • 1 进程是程序的一次执行过程
      • 2 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
      • 3 进程是具有独立功能的程序在一个数据集合上运行的过程,是系统资源分配和调度的一个独立单位
    • 进程的特征
      • 1 动态性 是进程最基本的特征
      • 2 并发性
      • 3 独立性 凡未建立PCB的程序,都不能作为一个独立的单位参与运行
      • 4 异步性
      • 5 结构性
  • 进程的基本状态与状态间的切换

    • 进程的状态
      • 运行态 进程正在处理机上运行
      • 就绪态 进程获得了除处理机外的一切所需资源,一旦得到处理机,即刻运行。可能有多个进程处于就绪态
        通常排成一个队列,为就绪队列
      • 阻塞态 进程正在等待某一个事件而暂停运行,如等待某资源变为可用(不包括处理机)或等待输入/输出结束
      • 创建态 进程正在被创建,尚未转到就绪态
      • 结束态 进程正从系统中消失
    • 进程状态间的转换(主要存在于就绪、运行、阻塞三者间)
      • 就绪->运行:处于就绪态的进程被调度后,获得处理机的资源,发生状态转换
      • 运行->就绪:运行中的进程在时间片用完后,或是有更高优先级进程就绪后,调度程序使得进程让出处理机转为就绪
      • 运行->阻塞:进程请求某一个资源(如外设)的使用或等待某一个事件(如I/O操作的完成)时,转为阻塞
      • 阻塞->就绪:进程等待的事件到来时,中断处理程序将相应进程的状态由阻塞转为就绪
      • 一个进程从运行态转为阻塞态是主动行为,从阻塞态变为就绪态是被动行为,需要其他相关进程协助
        在这里插入图片描述
  • 进程控制

    • 创建
      • 1 分配一个唯一的进程标识号(进程ID),并申请一个空白PCB
      • 2 为进程分配资源,为新进程的数据和程序以及用户栈分配必要的内存空间(在PCB中体现)
        如果资源不足(如内存空间),进程不会创建失败,而是进入阻塞态,等待资源分配
      • 3 初始化PCB
      • 4 若进程就绪队列能够接纳新进程,将新进程插入就绪队列,等待被调度运行
    • 切换
      • 调度是指决定资源分配给哪个进程的行为,是决策的过程,而切换就是实际的分配操作,先有资源调度后有进程切换

线程:CPU调度执行的最小单位

  • 引入线程是为了减小程序在并发执行时所付出的时空开销
  • 一个进程中可以包含多个线程
  • 线程可以共享同一个进程的资源
  • 并发的概念
    • 并发是指两个或多个事件在同一时间间隔内发生
    • 在多道程序环境下,一段时间内,宏观上有多道程序在同时执行,而在每个时刻,单处理机环境下实际只能有一道程序
      执行,因此在微观上这些程序仍然是分时交替执行的。操作系统的并发性是通过分时得以实现的
    • 并行性是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的工作。并行性需要有相关硬件支持
      如多流水线或多处理机的硬件环境
  • 线程之间 上下文状态切换 – 不太浪费资源 (线程的单位比较小)
  • 举例子:
    • 一个进程中只有一个线程: 完全顺序结构 只能在同一时间做一件事情
    • 多线程的优点 - 微信: 给好发送文件时 也需要同时能去聊天

进程与线程的关系

  • 定义:进程是程序在某个数据集合上的一次运行活动;线程是进程的一个执行路径。
  • 角色:进程是系统资源分配的单位,线程是CPU调度的单位
  • 拥有资源:进程是拥有资源的基本单位,线程不拥有系统资源
  • 资源共享:进程间不能共享资源,线程共享进程的地址空间和其他资源。线程还有自己的栈和栈指针、程序计数器等(线程间相互通信无需通过内核)
  • 独立性:进程有自己独立的地址空间,线程无,线程必须依赖于进程存在
  • 开销:进程切换开销大,线程相对小
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值