进程调度的基本关系

news2025/7/23 8:12:04

文章目录

  • 1.什么是进程(process)
  • 2.进程的特性
    • 1.进程是非常重要的"软件资源"
    • 2.PCB(进程控制块)描述了哪些进程特征
  • 3.并行和并发
  • 4.进程的虚拟地址空间和进程间通信

1.什么是进程(process)

简单来说就是:一个程序跑起来就是一个进程
一个应用没跑起来叫做程序,跑起来了就叫作进程.
在这里插入图片描述

在这里插入图片描述

打开任务资源管理器就可以看到有哪些程序在运行,即进程;进程也可以叫做任务(task);
进程是操作系统资源分配的基本单位
在这里插入图片描述

举个例子:小明要开一个纺织厂,纺织厂里面又有许多条生产线,而一个纺织厂就相当于一个进程,即小明所拥有的资源
在这里插入图片描述


2.进程的特性

1.进程是非常重要的"软件资源"

进程是由操作与系统进行管理的,管理主要是描述进程 (进程有哪些属性特征) +组织 (将这些进程串起来)

描述+组织=>调度

描述:主要使用结构体来描述进程我们把他叫做PCB(进程控制块)
组织:通过一个双向链表,把多个PCB串在一起
创建一个进程,本质上就是创建一个PCB结构体对象,并将它插入链表中;
销毁一个进程,本质上就是把链表上的PCB结点删除
在任务管理器上查看到的进程列表,本质上就是遍历这个PCB链表;


2.PCB(进程控制块)描述了哪些进程特征

在这里插入图片描述

操作系统里面有一个很重要的模块调度器,就是负责让有限的CPU来调度执行很多进程;
在这里插入图片描述

3.并行和并发

下面来描述一个非常容易混淆的概念
因为cpu的资源不好分割,但是我们的现在CPU都是多核心CPU,本质上是希望这些进程可以"同时运行",“分时复用”
下面就有个很容易混淆的概念:并行和并发

并行:微观上是同一时刻,两个核心上的进程同时执行(因为一个核心同一时刻只能运行一个进程)
并发:微观上同一时刻只能运行一个进程,但是一个核心可以在多个进程之间进行快速切换,从而在宏观给我们一种多个进程同时运行的错觉


4.进程的虚拟地址空间和进程间通信

另外,程序获取的内存空间并非真正的内存空间,而是虚拟内存空间,主要是为了防止地址越界,一个程序的崩溃从而导致另外一个程序的崩溃:
如图所示:
在这里插入图片描述


问题:
既然进程之间的地址都是虚拟的,那么各个进程之间如何进行数据交互的呢?
实际上,进程之间的通信方式有很多,但是核心思想都是一样的.即搞一个多个进程都能访问到的"公共空间",基于这个公共空间来进行数据的交互

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

堆排序算法

一、大顶堆和小顶堆概念 堆排序是利用堆数据结构而设计的一种排序算法,堆排序是一种选择排序,其最坏,最好,平均时间复杂度均为O(nlogn),同时也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结点的值都…

Hive数据定义语言-DDL-建表高阶语法(内外部、分区、分桶、事务、视图、物化视图)

文章目录1. 内部表、外部表1.1 内部表1.2 外部表1.3 内、外部表差异1.4 Location关键字的作用2. 分区表-Partitioned Tables2.1 概念2.2 创建2.3 分区表数据加载2.3.1 静态分区2.3.2 动态分区2.4 注意事项3. 分桶表-Bucketed Tables3.1 概念3.2 规则3.3 语法3. 事务表-Transact…

编译openMVG出现的错误的解决

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> submodule(s) are missing, please update your repository 在使用CMake生成openMVG解决方案时,出现错误: CMake Error at CMakeL…

另眼看数据中台

目录 前言: 一、故事的开始 二、成也中台,败也中台 1、中台是什么 2、数据中台与企业数字化转型 3、中台的赋能 4、数据中台、业务中台、技术中台 5、中台不一定适合你 ​编辑​编辑小结: 三、 自检数据应用的成熟度 前言&#xff1…

Python学习基础笔记十二——文件

1、目的:是要将数据永久地保存下来,就需要将数据永久保存在硬盘中。 2、概念:文件就是操作系统提供给应用程序来操作硬盘虚拟接口,用户或应用程序通过操作文件,可以将自己的数据永久地保存下来。 3、步骤; …

MACU-Net-用于精细分辨率遥感图像语义分割网络

摘要: 在本文中我们结合了由不同层次的U-Net生成的多尺度特征,设计了一个多尺度跳跃连接和基于非对称卷积的网络--MACU-Net。 网络具有以下几个优点1)多尺度跳跃连接将低层和高层特征图中包含的语义特征结合并重新进行排列2)非对…

一文搞懂傅里叶级数与变换

