2.1.1 操作系统之进程的定义、特征、组成、组织

文章目录1.进程的定义(1)程序的概念(2)进程的概念(2)进程的定义2.进程的特征3.进程的组成4.进程的组织(1)链接方式(2)索引方式1.进程的定义(1)程序的概念(2)进程的概念一个进程可以包含多个程序(2)进程的定义2.进程的特征3.进程的组成而其中最重要的就是进程控制块PCB(ProcessControlBlock)PCB简介:&nbsp…

大家好,又见面了,我是你们的朋友全栈君。


1.进程的定义

(1)程序的概念

在这里插入图片描述

(2)进程的概念

在这里插入图片描述

  • 进程和程序的区别和联系:

区别:
1)进程是动态的;程序是静态的。
(2)进程有独立性,能并发执行;程序不能并发执行。
(3)二者无一一对应关系。
(4)进程异步运行,会相互制约;程序不具备此特征。
但是,进程与程序又有密切的联系: 进程不能脱离具体程序而虚设, 程序规定了相应进程所要完成的动作。
(5)组成不同。进程包含PCB、程序段、数据段。程序包含数据和指令代码。
(6)程序是一个包含了所有指令和数据的静态实体。本身除占用磁盘的存储空间外,并不占用系统如CPU、内存等运行资源。
(7)进程由程序段、数据段和PCB构成,会占用系统如CPU、内存等运行资源。
(8)一个程序可以启动多个进程来共同完成。
联系:进程不能脱离具体程序而虚设, 程序规定了相应进程所要完成的动作。

(3)进程的定义

在这里插入图片描述

2.进程的特征

在这里插入图片描述

3.进程的组成

在这里插入图片描述

  • 而其中最重要的就是进程控制块PCB(Process Control Block)

  • PCB简介:
            PCB中记录了操作系统所需的,用于描述进程的当前情况以及控制进程运行的全部信息。
            PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。
            或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。
            例如,当OS要调度某进程执行时,要从该进程的PCB中查处其现行状态及优先级;在调度到某进程后,要根据其PCB中所保存的处理机状态信息,设置该进程恢复运行的现场,并根据其PCB中的程序和数据的内存始址,找到其程序和数据;
            进程在执行过程中,当需要和与之合作的进程实现同步,通信或者访问文件时,也都需要访问PCB;
            当进程由于某种原因而暂停执行时,又须将器断点的处理机环境保存在PCB中。
            可见,在进程的整个生命期中,系统总是通过PCB对进程进行控制的,即系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的。
            所以说,PCB是进程存在的唯一标志。

PCB通常包含的内容:
在这里插入图片描述

4.进程的组织

在这里插入图片描述

(1)链接方式

在这里插入图片描述

(2)索引方式

在这里插入图片描述

参考:

  • https://baike.baidu.com/item/PCB/16067368
  • https://www.bilibili.com/video/av70156862?p=7
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129200.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • app测试常用工具(最常用的软件测试工具)

    随着移动互联网的高速发展,App应用非常火,测试工程师也会接触到各种app应用。除了人工测试之外,也可以通过一些测试工具来提高我们的测试效率,以下对于我用过或听过的app测试工具做了一个统一整理,欢迎补充。一、APP自动化测试工具Appium官网:http://appium.io/GitHub地址:https://github.com/appium/appium介绍:Appium是一个开源的、跨平台的自动化测试工具。支持自动化iOS,Android和Window

    2022年4月15日
  • redis过期删除机制(redis过期策略和删除策略)

    在Redis中,内存的大小是有限的,所以为了防止内存饱和,需要实现某种键淘汰策略。主要有两种方法,一种是当Redis内存不足时所采用的内存释放策略。另一种是对过期键进行删除的策略,也可以在某种程度上释放内存。1、内存释放的策略Redis中有专门释放内存的函数:freeMmoryIfNeeded。每当执行一个命令的时候,就会调用该函数来检测内存是否够用。如果已用内存大于最大内存限制,它就会进行内存释…

    2022年4月17日
  • python 自动化操作 模块_自动化的基本原理

    python 自动化操作 模块_自动化的基本原理1)什么是xlrd模块?python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel(excelread),xlwt是写excel(excelwrite)的库。(2)为什么使用xlrd模块?在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用。xlrd模块可以用于读取Excel的数据,速度非常快,推荐使用!常用单元格的数据类型empty(空的)numberdatebooleanerrorblank(空白表格)导入模块常用的函数。…

    2022年9月26日
  • CS模型下载_利益相关者模型

    CS模型下载_利益相关者模型当前统计模型,CS模型基于当前统计模型的无迹卡尔曼滤波目标基于当前统计模型的容积卡尔曼滤波目标机动目标跟踪——当前统计模型(CS模型)1.对机动目标跟踪的理解1.1.对机动目标跟踪的理解1.2.目标模型概述2.”当前”统计CS模型3.”当前”统计CS模型3.1.”当前”统计CS模型(连续)3.2.”当前”统计CS模型(离散)3.3.”当前”统计CS模型分析4.”当前”统计CS模型(二维)4.1.”当前”统计CS模型(连续)………………

    2022年9月17日
  • exe免杀c语言,CobaltStrike shellcode免杀捆绑exe思路[通俗易懂]

    exe免杀c语言,CobaltStrike shellcode免杀捆绑exe思路[通俗易懂]这里演示的方式为shellcode框架加载自解压1.生成shellcode2.c加载(随便拉的加载器)#include#include#pragmacomment(linker,”/subsystem:\”windows\”/entry:\”mainCRTStartup\””)unsignedcharshellcode[]=”\xfc\xe8\x89\x00\x00\x00\x60\…

    2022年8月22日
  • mongodb创建数据库命令_下载mongodb怎么创建仓库

    mongodb创建数据库命令_下载mongodb怎么创建仓库MongoDB创建数据库1.打开mongoshell2.创建数据库3.卸载数据库MongoDB与关系型数据相比,首先,它们都是数据库;但是型数据库是用表(table)来存储数据,MongoDB则用集合(Collection)来存;关系型数据的表的记录是行(Row),则MongoDB的集合的记录则是文档(Document);关系型数据库的表里每一条记录都由若干列(Column)组成,而MongoDB的集合中每个文档都由若干字段(Field)组成。1.打开mongoshell$mongo2.创建

    2022年10月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号