王道《操作系统》学习(二)—— 进程管理(一)

news2025/8/6 19:02:49

2.1 进程的概念、组成、特征、组织

在这里插入图片描述
在这里插入图片描述

2.1.1 进程的概念

在这里插入图片描述
这里像QQ这个程序执行了多次,虽然名字一样,但是它们的PID不同

2.1.2 进程的组成

在这里插入图片描述

(1)PCB

在这里插入图片描述
在这里插入图片描述

(2)程序段 和 数据段

在这里插入图片描述

小例子:程序是如何执行的?

在这里插入图片描述
在这里插入图片描述

2.1.3 进程的特征

在这里插入图片描述

2.1.4 进程的组织

在这里插入图片描述

(1)链接方式

在这里插入图片描述

(2)索引方式

在这里插入图片描述

2.2 进程的状态与转换

在这里插入图片描述
在这里插入图片描述

2.2.1 进程的状态

(1)三种基本状态:运行、就绪、阻塞

在这里插入图片描述

(2)另外两种状态:创建态、终止态

在这里插入图片描述

  • 创建态

在这里插入图片描述

  • 终止态
    在这里插入图片描述

2.2.2 进程状态的转换

在这里插入图片描述

2.3 进程控制

在这里插入图片描述
在这里插入图片描述

2.3.1 基本概念

(1)什么是进程控制?

在这里插入图片描述

(2)如何实现进程控制?

在这里插入图片描述
在这里插入图片描述

(3)如何实现原语的原子性

在这里插入图片描述
在这里插入图片描述

2.3.2 控制进程的相关原语

在这里插入图片描述
在这里插入图片描述

(1)进程的创建

在这里插入图片描述

(2)进程的终止

在这里插入图片描述

(3)进程的阻塞和唤醒

在这里插入图片描述

(4)进程的切换

在这里插入图片描述

知识滚雪球:程序如何运行的?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
。。。。。。。依次执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4 进程通信

在这里插入图片描述
在这里插入图片描述

2.4.1 什么是进程通信?

在这里插入图片描述

2.4.2 进程通信——共享存储

(1)基于数据结构的共享

(2)基于存储区的共享

在这里插入图片描述

2.4.3 进程通信——管道通信

在这里插入图片描述

2.4.4 进程通信——消息传递

(1)直接通信方式

(2)间接通信方式

在这里插入图片描述

2.5 线程的概念和特点

在这里插入图片描述

2.5.1 什么是线程,为什么要引入线程?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5.2 线程的特性和优点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5.3 线程的属性

在这里插入图片描述

2.5.4 其他一些需要注意的地方

在这里插入图片描述

2.5.5 引入进程机制后有什么变化

在这里插入图片描述

2.6 线程的实现方式和多线程模型

在这里插入图片描述
在这里插入图片描述

2.6.1 线程的实现方式

(1)用户级线程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)内核级线程

在这里插入图片描述
在这里插入图片描述

2.6.2 多线程模型

(1)多对一模型

在这里插入图片描述

(2)一对一模型

在这里插入图片描述

(3)多对多模型

在这里插入图片描述

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

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

相关文章

Nacos实现配置中心

文章目录配置中心提供的基础功能Nacos实现配置中心1、在配置文件增加配置(application.yml)2、使用Value来引用配置使用配置中心,怎样的配置方式呢一、安装nacos二、启动服务发现1、引入依赖2、配置文件3、开启服务注册发现功能4、启动服务三…

quarkus 生产环境与k8s集成总结

quarkus 生产环境与k8s集成总结 大纲 基础准备quarkus2.13.7脚手架工程配置GraalVM-java11 安装配置配置maven3.8.7linux环境下云原生二进制文件打包环境搭建编译运行quarkus二进制文件quarkus二进制文件制作为docker镜像并运行使用k8s部署quarkus二进制文件 基础准备 生产…

手把手交叉编译mysql

1.下载mysql(注意下载boost版本,这样会少一步编译) 下载mysql的时候一定要看好交叉编译工具链的版本。因为mysql 8.0需要的工具链版本较高,所以有可能不支持 查看链接如下: MySQL :: MySQL 8.0 Reference Manual :: …

InstructGPT方法简读

InstructGPT方法简读 引言 仅仅通过增大模型规模和数据规模来训练更大的模型并不能使得大模型更好地理解用户意图。由于数据的噪声极大,并且现在的大多数大型语言模型均为基于深度学习的“黑箱模型”,几乎不具有可解释性和可控性,因此&…

「SAP ABAP」OPEN SQL(四)【FROM语句】

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后…

CIMCAI port ai shipping ai artificial intelligence smart port

