深度理解linux系统—— 了解操作系统
一、冯诺依曼体系结构
现在我们常见的计算机(笔记本电脑等)和不常见的计算机(服务器)它们都满足冯诺依曼体系。
我们可以把计算机理解成一个个硬件组成的
- 输入设备:键盘、鼠标、摄像头、网卡、磁盘等
- 输出设备:显示屏、打印机、网卡、磁盘等
- 中央处理器
CPU
: 运算器+控制器- 存储器:本质就是内存
理解输入输出
IO
:Input/Output
<->IO
,我们要站在内存的角度去理解,将数据输入到内存这是输入Input
;将数据从内存输出,这是输出Output
。
1. 理解软件(程序)运行为什么要加载到内存?
我们知道软件(程序)在运行之前,必须要先加载到内存,但是我们不知道这为什么?
了解了冯诺依曼体系结构,就知道了为什么,因为体系结构规定了。
程序在加载到内存之前,在哪?很显然在磁盘中(也就是外存)
通过观察冯诺依曼体现结构,我们能够发现,
CPU
只能在内存中读取和写入数据;那我们的程序要像在CPU
中运行,那就必须要先加载到内存中。
那程序要加载到内存中,这不就是将数据(我们写的代码也是数据)输入到内存(Input
)操作吗(简单来说,就是将数据拷贝到内存中)。
3. 内存
看到这里,我们可能有一个疑问:为什么要有内存呢?
CPU
直接从输入设备
中读取数据,然后将数据输出到输出设备
不也可以吗?
对于整个问题,我们要考虑一个问题,我们CPU
处理数据是速度是很快的,如果我们CPU
直接和输入输出设备进行数据交互,那我们整体效率就取决于输入输出设备的效率的;
所以要存在内存,我们CPU
从内存中读取数据,这样可以平衡我们输入输出设备和CPU
之间的速度差距(在程序运行之前通过特定的算法将数据先加载到内存)。
那这里我们理解了,还有一个疑问,CPU
之和内存进行数据交互,那为什么不直接使用内存来存储数据呢?
简单来说,就是内存太贵了,如果全部使用内存来存储数据,那一台计算机的价格就非常高了。
2.理解数据流动
在冯诺依曼体系结构中,存在数据信号
和控制信号
;这里我们抛开控制信号不谈,现在来了解一下数据,以及数据流动。
现在我们想象一个场景,
你
和你的女朋友
在微信上聊天,你发送的信息是如何显示到你女朋友是显示器上的呢?
简单来说,这简单啊:我通过键盘将信息输入到微信中,然后微信通过网络将信息发送到我女朋友的微信中,然后显示到她的显示器上。
但是微信又是如何将数据发送的呢?
这里我们站在硬件的角度,从冯诺依曼体系结构来理解这个数据是如何传输的。
首先,我们将
你
和你女朋友
使用的两台计算机设备想象成两个冯诺依曼体系;我们要像使用微信发送信息,那就一定要让微信运行起来(就是将微信程序加载到内存,在
CPU
中执行);
对于你的这个冯诺依曼体系来说:
输入设备:就是键盘,你通过键盘输入信息。
信息从输入设备加载到内存,然后通过微信这一个程序对数据进行一系列操作(加密等操作),然后数据由内存到输出设备。(此时你的输出设备就是网卡)
然后数据通过网络(一系列操作),将数据传输到你女朋友的计算机(冯诺依曼体系结构中);
对于女朋友的计算机冯诺依曼体现结构来说:
此时输入设备就是网卡;
数据从网卡(输入设备),然后加载到内存中,再通过微信这一个程序,对数据进行一系列操作(解密),然后数据从内存中到输出设备中。
此时输出设备就是显示器。
这样你发送的信息就显示到了你女朋友的显示器上。
看到这里,应该多多少少有一点理解数据流动了。
这里我们发送信息之后,我们的显示器中也可以看到发送的信息,那就是我们的输出设备还用显示器
这里如果我们发送的是一个文件呢?
此时你的输入设备就是磁盘(我们将文件拖拽到微信聊天框中这一操作,本质上就是从从磁盘中读入数据)
而此时你女朋友的输出设备就是磁盘(接收文件就是将文件保存到磁盘中)
二、操作系统
就目前来说,我们并不知道操作系统是什么,是干什么;
简答来说,操作系统是一个基本的程序集合;
操作系统是一款进行软硬件管理的软件。
从广义上来说,操作系统包括:内核(进程管理、文件管理、内存管理和驱动管理);其它程序(函数库、shell程序等)
但是狭义上我们也可以认为操作系统内核就是操作系统;
理解了操作系统是什么,我们现在来看操作系统是干什么的:
这里先说结论:
- 为用户程序(应用程序)提供一个良好的运行环境。
- 与硬件交互,管理所有的硬件资源。
试想一下,如果没有操作系统,就一堆硬件摆在我们面前,我们能不能使用?显然是不能的
软硬件体系结构
看上图,这是计算机软硬件体系结构;我们可以看到它分为三个部分用户部分
、系统软件部分
和硬件部分
。
之前我们使用计算机,都是通过操作系统,来进行我们的一系列操作;就比如
linux
中的基本命令,这是shell
外壳为我们包装好的指令,方便我们使用。
通过观察上图,我们可以发现系统调用接口
、驱动程序
这些我们之前听都没听过;
系统调用
通过这个名字,就感觉好高级,我们是不是不能随意的使用系统调用,准确来说是的;
系统调用其实就是函数,只不过是操作系统提供的函数。
我们如果访问操作系统,就必须通过系统调用
这个理解起来应该很简单,操作系统不想我们之间去访问它,所以提供了系统调用;我们可以通过系统调用来访问操作系统。
一个程序,如果访问了硬件,那么它一定贯穿整个体系结构
什么意思呢,就比如我们通过指令向文件中写入数据,指令是
shell
外壳提供的,它对系统调用进行封装形成指令供我们使用,而操作系统呢,通过驱动程序,来访问硬件资源进行操作。
库里面就可能进行了系统调用的封装
我们
C
语言中的printf
和scanf
,printf
是将数据输出到显示器,scanf
是从键盘中读取程序,它们底层就是对系统调用进行了封装。
理解操作系统
这里简单来说,在整个计算机软硬件架构中,操作系统的定位是:⼀款纯正的
搞管理
的软件
理解管理
操作系统在管理软硬件资源的软件,那如何去理解这个管理
呢?
在我们日常生活中也存在很多管理的实例,那这个管理和操作系统管理软硬件一样吗?
博主是一名大学生,在大学中,我们简化成学生
、老师
和校长
;
那在这个管理实例中,是谁在管理谁呢?
一个事情,可以分为决策和执行;
在上面例子中,我们学生肯定就是被管理者,而老师是执行者,校长则是决策者。
- 管理者和被管理者不需要见面(简单来说就是,我们学生不需要见到校长,也能被管理起来)
- 如何管理?这很简单,通过信息(数据)管理
- 如何得到数据?(通过中间层获取,每个学校都有学生管理系统,我们在这个系统中可以查到我们的所有信息)
我们学校刚成立不久,学生很少,校长管理起来非常容易,搞一个execl
表格,这个表格中存储着我们所有学生的信息;
这样校长管理我们学生,就直接对这些数据进行管理:简单来说就是对这些数据增删查改。
但是随着学校发展,学生越来越多,这个表格中数据太多了,校长管理不过来了;
如果让我们去解决,把我们是不是就要搞一个数据结构(链表/顺序表),将这些信息存储到计算机里面(学生的信息无非就是姓名、学号、性别、年龄等等)我们搞一个结构体来存储这些信息;那这样我们就可以使用数据结构将这些学生的信息存储起来;
那我们就可以将这些信息存储到计算机中,然后对这些数据结构进行增删查改操作,不就将学生管理起来了吗。
那对于学生的管理工作,不就转化成对链表的增删查改操作了吗(这里过程也称为建模)
建模的过程其实就是先描述、再组织
;
我们将学生信息使用一个struct
结构体存储起来,这不就是对学生信息的描述吗;
我们将数据存储到数据结构中,这不就是将数据组织起来吗。
先描述、在组织
说了这么多,我们这里只需要知道先描述、在组织就OK了。
那我们生活中的实例和操作系统管理硬件一样吗?
可以说是一样的
我们操作系统管理硬件资源,是不是也是对硬件资源信息的管理,只需要知道硬件的信息,就可以对硬件进行管理。
理解系统调用
操作系统要对上提供对应的服务,但是呢,操作系统有不信任任何人;(这句话听起来很别扭,操作系统要给我们提供对应的服务,又不信任我;这就跟我们生活中的银行一样,它要给我们提供相应的服务(存钱、取钱、转账等),但同时它又不信任我们,只是通过柜台窗口,让我们进行存钱、取钱等。)
那操作系统如何提供对应的服务呢? 就是系统调用
系统调用其实就是函数,函数要有参数和返回值吧,用户就可以通过这些参数和返回值来实现用户和操作系统之间的数据交互。
**但是这里有疑问:**我们不了解系统调用, 不会使用系统调用啊?
这就像一个不认识字的人去银行,银行通过了窗口来办理业务,但是这个人不会,不知道要做什么,这时,我们银行内的工作人员就会帮助这个人去办理业务;
这就祥我们一样,我们不了解系统调用,我们该如何去使用呢?
这是就有库
、shell
、指令
等,它们通过对系统调用的封装,让我们不知道系统调用的情况下,也可以使用计算机,访问操作系统。
到这里,本篇文章就已经接近尾声了,现在来做一个简单总结:
冯诺依曼体系结构:理解数据流动,内存等
操作系统:操作系统是什么,理解管理
这时,我们银行内的工作人员就会帮助这个人去办理业务;
这就祥我们一样,我们不了解系统调用,我们该如何去使用呢?
这是就有库
、shell
、指令
等,它们通过对系统调用的封装,让我们不知道系统调用的情况下,也可以使用计算机,访问操作系统。
到这里,本篇文章就已经接近尾声了,现在来做一个简单总结:
冯诺依曼体系结构:理解数据流动,内存等
操作系统:操作系统是什么,理解管理
相关文章:
深度理解linux系统—— 了解操作系统
一、冯诺依曼体系结构 现在我们常见的计算机(笔记本电脑等)和不常见的计算机(服务器)它们都满足冯诺依曼体系。 我们可以把计算机理解成一个个硬件组成的 输入设备:键盘、鼠标、摄像头、网卡、磁盘等输出设备…...
【fork初体验】
文章目录 Linux 实验:深入理解 fork 系统调用一、实验目的二、实验环境三、实验内容与步骤(一)打印进程的进程 ID 和父进程 ID1. 编写程序2. 编译与运行3. 运行结果 (二)使用 fork 系统调用创建进程并加入循环语句1. 编…...
区块链VS传统数据库:金融数据存储的“信任”与“效率”博弈
在金融行业数字化转型的浪潮中,数据存储技术选型已成为核心议题。区块链技术凭借其去中心化、不可篡改等特性强势崛起,而传统数据库(如关系型数据库MySQL、分布式数据库)凭借成熟生态和高效性能仍占据主导地位。如何在两者之间做出…...
Linux渗透测试
Linux渗透测试 比赛题库-Linux渗透测试 文章目录 Linux渗透测试比赛题库-Linux渗透测试 前言一、解题过程1.通过本地PC中渗透测试平台Kali对靶机场景进行系统服务及版本扫描渗透测试,并将该操作显示结果中Apache服务对应的版本信息字符串作为Flag值提交;…...
ORA-02069错误排查实录:从 Database Link 到 Global Names 的陷阱
文章目录 错误重现根因解决方案1.设置GLOBAL_NAMEStrue2.全部业务逻辑放在在远端执行 在日常的 Oracle 数据同步任务中,我们经常透过 Database Link(DBLink) 进行跨数据库查询与写入。某日,我们在执行一段 INSERT INTO … SELECT …...
【CF闯关练习】—— 1200分
🌏博客主页:PH_modest的博客主页 🚩当前专栏:cf闯关练习 💌其他专栏: 🔴每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓…...
正则表达式三剑客之——grep和sed
目录 一.grep 1.1定义 1.2核心功能 1.3基本语法 1.4常用选项 二.sed 2.1 定义 2.2 工作原理 2.3 基本语法 2.3.1常用选项 2.3.2sed自身脚本语法 1. 基本组成 2. 地址 3. 命令 2.3.3 sed替换查找 1 基本语法 2.sed替换查找的实例 3.分组后向引用 4 变量调…...
i18n-ai-translate开源程序,可以使用DeepSeek等模型将您的 i18nJSON翻译成任何语言
一、软件介绍 文末提供程序和源码下载 i18n-ai-translate开源程序使用 DeepSeek等模型可以将您的 i18n JSON 翻译成任何语言。 无缝翻译本地化文件。支持嵌套翻译文件的目录。需要i18next样式的JSON 文件(文末一并提供下载)。 二、模式 CSV 模式 三个…...
关于Android Studio的Gradle各项配置
Gradle 构建概览 Android 应用通常使用 Gradle 构建系统构建。在深入了解如何配置 build 之前,我们先来探索 build 背后的概念,以便您全面了解系统。 什么是 build? 构建系统会将源代码转换为可执行应用。构建通常涉及多个工具,用…...
数据安全和合规性市场分析
一、什么是数据安全和合规性 在数据安全和合规性方面,存在着一系列重要的法律、法规和行业标准,这些规定了组织如何收集、存储、处理和保护个人数据及其他敏感信息。企业之所以要遵守这些规定,是出于多方面的考量,既有法律责任&a…...
venv环境基础指令以及常见问题汇总(持续更新)
常见指令 在 Python 原生虚拟环境(venv) 中,没有直接列出所有虚拟环境的命令(因为 venv 不像 Conda 那样有集中管理机制),但可以通过 文件操作 或 脚本 实现类似功能。以下是常用命令和技巧: &…...
思科路由器重分发(RIP动态路由+静态路由)
路由器重分发(RIP动态路由静态路由) 静态路由不能作翻译官 RIP需要宣告自己的ip;还需要帮静态路由也宣告一下开启端口并配置IP地址 RIP路由 Router>en Router#conf t Router(config)#int g0/0 Router(config-if)#no shutdown Router(c…...
产销协同的作用是什么?又如何对各部门发挥作用?
目录 一、产销协同的对象有哪些? 1. 客户需求 2. 市场趋势 3. 供应链伙伴 4. 企业战略目标 二、产销协同的作用是什么? 1. 提高客户满意度 2. 降低企业成本 3. 增强市场竞争力 4. 优化资源配置 三、产销协同对各部门怎么发挥作用?…...
19.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--当前项目拆分规划
随着业务规模的不断扩大和系统复杂度的提升,孢子记账系统需要进行微服务架构的转型。本文将详细规划从单体应用向微服务架构迁移的具体方案,包括功能模块分析、服务拆分、技术选型以及实施步骤等内容。通过合理的服务拆分和架构设计,未来我们…...
JFLAP SOFTWARE 编译原理用(自动机绘图)
csdn全是蛆虫,2mb的软件,都在那里搞收费,我就看不惯,我就放出来,那咋了!!! https://pan.baidu.com/s/1IuEfHScynjCCUF5ScF26KA 通过网盘分享的文件:JFLAP7.1.jar 链接: h…...
从 Vue 到 React:React 合成事件
目录 一、什么是 React 合成事件?二、处理流程React 事件系统的大致流程和 Vue 3 的区别 三、用法示例四、SyntheticEvent 的特点五、为什么 React 要统一事件到根节点?1.减少事件监听器数量2. 简化事件解绑逻辑3. 保证一致的行为 六、React 18 后事件系…...
react的fiber 用法
在 React 里,Fiber 是 React 16.x 及后续版本采用的协调算法,它把渲染工作分割成多个小任务,让 React 可以在渲染过程中暂停、恢复和复用任务,以此提升渲染性能与响应能力。在实际开发中,你无需直接操作 Fiber 节点&am…...
深度学习-学习笔记
文章目录 1、概述2、学习笔记2.1、pytorch 的环境配置 1、概述 本篇博客用来记录我学习深度学习的学习笔记 参考视频:PyTorch深度学习快速入门教程 PyTorch 是一个开源的机器学习框架,主要用于构建和训练深度学习模型。 2、学习笔记 2.1、pytorch 的环…...
[创业之路-390]:人力资源 - 社会性生命系统的解构与重构:人的角色嬗变与组织进化论
前言: 人、财、物、信息、机制、流程、制度、方法共同组合了一个持续的消耗资源、持续的价值创造、持续面临生存与发展、遗传与变异的社会性生命系统。 "人"是所有社会性生命系统最最基础性的要素,它弥漫在系统中多维立体空间的不同节点上&am…...
Redis常见面试题——List对象
当然可以!这里我帮你整理了一份【Redis中 List 结构】相关的高频面试题,并附上简明回答: 📚 Redis List 结构面试题(高频总结版) 1. Redis 中的 List 是什么?底层是什么实现的? 答&…...
案例速成GO操作redis,个人笔记
更多个人笔记:(仅供参考,非盈利) gitee: https://gitee.com/harryhack/it_note github: https://github.com/ZHLOVEYY/IT_note 安装redis客户端:go get github.com/redis/go-redis/v9 注意go …...
什么是WebSocket?NGINX如何支持WebSocket协议?
大家好,我是锋哥。今天分享关于【什么是WebSocket?NGINX如何支持WebSocket协议?】面试题。希望对大家有帮助; 什么是WebSocket?NGINX如何支持WebSocket协议? 1000道 互联网大厂Java工程师 精选面试题-Java…...
ssm驾校预约管理系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
摘要 伴随着我国社会的发展,人民生活质量日益提高。在人们出行方式上的体现就是,价格较为昂贵的代步工具——汽车,它的拥有率在我国越来越高了。而汽车的行驶速度很快,并且随着汽车拥有率的增加,城市中行驶和停靠的车…...
babel核心知识点
Babel 是一个 JavaScript 编译器,主要用于将 ECMAScript 2015 版本的代码转换为向后兼容的 JavaScript 代码,以便在旧版本的浏览器或环境中运行。以下是 Babel 的核心知识点: 1. 基本概念 编译器:Babel 本质上是一个编译器&…...
学习笔记(算法学习+Maven)
单调队列优化多重背包 #include <bits/stdc.h> using namespace std; const int M 2010; const int N 20010; int q[N]; int hh 0, tt -1; int f[N]; int g[N]; int v[M], w[M], s[M]; int n, m; int main() { cin >> n >> m; for (int i 1; …...
买币永续合约成全球交易热点,XBIT去中心化交易所平台显著提升市场流动性
在全球加密货币市场日益扩大的背景下,买币永续合约正展现出惊人的增长势头。虽然比特币自2021年黄金时期以来整体兴趣有所减弱,但永续合约市场表现亮眼,专业和机构交易者正从传统日历期货转向这一领域,使得永续合约占据了约66%的未…...
详解 `from datasets import load_dataset`:数据格式、公开数据集与自定义数据集实战指南
在自然语言处理(NLP)和机器学习领域,Hugging Face 的 datasets 库凭借其高效的数据加载和预处理能力成为开发者必备工具。本文通过代码示例详解 load_dataset 的核心用法,涵盖数据格式解析、公开数据集调用和自定义数据集构建。 一、数据格式解析与加载示例 datasets 库支…...
Eclipse 插件开发 1
Eclipse 插件开发 1 1 创建 Eclipse 插件2 特点对比表3 总结对比表 Eclipse 是一个功能强大的集成开发环境(IDE),最初为 Java 开发设计,但现在已经支持多种语言和平台。它的核心优势在于高度可扩展的插件架构,使开发者能够定制开发环境以满足…...
单链表专题(1)
1.什么是链表? 链表是结构体变量与结构体变量连接在一起 2.动态创建一个链表 动态内存申请模块化设计 1.创建链表(创建一个表头表示整个链表) 2.创建结点 3.插入结点 4.删除结点 5.打印遍历链表(测试) 3.创建链…...
[贪心_8] 跳跃游戏 | 单调递增的数字 | 坏了的计算器
目录 1.跳跃游戏 题解 2.单调递增的数字 证明 3.坏了的计算器 题解 解法一:正向推导 解法二:正难则反 1.跳跃游戏 链接: 55. 跳跃游戏 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你…...
Python基于Django的全国二手房可视化分析系统【附源码】
博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...
Spring Boot 升级指南(2.x → 3.x)
🚀 Spring Boot 升级指南(2.x → 3.x) 🔢 1️⃣ 必读文档 📘 当您需要从 Spring Boot 2.x 升级时: • 官方迁移指南 → https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-…...
基于亚马逊云科技构建音频转文本无服务器应用程序
Amazon Transcribe是一项基于机器学习模型自动将语音转换为文本的服务。它提供了多种可以提高文本转录准确性的功能,例如语言自定义、内容过滤、多通道音频分析和说话人语音分割。Amazon Transcribe 可用作独立的转录服务,也可以集成到应用程序中提供语音…...
io_uring概述:现代 Linux 异步 IO 的新范式
一、引言 在 Linux 系统中,I/O 性能一直是高性能服务器、数据库、存储系统的关键瓶颈。传统的 I/O 接口(如 read、write、poll、epoll)已经难以满足现代高吞吐低延迟场景的需求。io_uring 的诞生,正是为了解决这些传统 I/O 模型中…...
定制一款国密浏览器(12):分析SM2签名算法的实现
SM2 是一种非对称加密算法,除了用来进行加密解密外,主要作用还用作数字签名。数字签名是私钥签名,公钥用来验签。由于私钥是不公开的,所以私钥签名还可以防抵赖。 一般的签名流程如下: 发送者对消息计算摘要值。发送者用私钥对摘要值进行签名得到签名值。发送者将原始消息…...
SSE协议
目录 SSE协议协议实现传输格式data 字段id 字段event 字段retry 字段 前后端实现使用案例FastAPI SSE-STARLETTE 模拟大模型推理流🖥 代码:FastAPI SSE-STARLETTE 模拟大模型推理流 SSE协议 SSE,全称是 Server-Sent Events,是一…...
精益数据分析(25/126):关键指标驱动业务发展
精益数据分析(25/126):关键指标驱动业务发展 在创业和数据分析的道路上,我们都在不断探索如何利用数据实现业务的增长与优化。今天,让我们一起深入学习《精益数据分析》中的关键知识点,通过实际案例来理解…...
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
前言 Spring AI Alibaba 开源项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。 项目地址 gitcode平台:ht…...
git 工具
Git教程 Git Bash详细教程 Git教程 Git Bash详细教程-CSDN博客 Download – TortoiseGit – Windows Shell Interface to Git...
利用【指针引用】对【非空单循环链表】进行删除操作
【非空单循环链表】是链式存储结构的其中一种,下面是各个词汇的意思: 先说【单】的意思: 这里指的是【单循环】的,另外在别的地方你会碰到一些不一样的循环链表,比如说是【多重链】的。 单循环 【单循环链表】常在表的…...
2025.4.26_STM32_SPI
1.SPI简介 2.硬件电路 所有SPI设备的SCK(时钟)、MOSI(主机输出从机输入)、MISO(主机输入从机输出)分别连在一起。SCK线只能被主机控制,和I2C相同。 主机另外引出多条SS控制线,分别接到各从机的SS引脚 (SS不用的时候为高电平,当主机需要选中某…...
基于OpenMV+STM32+OLED与YOLOv11+PaddleOCR的嵌入式车牌识别系统开发笔记
基于OpenMV、STM32与OLED的嵌入式车牌识别系统开发笔记 基于OpenMV、STM32与OLED的嵌入式车牌识别系统开发笔记系统架构全景 一、实物演示二、OpenMV端设计要点1. 硬件配置优化2. 智能帧率控制算法3. 数据传输协议设计 三、PyTorch后端核心实现:YOLOv11与PaddleOCR的…...
当JIT遇见K8s
目录 一、技术融合背景:从静态架构到动态生态的范式重构 1.1 动态编译技术的三次进化浪潮 1.2 容器编排系统的动态特性解剖 弹性伸缩的数学建模 服务质量(QoS)的编译场景适配 硬件拓扑感知的编译优化 二、关键技术挑战与突破性解决方案…...
单片机-89C51部分:4、固件烧录
飞书文档https://x509p6c8to.feishu.cn/wiki/M00gwFX3WilLe0kiAmBcPBUsnLc 接线 通过USB线把开发板和电脑连接起来,如果电脑没有安装过USB转串口驱动,在设备管理器中就找不到COM口,而且会有驱动提示叹号,我们可以下载下方驱动安…...
7.13 GitHub Sentinel全链路测试实战:自动化框架+零误差传输,QPS提升6倍!
GitHub Sentinel全链路测试实战:自动化框架+零误差传输,QPS提升6倍 GitHub Sentinel Agent 用户界面设计与实现 关键词:前后端联调测试、数据传输验证、接口稳定性测试、命令行工具测试、自动化测试框架 测试前后端功能与数据传输稳定性 1. 全链路测试策略设计 采用分层…...
stm32之EXIT外部中断详解
目录 1.引入: STM32F1031.1 中断路径上的3个部件1.2 STM32F103的GPIO中断1.1.1 GPIO控制器 -- AFIO1.1.2 EXTI1.1.3 NVIC1.1.4 CPU1. PRIMASK2. FAULTMASK3. BASEPRI 1.3 中断执行流程 2.旋转编码器介绍3.实验3.1 EXIT3.1.1 结构体3.1.2 函数 3.2 NVIC3.2.1 结构体3.2.2 函数 3…...
STM32 开发 - stm32f10x.h 头文件(内存映射、寄存器结构体与宏、寄存器位定义、实现点灯案例)
概述 STM32F10x.h 是 STM32F1 系列微控制器的核心头文件,提供了所有外设寄存器的定义和内存映射 一、内存映射 #define PERIPH_BASE ((uint32_t)0x40000000)#define APB1PERIPH_BASE PERIPH_BASE #define APB2PERIPH_BASE (PERIPH_BASE 0x…...
UniApp 的现状与 WASM 支持的迫切性
一、UniApp 的跨平台优势与性能瓶颈 UniApp 凭借“一次开发,多端发布”的核心理念,已成为跨平台开发的主流框架之一。然而,随着移动应用场景的复杂化(如 3D 渲染、音视频处理、AI 推理),传统的 JavaScript…...
Prometheus、Zabbix和Nagios针对100个节点的部署设计架构图
一、Prometheus 架构图(联邦集群+分布式存储) graph TD;subgraph 全局监控层GlobalProm[Prometheus Server] -->|联邦查询| RegionalProm1[区域Prometheus]GlobalProm -->|联邦查询| RegionalProm2[区域Prometheus]GlobalProm -->|联邦查询| RegionalProm3[区域Pro…...
坚果派已适配的鸿蒙版flutter库【持续更新】
坚果派已适配的鸿蒙版flutter库 序号原仓版本适配仓文章解读是否完成1https://pub.dev/packages/fluttertoast8.2.12https://gitcode.com/nutpi/FlutterToasthttps://www.nutpi.net/thread?topicId1575是2https://pub.dev/packages/flutter_udid4.0.0https://gitcode.com/nut…...