描述 这篇文章的目标:以最简单易懂的方式,让大家学会傅里叶变换! 为什么要写一篇关于傅里叶变换相关知识的文章呢。有两个原因: 一、这个知识很有趣,可以理解它是一件炫酷的事情。在工作中,一次分享会同事…

BufferPool缓存机制

BufferPool缓存机制 1、更新数据流程 流程图 sql更新数据刷到磁盘前会经过serve层 连接器-管理连接和权限校验优化器-语法词法分析优化器-执行计划生成索引选择执行器-连接bufferPool 1.1 流程步骤 从磁盘加载数据到buffer pool,会先去判断要更新的数据所在数据…

Hantek6022BE 虚拟示波器

​ 0. Hantek 厂家提供的介绍 安装方法按照说明来。 很多人都说原厂的软件不好用,于是折腾就开始了: 1. VIRTINS Multi-Instrument 这个别人已经写的很详细了 大概需要准备 Multi-Ins 这软件,目前找到 3.7 的合用 菜单里 添加设备到库&a…

HTML+CSS详细知识点复习(上)

文章目录一、初识HTML1、标签概述二、初识CSS1、CSS核心基础2、设置文本样式3、高级特性4、CSS的优先级三、CSS选择器1、关系选择器四、盒子模型1、边框属性2、边距属性3、背景属性4、盒子的宽与高5、CSS3新增盒子模型属性一、初识HTML HTML(超文本标记语言&#x…

用Python采集世界杯球队热搜数据 并发送邮箱通知

前言 嗨嗨,最近世界杯的热度可是一直在增长啊 待会就是 卡塔尔和塞内加尔打了 怎么说 还是有点期待结果的 趁现在有点无聊 就想着用Python采集世界杯球队热搜数据 顺便 发送邮箱通知 话不多说,马上开始 知识点 动态数据抓包requests发送请求json数据…

【Proteus仿真】【51单片机】智能雨刷器设计

文章目录一、主要功能二、硬件资源三、软件设计四、实验现象联系作者一、主要功能 本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶模块、按键模块、雨滴传感器、ADC、LED模块等。 主要功能: 系统运行后,LCD1602显示雨刷器当前模式、…

如何制定测试团队度量体系

1、前言 每当月底或一个季度结束,公司或项目都会进行考核指标的统计,来总结每个组员在这个阶段的工作产出与绩效成绩。 那么制定哪些指标最为标准,最为专业,同时针对整个项目组都是公平的,这个就需要每个公司或项目根…

Python入门

目录 一、Python安装及环境搭建 二、Python运用(数据类型) 基本数据类型 引用数据类型 一、Python安装及环境搭建 Python环境安装包下载 https://www.python.org/ https://www.python.org/downloads/windows/ Python开发工具PyCharm下载 https://www.…

南卡和FIIL 哪个更好用?南卡和FIIL CC nano蓝牙耳机对比测评

作为一个狂热的蓝牙爱好者,我也用了不少蓝牙耳机了,真的是对蓝牙耳机爱不释手。自从蓝牙耳机出现以来,我们都看到了它的迅速发展,尤其是这两年,蓝牙耳机越来越受欢迎,已经取代了传统的有线耳机,…

1-10嵌入式Linux系统开发与应用|嵌入式Linux|第三章 Linux编程环境

目录 1.掌握Linux常用的基本命令功能、语法结构和用法示例 1.1linux编程环境 1.1.1系统平台环境 linux平台特性 1.1.2开发工具环境 1.1.3基于文模式的开发平台 1.1.4集成开发平台EclipseCDT 1.1.5文档帮助环境 1.2常用编辑器 1.2.1VIM编辑器 1.VIM的模式 2.VIM的启…

爆冷?黑马?这次用python来给你推测一波.....

人生苦短 我用python 在刚刚结束的2022年卡塔尔世界杯E组第一轮一场比赛中, 德国队爆冷1:2不敌日本队。 上半场,日本队门将权田修一出击扑倒劳姆送点, 京多安主罚命中先拔头筹; 下半场,堂安律门前补射为日本队扳平…

如何裁剪视频画面?快来看看这个详细教程

有什么简单的方法可以裁剪视频?现在有很多小伙伴都会在社交平台上发布自己的视频内容,分享自己的日常,那在编辑视频的时候肯定是会对视频内容进行剪切的,那么怎么裁剪视频呢?有哪些简单的方法可以裁剪视频呢&#xff1…

Selenium基础 — TMLTestRunner测试报告

目录 1、HTMLTestRunner介绍 2、HTMLTestRunner的使用 3、测试报告示例 4、封装成模块 1、学习思路和方法 2、想学习却无从下手,该如何学习? 3、软件测试/自动化测试【全家桶装】学习中的工具、安装包、插件.... 4、有了安装包和学习资料&#x…

javaweb JAVA JSP零食销售系统购物系统ssm购物系统购物商城系统源码(ssm电子商务系统)网上零食在线销售

JSP零食销售系统购物系统ssm购物系统购物商城系统源码(ssm电子商务系统)网上零食在线销售