2.进程基础知识

  • 进程管理逻辑图

    image

    进程的发展

    image

    引入进程的原因

    为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述
    (影响:使多个程序能够并发执行)

    进程的定义

    1. 进程是程序的一次执行
    2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
    3. 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
    4. 在引入了进程实体的概念后,我们可以把传统OS中的进程定义为"进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位"

    引入进程后造成的问题

    1. 如何细分状态?如何控制状态间的转变?
    2. 多进程环境下,如何调度进程?
    3. 同步与互斥问题
    4. 死锁问题

    进程的特征

    1. 动态性(最基本特征):状态转换
    2. 并发性:多个进程在一段时间内同时运行
    3. 独立性:独立运行、独立获得资源、独立调度
    4. 异步性:按照各自的不可预知的速度向前推进
    5. 结构性:程序段、数据段和PCB构成进程实体

    进程间通信

    • 低级通信:PV操作
    • 高级通信:共享存储、消息传递、管道通信

    进程与程序的区别

    1. 程序是静态的,进程是动态的

    2. 进程是程序的一次执行过程

    3. 进程和程序不是一一对应,一个程序可对应多个进程(浏览器多开网页),一个进程可对应多个程序(UI进程渲染QQ、360)

    程序 进程
    静态的:有序代码的集合,是永久的,对应着文件、可复制 动态的:程序的执行,有生命期、临时的,是一个状态变化的过程
    组成:代码集合 组成:程序、数据和PCB
    不支持并发 支持并发
    不能作为独立单位参与运行 具有独立性
    通过多次执行,一个程序可对应多个进程 通过调用,一个进程可包括多个程序

    进程的组成

    程序段+数据段+PCB(进程控制块 Process Control Block)

    • PCB是进程存在的唯一标志
    image

    进程的状态转换 (便于OS监控、调度)

    三种基本状态:就绪、执行、阻塞

    引入创建和终止状态后,进程的状态转换图:

    image

    引入挂起状态:

    • 原因:

      1. 终端用户的请求
      2. 父进程请求
      3. 负荷调节的需要
      4. 操作系统的需要
    • 具有挂起状态的进程状态及转换图:

    image

进程间通信(IPC —— Inter-Process Communication)

image
  • 剪切板——共享存储
  • 消息缓冲队列——直接消息传递

线程

  • 引入线程后,进程是资源分配的基本单位,,线程是CPU调度和分派的基本单位
  • 线程是轻量级进程
  • 线程是进程的一个运行实体
  • 线程没有独立的地址空间(内存空间)
  • 线程是由进程创建的
  • 一个进程可以拥有多个线程
  • 线程的动态的,具有就绪,执行和阻塞三个基本状态
  • 线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源
posted @   风雨zzm  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示