上海人工智能独角兽中集集团高科技中集飞瞳,是全球应用落地最广,规模最大,最先进的的港航人工智能高科技企业,工业级成熟港航人工智能产品全球规模化落地应用,全球前三大船公司及港口码头应用落地。上海人工智能独角兽…

3.4 按键控制LED灯光敏传感器控制蜂鸣器

按键控制LED灯1.1 按键连接示意图1.2 代码设计1.21 设计思路我们要实现按键控制led,我们需要完成LED和按键驱动代码,但如果把这两部分代码都混在主函数里面,那么代码显得过于杂乱,不容易管理和移植,所以对于这种驱动代…

记一次反射型XSS

记一次反射型XSS1.反射型XSS1.1.前言1.2.测试过程1.3.实战演示1.3.1.输入框1.3.2.插入代码1.3.3.跳转链接2.总结1.反射型XSS 1.1.前言 关于这个反射型XSS,利用的方式除了钓鱼,可能更多的就是自娱自乐,那都说是自娱自乐了,并且对系…

Maxscale读写分离实施文档

Maxscale介绍 MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以根据主从状态实现写库的自动切换。 使用Maxscale无需对业务代码进行修改,其自带的读写分离模块,能够解析SQL语句&…

DD-1/40 10-40mA型【接地继电器】

系列型号: DD-1/40接地继电器 DD-1/50接地继电器 DD-1/60接地继电器 一、 用途及工作原理 DD-1型接地继电器为瞬时动作的过电流继电器,用作小电流接地电力系统高电压三相交流发电机和电动机的接地零序过电流保护。继电器线圈接零序电流互感器(电缆式、母…

Vue动态粒子特效插件(背景线条吸附动画)

目录 效果图: 一、安装: 二、引入 main.js 文件: 三、使用: 四、属性说明: 效果图: 一、安装: npm install vue-particles --save 二、引入 main.js 文件: import VueParticles…

【C++】30h速成C++从入门到精通(多态)

多态的概念多态:通俗来说就是多种心态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。多态的定义及实现多态的构成条件多态是在不同继承关系的类对象,去调用同意函数,产生了不同的行为&#xff0…

C/C++每日一练(20230307)

目录 1. 国名排序 ★★ 2. 重复的DNA序列 ★★★ 3. 买卖股票的最佳时机 III ★★★ 🌟 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 ​专栏 1. 国名排序 小李在准备明天的广交会,明天有来自世界各国的客房跟他们谈生意&#xff0c…

结合基于规则和机器学习的方法构建强大的混合系统

经过这些年的发展,我们都确信ML即使不能表现得更好,至少也可以在几乎所有地方与前ML时代的解决方案相匹配。比如说一些规则约束,我们都会想到能否把它们替换为基于树的ml模型。但是世界并不总是黑白分明的,虽然机器学习在解决问题…

spring boot actuator 动态修改日志级别

1 日志级别 Spring Boot Actuator包括在运行时查看和配置应用程序日志级别的功能。您可以查看整个列表,也可以查看单个记录器的配置,该配置由显式配置的日志级别和日志框架给出的有效日志级别组成。这些级别可以是: TRACEDEBUGINFOWARNERRORFATALOFFnu…

ruoyi-pro 代码生成api,swagger扫描不到

背景 重新创建一个新的maven工程,按照芋道源码ruoyi-pro官方文档生成代码后,新的maven工程目录下的接口不能被swagger扫描到,swagger-ui不显示新增的maven工程模块下的api。 解决方法 新增maven工程类中,新增swagger扫描配置类…

JavaWeb--用户登录注册案例

用户登录注册案例4.1 需求分析4.2 用户登录功能4.3 记住我-设置Cookie4.4 记住我-获取Cookie4.5 用户注册功能4.6 验证码-展示4.7验证码-校验4.8 测试目标 理解什么是会话跟踪技术掌握Cookie的使用掌握Session的使用完善用户登录注册案例的功能 4.1 需求分析 需求说明&#xf…

循环队列的实现

我们知道队列的实现可以用单链表和数组,但是循环链表也可以使用这两种方式。首先我们来看看单链表:首先使用单链表,我们需要考虑循环队列的一些特点。单链表实现循环队列我们要考虑几个核心问题:首先我们要区别 解决 空 和 满 的问…

一文吃透 SpringMVC 中的转发和重定向

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

CameraLink备忘录

首先来看看MDR26的引脚定义 从正面看进去,插头端,放置成倒梯形。 上排,从左到右,1到13, 下排,从左到右,14到26. 插座端,是镜像对称关系。 从正面看进去,插座端&#xf…