2.1  进程的基本概念

  1. 程序的顺序执行及其特征
  2. 程序的并发执行及其特征
  3. 进程的特征与状态
  4. 进程控制块

2.1.1  程序的顺序执行及其特征

顺序执行包含两层含义:

  1. 在单道批处理系统中,对于多个用户程序来说,所有程序是依次执行的。(外部顺序性)
  2. 对于一个程序来说,在若干个程序段之间,必须按照某种先后次序顺序执行;对同一个程序段中的多条指令,也是按某种顺序执行的。(内部顺序性)

程序的顺序执行主要是指第一种,即各个程序依次执行

  1. 程序顺序执行的特征

2.1.3  程序的并发执行及其特征

程序的并发执行包括两层含义

  1. 对于一个程序来说,它的所有指令是按序执行的。(内部顺序性)
  2. 对于多个执行中的程序(进程)来说,所有进程是交叉执行的。(外部并发性)

程序并发执行的特征

3)不可再现性——与时间有关的错误  

2.1.4  进程的特征与状态

1.进程的定义和特征

进程是程序在一个数据集上的运行过程,是系统进行资源分配和调度的一个独立单位。 (传统OS中对进程的定义)

进程的特征

  1. 结构特征

程序段、相关的数据段、PCB三部分构成了进程实体。

  1. 动态性

进程的实质是进程实体的一次执行过程,故动态性是进程的最基本特征

  1. 并发性

这是指多个进程实体同存于内存中,且能在一段时间内同时运行

  1. 独立性

在传统的OS中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

  1. 异步性

是指进程按各自独立的、不可预知的速度向前推进,或说进程实体按异步方式运行。

2.  进程的三种基本状态

1)就绪(Ready)状态:

当进程已分配到除CPU以外的所有资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。

2)执行(Running)状态:

进程已获得CPU,其程序正在执行

3)阻塞(Blocked)状态:

正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态(或等待状态)。

进程的三种基本状态的转换:

引起进程状态转换的典型事件:

进程调度:就绪态®执行态

时间片完:执行态®就绪态

请求I/O:执行态®阻塞态

I/O完成:阻塞态®就绪态  

挂起状态:

  1. 引入挂起状态的原因:

  1. 具有挂起状态系统的进程状态的转换

2.1.5  进程控制块(PCB)

为了描述和控制进程的运行,系统为每个进程定义了一个数据结构——进程控制块。

进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构

  1. PCB作用

使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发进程进行控制和管理的。

例如:进程调度;现场保护和恢复;进程同步和通信。

2.进程控制块中的信息

PCB中记录了操作系统所需的、用于描述进程当前情况以及控制进程运行的全部信息。具体包括下述四方面的信息:

  1. 进程标识符

内部标识符(进程号);外部标识符(名);

父进程标识及子进程标识;用户标识

  1. 处理机状态

处理机状态信息主要由处理机的各种寄存器中的内容组成的。寄存器包括:通用寄存器、指令计数器、程序状态字(PSW)寄存器、用户栈指针。(保护、恢复现场)

当处理机被中断时,这些信息都必须保存到PCB中,以便该进程重新执行时,能从断点继续执行。

3)进程调度信息:

在PCB中还存放一些与进程调度和进程对换有关的信息。包括:

  • 进程状态——作为调度和对换时的依据。
  • 进程优先级——由于描述进程使用处理机的优先级别的一个整数,优先级高的进程优先获得处理机。
  • 进程调度所需的其它信息——它们与所采用的进程调度算法有关。……
  • 事件——即阻塞原因。
  1. 进程控制信息

程序和数据的地址——指程序和数据所在的内存或外存首地址;

进程同步和通信机制——如信号量、消息队列指针等,它们可能全部或部分地存放在PCB中;

资源清单——是一张列出了除CPU外的、进程所需的全部资源及已经分配到该进程的资源的清单;

链接指针——它给出本进程(PCB)所在队列中下一个进程的PCB的首址。

3.进程控制块的组织方式

常用的组织方式有两种:链接方式和索引方式

 2)索引方式:

