前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >7-进程

7-进程

作者头像
Ywrby
发布2022-10-27 13:07:26
2870
发布2022-10-27 13:07:26
举报
文章被收录于专栏:YwrbyYwrby

进程

程序的定义: 就是一个指令序列

早期的计算机,只支持单道程序。同一时间内只能有一道程序执行,此时计算机的CPU,内存以及I/O设备都由该程序单独使用,所以此时程序的代码放在程序段内,程序运行的数据放在数据段内,二者可分别置于内存的首尾两侧。

单道程序内存使用
单道程序内存使用

在引入多道程序技术后,同一时间可能有多道程序执行,此时内存中存放了各个程序的程序段和数据段,如果不引入其他数据结构便无法找到对应程序的存放位置。所以系统为每个运行的程序都配置一个数据结构,称为进程控制块PCB(Progress Control Block),用来描述进程的各种信息(如程序代码的存放位置)

多道程序内存使用
多道程序内存使用

进程实体

由PCB,程序段,数据段三部分构成,也称为进程映像

一般情况下,我们可以把进程实体简称为进程。我们平常所说的创建进程,指的就是创建进程实体中的PCB,而撤销进程,是指就是撤销进程实体中的PCB

PCB是进程存在的唯一标志

进程定义

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

在引入了进程实体的概念后,可以把进程定义为:进程是进程实体的运行过程,是系统进行资源分配和调度的独立单位

严格来说,进程实体和进程是有区别的,进程实体是静态的,而进程是动态的。不过除非题目专门考察二者区别,否则可认为进程实体就是进程,所以可以说进程由程序段,数据段,PCB三部分组成

程序段组成

程序段负责存储程序代码等相关信息

数据段组成

由程序运行时使用,产生的运算数据组成,如全局变量,局部变量,宏定义常量就存放在数据段内

PCB组成

简要概况:进程的管理者(操作系统)所需的数据都存放在PCB中,程序运行本身需要的数据则存放在数据段和程序段中

进程描述信息

  • 进程标识符PID:进程创建时分配的唯一的永不重复的ID,用于区分进程
  • 用户标识符UID:标识用户身份

进程控制和管理信息

  • 进程当前状态
  • 进程优先级

资源分配清单

  • 程序段指针
  • 数据段指针
  • 键盘
  • 鼠标

处理机相关信息

  • 各种寄存器:当进程切换时需要把进程当前运行情况记录下来保存在PCB中,以备后续继续执行时调用。如程序计数器的值表示了当前程序执行到了哪一句

要区分PCB和程序段数据段中存储信息的区别,其实只需要认清PCB中存储的都是进程的管理者(操作系统)所需的数据,而程序段和数据段则负责存储程序本身运行所需要的数据

进程的组织方式

进程的组成讨论的是一个进程内部由哪些部分构成,而进程的组织讨论的是多个进程之间的组织问题

链接方式

  • 按照进程的状态将PCB分为多个队列
  • 操作系统持有指向各个队列的指针
    • 执行指针:指向当前运行态(执行态)的进程,在单CPU计算机中,同一时刻只可能有一个进程处于运行态,所以执行指针也只有一个
    • 就绪队列指针:指向当前处于就绪态的进程,处于就绪状态的进程可能有多个(通常会把优先级高的进程放在队头)
    • 阻塞队列指针:指向当前处于阻塞状态的进程,很多操作系统还会根据阻塞原因不同再划分多个阻塞队列

索引方式

  • 根据进程状态的不同,建立几张索引表
  • 操作系统持有指向各个索引表的指针

进程的特征

  • 动态性(进程最基本的特征):进程是程序的一次执行过程,是动态地产生,变化和消亡的
  • 并发性:内存中有多个进程实体,各个进程可并发执行
  • 独立性:进程是能独立运行,独立获得资源,独立接受调度的基本单位
  • 异步性:各进程按各自独立的,不可预知的速度向前推进。操作系统需要提供“进程同步机制”来解决异步问题
  • 结构性:每个进程都会配置一个PCB,从结构上看,进程都由PCB,数据段,程序段组成
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 进程
    • 进程实体
      • 进程定义
        • 程序段组成
          • 数据段组成
            • PCB组成
              • 进程描述信息
              • 进程控制和管理信息
              • 资源分配清单
              • 处理机相关信息
            • 进程的组织方式
              • 链接方式
              • 索引方式
            • 进程的特征
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档