计算机操作系统(7):进程的基本概念
2.1 进程的基本概念
- 程序的顺序执行及其特征
- 程序的并发执行及其特征
- 进程的特征与状态
- 进程控制块
2.1.1 程序的顺序执行及其特征
顺序执行包含两层含义:
- 在单道批处理系统中,对于多个用户程序来说,所有程序是依次执行的。(外部顺序性)
- 对于一个程序来说,在若干个程序段之间,必须按照某种先后次序顺序执行;对同一个程序段中的多条指令,也是按某种顺序执行的。(内部顺序性)
程序的顺序执行主要是指第一种,即各个程序依次执行
- 程序顺序执行的特征
2.1.3 程序的并发执行及其特征
程序的并发执行包括两层含义
- 对于一个程序来说,它的所有指令是按序执行的。(内部顺序性)
- 对于多个执行中的程序(进程)来说,所有进程是交叉执行的。(外部并发性)
程序并发执行的特征
3)不可再现性——与时间有关的错误
2.1.4 进程的特征与状态
1.进程的定义和特征
进程是程序在一个数据集上的运行过程,是系统进行资源分配和调度的一个独立单位。 (传统OS中对进程的定义)
进程的特征
- 结构特征
程序段、相关的数据段、PCB三部分构成了进程实体。
- 动态性
进程的实质是进程实体的一次执行过程,故动态性是进程的最基本特征
- 并发性
这是指多个进程实体同存于内存中,且能在一段时间内同时运行
- 独立性
在传统的OS中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。
- 异步性
是指进程按各自独立的、不可预知的速度向前推进,或说进程实体按异步方式运行。
2. 进程的三种基本状态
1)就绪(Ready)状态:
当进程已分配到除CPU以外的所有资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。
2)执行(Running)状态:
进程已获得CPU,其程序正在执行
3)阻塞(Blocked)状态:
正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态(或等待状态)。
进程的三种基本状态的转换:
引起进程状态转换的典型事件:
进程调度:就绪态®执行态
时间片完:执行态®就绪态
请求I/O:执行态®阻塞态
I/O完成:阻塞态®就绪态
挂起状态:
- 引入挂起状态的原因:
- 具有挂起状态系统的进程状态的转换
2.1.5 进程控制块(PCB)
为了描述和控制进程的运行,系统为每个进程定义了一个数据结构——进程控制块。
进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构
- PCB作用
使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发进程进行控制和管理的。
例如:进程调度;现场保护和恢复;进程同步和通信。
2.进程控制块中的信息
PCB中记录了操作系统所需的、用于描述进程当前情况以及控制进程运行的全部信息。具体包括下述四方面的信息:
- 进程标识符
内部标识符(进程号);外部标识符(名);
父进程标识及子进程标识;用户标识
- 处理机状态
处理机状态信息主要由处理机的各种寄存器中的内容组成的。寄存器包括:通用寄存器、指令计数器、程序状态字(PSW)寄存器、用户栈指针。(保护、恢复现场)
当处理机被中断时,这些信息都必须保存到PCB中,以便该进程重新执行时,能从断点继续执行。
3)进程调度信息:
在PCB中还存放一些与进程调度和进程对换有关的信息。包括:
- 进程状态——作为调度和对换时的依据。
- 进程优先级——由于描述进程使用处理机的优先级别的一个整数,优先级高的进程优先获得处理机。
- 进程调度所需的其它信息——它们与所采用的进程调度算法有关。……
- 事件——即阻塞原因。
- 进程控制信息
程序和数据的地址——指程序和数据所在的内存或外存首地址;
进程同步和通信机制——如信号量、消息队列指针等,它们可能全部或部分地存放在PCB中;
资源清单——是一张列出了除CPU外的、进程所需的全部资源及已经分配到该进程的资源的清单;
链接指针——它给出本进程(PCB)所在队列中下一个进程的PCB的首址。
3.进程控制块的组织方式
常用的组织方式有两种:链接方式和索引方式
2)索引方式:
计算机操作系统(7):进程的基本概念相关推荐
- 计算机操作系统之进程
目录 进程的定义 基本概念 进程实体与进程 PCB的组成 进程的组织 链接方式 索引方式 进程的特征 进程的状态 进程的三种基本状态 进程的另外两种状态 进程状态的转换 进程控制 何谓进程控制 如何实 ...
- 计算机操作系统——经典进程的同步问题
计算机操作系统--信号量机制与经典进程的同步问题 信号量机制 随着发展,信号量从整型信号量经记录型信号量,进而发展为"信号量集"机制. 一般来说,信号量的值与相应的资源的使用情况有 ...
- 计算机操作系统之进程与线程
⭐️前面的话⭐️ 本篇文章将介绍计算机操作系统的相关内容,主要内容有进程,进程调度,并行与并发的概念,进程间通信,进程与线程的区别.
- 【计算机操作系统】-进程切换什么时候会发生呢?
进程切换一定发生在中断/异常/系统调用处理过程中,常见的有以下情况: 时间片中断.IO中断后 更改优先级进程:(导致被中断进程进入就绪态): 阻塞式系统调用.虚拟地址异常:(导致被中断进程进入等待态) ...
- 计算机操作系统和进程
✨个人主页:bit me
- 计算机操作系统 - 目录
计算机操作系统 概述 进程管理 死锁 内存管理 设备管理 链接 参考资料 Tanenbaum A S, Bos H. Modern operating systems[M]. Prentice Hal ...
- 【Linux】冯诺依曼体系结构、操作系统及进程概念
文章目录 一.冯诺依曼体系结构 二.操作系统(OS) 三.系统调用和库函数 四.进程 4.1概念 4.2描述进程-PCB 4.3查看进程 4.4与系统相关的系统调用 4.5系统调用获取进程标示符 4. ...
- 【计算机操作系统基本概念】
1.计算机操作系统的概念 计算机操作系统是指控制和管理计算机的软.硬件资源,合理组织计算机的工作流程,方便用户使用的程序集合. 2.操作系统的功能 1)处理机管理 2)存储管理 3)设备管理 4)文件 ...
- 计算机考研复试面试问答整理(计算机网络、数据结构、操作系统、数据库、热点概念)
包含数据结构.计算机网络.操作系统.数据库.热点概念 数据结构 1.顺序存储和链式存储优缺点比较 ① 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一):要求内存中可用存储单元的地址必须是连续 ...
最新文章
- SpringBoot之配置嵌入式Servlet容器
- 第32题 最长匹配括号
- 只要一句话、一段文字,想让奥巴马说啥他就说啥
- osm2pgsql windows “illegal option -W” error
- 各个国家的市场分析(摩洛哥,德国)
- 编程的一些快捷键(转帖)
- CABasicAnimation x y z 轴旋转动画
- js call(),apply(),对象冒充,改变变量作用域
- git小技巧之分支、关联远程仓库、回滚、解决.gitignore不生效等
- C++:C++中public protected private关键字用法
- 流行插件 jQuery 被曝存在漏洞达三年之久!
- conformal mapping的理解
- Windows To Go,让Windows 8移动起来!
- Json.Net学习笔记(十) 保持对象引用
- zjoi2018day1 游记
- Hdu1412 (set......Java)
- 红米note4x装linux,红米Note4X自己安装Magisk的过程
- 国内各银行间异地汇款手续费对照表
- 作业:pytorch实现图卷机网络,与随机梯度下降法实现
- [快讯]致铭主板促销免费赠送Q版暖水袋
热门文章
- NPOI读取Excel生成DataTable转为Json后利用LitJons读取
- python导入sas数据集_运用import过程进行SAS数据导入完全实用教程
- java排序算法大全_各种排序算法的分析及java实现
- postgres 退出_postgresql – 如何修复Postgres以便在突然关闭后启动它?
- 计算机操作系统实验银行家算法,实验六 银行家算法(下)
- java参数传入的是一个类名_Java编程细节——泛型的定义(类、接口、对象)、使用、继承...
- WordPress 获取当前页面 ID 的几大方法
- Shell 脚本知识回顾 (一) —— 基础篇
- Controller向View传值方式总结
- c++中BOOL和bool的区别