计算机操作系统(7):进程的基本概念相关推荐

  1. 计算机操作系统之进程

    目录 进程的定义 基本概念 进程实体与进程 PCB的组成 进程的组织 链接方式 索引方式 进程的特征 进程的状态 进程的三种基本状态 进程的另外两种状态 进程状态的转换 进程控制 何谓进程控制 如何实 ...

  2. 计算机操作系统——经典进程的同步问题

    计算机操作系统--信号量机制与经典进程的同步问题 信号量机制 随着发展,信号量从整型信号量经记录型信号量,进而发展为"信号量集"机制. 一般来说,信号量的值与相应的资源的使用情况有 ...

  3. 计算机操作系统之进程与线程

    ⭐️前面的话⭐️ 本篇文章将介绍计算机操作系统的相关内容,主要内容有进程,进程调度,并行与并发的概念,进程间通信,进程与线程的区别.

  4. 【计算机操作系统】-进程切换什么时候会发生呢?

    进程切换一定发生在中断/异常/系统调用处理过程中,常见的有以下情况: 时间片中断.IO中断后 更改优先级进程:(导致被中断进程进入就绪态): 阻塞式系统调用.虚拟地址异常:(导致被中断进程进入等待态) ...

  5. 计算机操作系统和进程

    ✨个人主页:bit me

  6. 计算机操作系统 - 目录

    计算机操作系统 概述 进程管理 死锁 内存管理 设备管理 链接 参考资料 Tanenbaum A S, Bos H. Modern operating systems[M]. Prentice Hal ...

  7. 【Linux】冯诺依曼体系结构、操作系统及进程概念

    文章目录 一.冯诺依曼体系结构 二.操作系统(OS) 三.系统调用和库函数 四.进程 4.1概念 4.2描述进程-PCB 4.3查看进程 4.4与系统相关的系统调用 4.5系统调用获取进程标示符 4. ...

  8. 【计算机操作系统基本概念】

    1.计算机操作系统的概念 计算机操作系统是指控制和管理计算机的软.硬件资源,合理组织计算机的工作流程,方便用户使用的程序集合. 2.操作系统的功能 1)处理机管理 2)存储管理 3)设备管理 4)文件 ...

  9. 计算机考研复试面试问答整理(计算机网络、数据结构、操作系统、数据库、热点概念)

    包含数据结构.计算机网络.操作系统.数据库.热点概念 数据结构 1.顺序存储和链式存储优缺点比较 ① 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一):要求内存中可用存储单元的地址必须是连续 ...

最新文章

  1. SpringBoot之配置嵌入式Servlet容器
  2. 第32题 最长匹配括号
  3. 只要一句话、一段文字,想让奥巴马说啥他就说啥
  4. osm2pgsql windows “illegal option -W” error
  5. 各个国家的市场分析(摩洛哥,德国)
  6. 编程的一些快捷键(转帖)
  7. CABasicAnimation x y z 轴旋转动画
  8. js call(),apply(),对象冒充,改变变量作用域
  9. git小技巧之分支、关联远程仓库、回滚、解决.gitignore不生效等
  10. C++:C++中public protected private关键字用法
  11. 流行插件 jQuery 被曝存在漏洞达三年之久!
  12. conformal mapping的理解
  13. Windows To Go,让Windows 8移动起来!
  14. Json.Net学习笔记(十) 保持对象引用
  15. zjoi2018day1 游记
  16. Hdu1412 (set......Java)
  17. 红米note4x装linux,红米Note4X自己安装Magisk的过程
  18. 国内各银行间异地汇款手续费对照表
  19. 作业:pytorch实现图卷机网络,与随机梯度下降法实现
  20. [快讯]致铭主板促销免费赠送Q版暖水袋

热门文章

  1. NPOI读取Excel生成DataTable转为Json后利用LitJons读取
  2. python导入sas数据集_运用import过程进行SAS数据导入完全实用教程
  3. java排序算法大全_各种排序算法的分析及java实现
  4. postgres 退出_postgresql – 如何修复Postgres以便在突然关闭后启动它?
  5. 计算机操作系统实验银行家算法,实验六 银行家算法(下)
  6. java参数传入的是一个类名_Java编程细节——泛型的定义(类、接口、对象)、使用、继承...
  7. WordPress 获取当前页面 ID 的几大方法
  8. Shell 脚本知识回顾 (一) —— 基础篇
  9. Controller向View传值方式总结
  10. c++中BOOL和bool的区别