操作系统笔记(关于进程引入和状态的切换)

1.前言

今天下午结束了英语的四六级考试,终于是结束了,最近的这个考试太密集,周四的专业基础课考试,周五的这个线性代数的考试和这个周六的英语四六级考试,吧我都要烤焦了,最近也是疲于应对这个考试,所以状态不佳,今天考试时告一段落了,我也终于是可以腾出时间去做一些自己喜欢的这个事情了;

记下来直到开始之前的这个时间我应该不会太忙,我觉得,因为基本上就没啥任务了,就是复习,尤其是这个操作系统和组成原理,但是这个复习过程对于我而言并没有很大的这个压力,因为在这个复习的过程中如果对于之前学习的这个内容有了新的理解和体会,我就可以写一写自己的这个理解和体会了,不像这个英语和数学,写不了文章,自己一个人学,挺没劲的,而且学校给考试范围,这个显得这个考试就很没有水平,得过且过吧,从今天开始就复习这个操作系统和组成原理,今天的是操作系统

2.并发和并行

在计算机这个学科里面,无数次学到这个概念,但是似乎每一次学习的时候都是新知识,如何从宏观和微观上面去进行理解,似乎这个本来就是一个难以捉摸的话题;

在我们的日常生活里面,看似我们的这个操作系统上面同时运行这个QQ音乐,微信,浏览器多个进程,实际上这个只是我们的宏观上面的感觉罢了,实际上这个切换的速度非常之快,所以微观上面还是挨个进行执行的;

这个就是我们的并发:即多个时间是按照一定的顺序发生的,也就是下面的这个解释里面的时间间隔,并行就是同时发生,针对于这个时间间隔,我觉得可以进行区分和辨别;

image-20250614204227355

并行性:多个CPU同时存在,分别调度不同的这个进程;单处理机的情况下一次只能执行一个进程;但是如果存在多个CPU,这个时候实际上就是并行执行的,相当于是五个人,五个滑滑梯,每一个人从自己对应的这个滑滑梯上面滑下来;

并发就是五个人,一个滑滑梯,每一个人都需要按照一定的这个顺序从这个滑滑梯上面滑下来;

image-20250614204329554

3.多道批处理和分时系统

多道批处理:多个程序同时进入内存,在CPU上面轮流执行,实现我们的资源的共享,但是这个缺点就是没有交互的过程,我们的用户把需要执行的这个任务交给CPU之后,就只剩下漫长的等待了;

为了解决上面的这个无法进行交互的问题,我们又引入了分时系统,这个时候我们的用户可以使用终端盒我们的CPU进行交互,但是这个时候同样存在缺点,就是无法执行紧急任务;

[!note] 两者区别
是否可以进行这个用户和CPU之间的交互,是两者之间的一个显著的区别,但是分时可以交互却无法解决实时问题;

4.用户态和核心态

这个概念我也是学了很久,今天终于“识得庐山真面目”,这个让我非常的欣喜,两个状态我也知道,这个程序状态字寄存器我也知道(计算机组成原理里面学习的),今天居然在他们之间建立了联系,这个真的是非常欣喜(反正挺高兴的);

何谓用户态,何为核心态,我们的这个寄存器是如何使用不同的标志位对于这两种状态进行表示的;

image-20250614212655809

5.进程的引入

进程就是运行的程序的执行的过程,在我们的笔记本里面的任务管理器当中就可以看到我们的电脑当前的这个进程的具体情况和每一个进程的详细的信息;

下面的这个你可以很明显的看到两个腾讯QQ,这个就说明相同的程序,我们两次打开的时候,他在我们的这个系统里面是两个不同的进程(虽然是相同的程序),但是他们的本质还是存在着区别的;

image-20250614215851016

每一个进程的详细信息包含下面的这些内容:进程的名称运行的状态,以及PID进程编号等等,详细的信息在这个任务管理器里面也是可以查看的;

下面的这个就是进程实体的基本的组成的成分,进程控制块也就是我们更加熟悉的这个PCBprocess control block进程控制块);

image-20250614230538048

6.进程的不同状态和状态的转换

下面的这个图里面涉及到的就是我们的进程的不同状态之间的切换的过程:

其中我觉得不容易记忆的就是阻塞的状态,其实就是我们的进程执行的时候需要请求这个打印机相关的资源,因此这个时候需要先去执行打印机的相关内容,这个时候为了不让我们的CPU利用率降低,这个进程就会让出CPU,让其他的进程去继续执行,这个时候我们的当前进程就是进入了阻塞态

进入阻塞态,当这个打印机执行结束之后,我们的这个进程可以去执行了,但是这个时候他不可以直接转换到这个执行状态上面去,而是进入就绪状态,因为之前他已经把这个CPU让给其他的进程了,所以他需要进入就绪态等待执行CPU;

image-20250614231039981

[!abstract] 主动和被动的行为
我们更需要了解的就是执行到阻塞这个是主动让出CPU的过程,而这个阻塞到就绪则是一个被动的行为,因为我们的打印接告诉这个进程你可以继续执行了,我们的进程才可以结束这个阻塞的状态,转换到就绪状态去,因此,这个是一个被动的行为

挂起状态:把我们的进程放到外存里面去(当我们的这个进程不需要执行的时候)这样会更加方便我们对于内存里面的进程进行管理(生活里面也有,安装360类似的会有一个小球球,显示我们的电脑的这个内存的使用情况,这个其实道理就是类似的);

image-20250614232138280

[!cite] 浅浅总结
其实操作系统的第一讲基本上就是全局概览,这个里面涉及到了很多的琐碎的知识,我都没过多涉及(就是大致了解了一下),直接进入这个进程的学习了;

文章推荐
05年,20岁,还是没能脱下孔乙己的长衫👈️
当实验报告变成 “形式主义之下的AI大赛”:大学生的时间,不该浪费在实验报告上面👈️
普通工厂模式是青铜,抽象工厂模式是王者?这场设计模式 battle 太精彩👈️
纵使AI使用千万种修辞手法,也写不出人类独有的精神密码–2025新高考一卷语文作文测评👈️
cursor还能绘制文章的架构图,太酷了👈️

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

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

相关文章

M1芯片macOS安装Xinference部署大模型

如果你看的是官方手册:安装 — Xinference 千万不要直接运行: pip install "xinference[all]" 会遇到几个问题: 1)Python版本如果太新可能安装失败 2)全量安装会失败 3)未科学上网可能会time…

【ONNX量化实战】使用ONNX Runtime进行静态量化

目录 什么是量化量化实现的原理实战准备数据执行量化 验证量化结语 什么是量化 量化是一种常见的深度学习技术,其目的在于将原始的深度神经网络权重从高位原始位数被动态缩放至低位目标尾数。例如从FP32(32位浮点)量化值INT8(8位…

【量子计算】格罗弗算法

文章目录 🔍 一、算法原理与工作机制⚡ 二、性能优势:二次加速的体现🌐 三、应用场景⚠️ 四、局限性与挑战🔮 五、未来展望💎 总结 格罗弗算法(Grover’s algorithm)是量子计算领域的核心算法之…

C++ 互斥量

在 C 中,互斥量(std::mutex)是一种用于多线程编程中保护共享资源的机制,防止多个线程同时访问某个资源,从而避免数据竞争(data race)和不一致的问题。 🔒 一、基础用法:s…

CSS Content符号编码大全

资源宝整理分享:​https://www.httple.net​ 前端开发中常用的特殊符号查询工具,包含Unicode编码和HTML实体编码,方便开发者快速查找和使用各种符号。支持基本形状、箭头、数学符号、货币符号等多种分类。 前端最常用符号 图标形状十进制十…

RPC常见问题回答

项目流程和架构设计 1.服务端的功能: 1.提供rpc调用对应的函数 2.完成服务注册 服务发现 上线/下线通知 3.提供主题的操作 (创建/删除/订阅/取消订阅) 消息的发布 2.服务的模块划分 1.网络通信模块 net 底层套用的moude库 2.应用层通信协议模块 1.序列化 反序列化数…

【JavaEE】(3) 多线程2

一、常见的锁策略 1、乐观锁和悲观锁 悲观锁:预测锁冲突的概率较高。在锁中加阻塞操作。乐观锁:预测锁冲突的概率较低。使用忙等/版本号等,不产生阻塞。 2、轻量级锁和重量级锁 重量级锁:加锁的开销较大,线程等待锁…

创客匠人服务体系解析:知识 IP 变现的全链路赋能模型

在知识服务行业深度转型期,创客匠人通过 “工具 陪跑 圈层” 的三维服务体系,构建了从 IP 定位到商业变现的完整赋能链条。这套经过 5 万 知识博主验证的模型,不仅解决了 “内容生产 - 流量获取 - 用户转化” 的实操难题,更推动…

国产ARM/RISCV与OpenHarmony物联网项目(六)SF1节点开发

一、终端节点功能设计 1. 功能说明 终端节点设计的是基于鸿蒙操作系统的 TCP 服务器程序,用于监测空气质量并提供远程控制功能。与之前的光照监测程序相比,这个程序使用 E53_SF1 模块(烟雾 / 气体传感器),主要功能包…

Plotly图表全面使用指南 -- Displaying Figures in Python

文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。 在 Python 中显示图形 使用 Plotly 的 Python 图形库显示图形。 显示图形 Plotly的Python图形库plotly.py提供了多种显示图形的选项和方法…

getx用法详细解析以及注意事项

源码地址 在 Flutter 中,Get 是来自 get 包的一个轻量级、功能强大的状态管理与路由框架,常用于: 状态管理路由管理依赖注入(DI)Snackbar / Dialog / BottomSheet 管理本地化(多语言) 下面是 …

深度学习:人工神经网络基础概念

本文目录: 一、什么是神经网络二、如何构建神经网络三、神经网络内部状态值和激活值 一、什么是神经网络 人工神经网络(Artificial Neural Network, 简写为ANN)也简称为神经网络(NN),是一种模仿…

Unity2D 街机风太空射击游戏 学习记录 #12环射道具的引入

概述 这是一款基于Unity引擎开发的2D街机风太空射击游戏,笔者并不是游戏开发人,作者是siki学院的凉鞋老师。 笔者只是学习项目,记录学习,同时也想帮助他人更好的学习这个项目 作者会记录学习这一期用到的知识,和一些…

网站如何启用HTTPS访问?本地内网部署的https网站怎么在外网打开?

在互联网的世界里,数据安全已经成为了每个网站和用户都不得不面对的问题。近期,网络信息泄露事件频发,让越来越多的网站开始重视起用户数据的安全性,因此启用HTTPS访问成为了一个热门话题。作为一名网络安全专家,我希望…

计算机网络-----详解网络原理TCP/IP(上)

文章目录 📕1. UDP协议✏️1.1 UDP的特点✏️1.2 基于UDP的应用层协议 📕2. TCP协议✏️2.1 TCP协议段格式✏️2.2 TCP协议特点之确认应答✏️2.3 TCP协议特点之超时重传✏️2.4 TCP协议特点之连接管理✏️2.5 TCP协议特点之滑动窗口✏️2.6 TCP协议特点…

Lora训练

一种大模型高效训练方式&#xff08;PEFT&#xff09; 目标&#xff1a; 训练有限的ΔW&#xff08;权重更新矩阵&#xff09; ΔW为低秩矩阵→ΔWAB&#xff08;其中A的大小为dr, B的大小为rk&#xff0c;且r<<min(d,k)&#xff09;→ 原本要更新的dk参数量大幅度缩减…

蓝牙 5.0 新特性全解析:传输距离与速度提升的底层逻辑(面试宝典版)

蓝牙技术自 1994 年诞生以来,已经经历了多次重大升级。作为当前主流的无线通信标准之一,蓝牙 5.0 在 2016 年发布后,凭借其显著的性能提升成为了物联网(IoT)、智能家居、可穿戴设备等领域的核心技术。本文将深入解析蓝牙 5.0 在传输距离和速度上的底层技术逻辑,并结合面试…

Minio使用https自签证书

自签证书参考&#xff1a;window和ubuntu自签证书_windows 自签证书-CSDN博客 // certFilePath: 直接放在 resources 目录下 或者可以自定实现读取逻辑 // 读取的是 .crt 证书文件public static OkHttpClient createTrustingOkHttpClient(String certFilePath) throws Excep…

汽车前纵梁焊接总成与冲压件的高效自动化三维检测方案

汽车主体结构件上存在很多安装位&#xff0c;为保证汽车装配时的准确性&#xff0c;主体结构件需要进行全方位的尺寸和孔位置精度检测&#xff0c;以确保装配线的主体结构件质量合格。 前纵梁焊接总成是车身框架的核心承载部件&#xff0c;焊接总成由多片钣金冲压件焊接组成&a…

F接口基础.go

前言&#xff1a;接口是一组方法的集合&#xff0c;它定义了一个类型应该具备哪些行为&#xff0c;但不关心具体怎么实现这些行为。一个类型只要实现了接口中定义的所有方法&#xff0c;那么它就实现了这个接口。这种实现是隐式的&#xff0c;不需要显式声明。 目录 接口的定…