操作系统-笔记-第四章-文件管理
目录
四、第四章——文件管理
1、文件管理——基础概念
(1)文件结构
(2)操作系统提供的接口
(3)总结
2、文件的逻辑结构
(1)有结构文件(类似SQL表文件)
(2)顺序文件
(3)索引文件——类似(SQL索引)
(4)索引顺序文件(结合了顺序+索引)
(5)多级索引——(开始套娃啦~)
(6)总结
3、文件目录
(1)文件控制块
(2)单级目录结构(out)
(3)两级目录结构(out)
(4)树形目录结构(out)
(4)无环图目录结构
(5)索引结点
(6)总结
4、文件的物理结构
(1)连续分配(可以理解为malloc)
(2)链接分配(2种)——隐式链接
(2)链接分配(2种)——显式链接
(3)索引分配
(3)索引表太大——链接方案
(3)索引表太大——多层索引
(3)索引表太大——混合索引(最优解)
(4)还有一种方式(自己想的)
(5)总结
5、物理结构 & 逻辑结构
6、文件存储——空间管理
(1)存储空间的划分(文件卷)
(2)管理方法——空闲表法
(3)管理方法——空闲链表法
(3)管理方法——位示图法
(4)成组链表法(数组+链表)
(5)总结
7、文件的基本操作 (重点——打开+读)
(1)创建文件
(2)删除文件
(3)打开文件
(3)打开文件——打开文件表
(4)关闭文件
(5)读文件——读出外存
(6)写文件——写回外存
(7)总结
8、文件共享
(1)硬链接
(2)软链接 (Windows里面的快捷方式)
(3)总结
(4)硬链接和软链接的区别
9、文件保护
(1)口令保护
(2)加密保护
(3)访问控制
(4)总结
10、文件系统的层次结构
11、文件系统的全局结构
12、虚拟文件系统
(1)统一接口
(2)下层的文件系统(需要实现特点功能,否则操作系统将不认~)
(3)iNode和Vnode
(4)文件系统的挂载(挂载到操作系统上)
13、磁盘的结构
(1)柱面号、盘面号、扇区号
(2)活动磁头、固定磁头
(3)可换磁盘、固定磁盘
14、磁盘调度算法(重点)
(1)读写操作——花费的时间
(2)先来先服务(绝对公平-简单)
(3)最短寻找时间优先(SSFT-贪心算法-有饥饿现象)
(4)扫描算法【SCAN】
(5)LOOK调度算法【LOOK】(边走边看)
(6)循环扫描算法【C-SCAN】
(6)C-LOOK调度算法【C-LOOK】
(7)总结
15、减少磁盘延迟时间的方法
(1)交替编号
(2)减少磁道移动
(3)不同盘片中的扇区-错位命名
(4)总结
16、磁盘管理
(1)磁盘初始化
(2)引导块
(3)损害的磁盘块
17、固态硬盘
(1)固态和机械
(2)结构
(3)寿命问题(不要担心玩坏~)
四、第四章——文件管理
1、文件管理——基础概念
(1)文件结构
(2)操作系统提供的接口
(3)总结
2、文件的逻辑结构
(1)有结构文件(类似SQL表文件)
无结构——txt文件
有结构——SQL表文件
定长(char)——可变长(varchar)
(2)顺序文件
链式(不考察)
顺序(考察)——注意:他的增加和删除(开销比较大!但是串比较简单)
(3)索引文件——类似(SQL索引)
索引文件——类比——SQL中的索引
能够高效的进行检索——(空间换时间)
注意:你还要维护这个索引表(有额外的开销~)
(4)索引顺序文件(结合了顺序+索引)
创建的索引是进行分组过的——(这是一个折中的方法,结合前两者的优点)
相当于——先对全部数据进行【分组】——再把每一组的特点提出来——创建索引
(5)多级索引——(开始套娃啦~)
既然可以创建一次索引,那么就可以在索引的基础上,再创建一个~
(6)总结
3、文件目录
(1)文件控制块
(2)单级目录结构(out)
(3)两级目录结构(out)
(4)树形目录结构(out)
(4)无环图目录结构
有软链接,还有快捷链接~(这是实际应用中有的唉~)
(5)索引结点
把【目录项】再一次提取信息——创建【一个索引结点】——方便查找
类似——SQL索引(注意:这里也可以套娃~)
【创建了索引——空间换时间】——同时可以减少磁盘IO总数(就是减少了查找范围)
(6)总结
4、文件的物理结构
3种——连续、链接、索引
(1)连续分配(可以理解为malloc)
优点:速度快,可以直接找到【指定磁盘块】
缺点:拓展大小不方便,会产生很多【磁盘碎片】
结论:物理上采用连续分配的文件不方便拓展。
结论:物理上采用连续分配,存储空间利用率低,会产生难以利用的磁盘碎片
可以用紧凑来处理碎片,但是需要耗费很大的时间代价。
(2)链接分配(2种)——隐式链接
方便拓展,但是只能顺序访问~
(2)链接分配(2种)——显式链接
创建一个索引表(文件分配表——FAT)
空间换时间(和索引一样)
为什么叫显式?为什么叫隐式?估计你也知道了
一个链接是放在每个内存块的屁股,一个是专门创建一个索引表~
但是:一个磁盘,他只会建立一张表!!!(然后开机就读入内存-常驻内存~)
一个磁盘中的所有文件,共用一张表!!!
(3)索引分配
每有一个文件——就为其专门创建一个索引表(太贴心了~)(可以随机访问)
显示就只有共用~
可见,索引分配方式可以支持随机访问。文件拓展也很容易实现(只需要给文件分配一个空闲块,并增加一个索引表项即可)但是索引表需要占用一定的存储空间
(3)索引表太大——链接方案
把索引表分为多个就好啦~(因为你一个磁盘块放不下嘛~那分为几个部分就行了~)
文件太大——这个方案就很低效!!!
(对比一下,MySQL的【B+树索引】,貌似是这样的,狗头.jpg)
(3)索引表太大——多层索引
刚刚提到B+树索引,这里不就来了~(多级索引,树型索引,套娃开始~)
每一层索引,都可以存放不同的大小(2层-64MB,3层-16GB)
(3)索引表太大——混合索引(最优解)
前面几个——直接索引
中间几个——一级索引
后面几个——二级索引
如果还有——三级索引…(以此类推)
软考也考唉~~~(很熟悉,嘻嘻)
优点:灵活(IO次数适中)
小文件——直接索引
中型文件——(直接+二级)
大文件——(直接+二级+三级…)
(4)还有一种方式(自己想的)
在Java中,数组超过一定长度时,会自动转为红黑树
那么咱也可以自动切换,当你小于多少时,用直接索引,大于多少时,变为二级索引~
以此类推(临时的想法,虽经不住推敲,但是还是想记录下来~)
同时,咱要知道,索引方法还有其他的,不止这几张,长路漫漫,学无止境,加油!
(5)总结
5、物理结构 & 逻辑结构
一个是用户来操心(逻辑)
一个是操作系统来操心(物理)
互相独立,互不干扰
6、文件存储——空间管理
(1)存储空间的划分(文件卷)
(2)管理方法——空闲表法
和内存管理类似
如何分配空间?(有对应的算法)——参考【内存分配】
如何回收空间?(有没有相邻的空间,需要合并?)
(3)管理方法——空闲链表法
类似链表(适用于离散空间)
(3)管理方法——位示图法
离散和连续分配——都适用
被占用——为1
未使用——为0
(4)成组链表法(数组+链表)
注意分配+回收的方法【不容易考】
(5)总结
7、文件的基本操作 (重点——打开+读)
记住这些是单独进行的,只是软件把动作添加了而已
比如,你【打开文件】之后,就会自然有一个【读文件的】操作
这里把动作拆解开来,是方便理解每一步具体干了什么!
(1)创建文件
1、申请空闲空间—2、创建目录项——(索引表也得维护)
目录项——你可以理解为SQL创建了一条数据(里面包含他所有的信息)
但是内容是在外存里面的——他只是存储了对应的【磁盘块号】~
(2)删除文件
1、找到目录项——2、回收磁盘块 —— (索引表什么的~)
(3)打开文件
1、找到目录项——2、权限检测——3、将目录项+放入内存——3、【打开计算器】+1
(3)打开文件——打开文件表
打开计数器(用于数据共享)——设计一个【打开文件的总表】
(当文件要被删除时,就可以查看该表,是否打开~)
(4)关闭文件
1、打开文件表中【对应的表项】删除——2、内存资源回收——3、打开计算器-1
(如果为0,则直接删除对应的表项)
(5)读文件——读出外存
(6)写文件——写回外存
(7)总结
8、文件共享
(1)硬链接
硬链接是在文件系统中【创建多个文件名】指向【同一个文件的数据块】。
这些文件名在文件系统中被视为等同的,因为它们指向相同的数据块。
(2)软链接 (Windows里面的快捷方式)
(3)总结
硬链接和软链接的主要区别:
硬链接是指多个文件名指向同一个文件数据块,
软链接则是指一个特殊的文件,其中包含了指向另一个文件的路径。
硬链接通常用于在不同的目录中创建相同文件的多个副本,以节省存储空间。
软链接通常用于创建指向其他文件或目录的快捷方式,以方便用户访问。
(4)硬链接和软链接的区别
1、本质不同
硬链接:同一个文件,多个名称。
软链接:不同的文件。
2、跨分区
硬链接:不支持跨分区。
软链接:支持跨分区。
3、目录
硬链接:不支持对目录创建。
软链接:支持对目录创建。
4、相互关系
硬链接:删除某一个硬链接,另一个硬链接不影响使用。
软链接:原始文件和软链接有依赖关系,原始文件删了,软链接就失效了。
5、inode编号
硬链接:inode编号是相同的。
软链接:inode编号不同。
6、链接数
硬链接:删除一个硬链接,硬链接的链接数会有变化。
软链接:删除一个软链接,链接数不会有变化,删除的相当于是一个文件(或快捷方式)。
7、相对路径:原始文件路径
硬链接:硬链接的相对路径,是相对的当前工作目录的相对路径。
软链接:软链接的原始文件路径是,相对的软链接的相对路径,而不是相对当前工作目录。
8、文件类型
硬链接:硬链接的文件类型是,原来是什么就是什么,例如:原来是普通文件,还是普通文件。
软链接:软链接的文件类型是L
9、命令的实现不一样
硬链接:ln
软链接:ln -s
9、文件保护
(1)口令保护
保存在操作系统中,不够安全~
(2)加密保护
编码和译码,要花费额外时间(不过保密性不错~)
除了简单的异或加密之外,还有一些常用的文件加密保护算法。以下是其中几种:
- 对称加密算法:对称加密使用相同的密钥来加密和解密数据。常见的对称加密算法包括 AES(高级加密标准)和DES(数据加密标准)等。
- 非对称加密算法:非对称加密使用一对密钥,即公钥和私钥。公钥用于加密数据,而私钥用于解密数据。常见的非对称加密算法包括 RSA 和 ECC(椭圆曲线加密)等。
- 哈希函数:哈希函数将输入数据转换为固定长度的哈希值,通常是一个唯一的标识符。常见的哈希函数包括 SHA-256 和 MD5 等。虽然哈希函数本身不是加密算法,但它们常用于验证数据完整性和生成数字签名。
- 混淆和编码:混淆和编码是通过改变数据的表示形式来隐藏其真实内容。常见的技术包括 Base64 编码和 URL 编码等。这些方法并不提供真正的加密,但可以用于隐藏敏感数据的原始格式。
(3)访问控制
大部分操作系统都支持控制访问(分组、给文件加权限…)
用户分组——Linux中就有(root用户可以建立分组,并把用户进行分组~)
还有chmod 修改文件权限~
Windows中,也可以设置权限~
(4)总结
10、文件系统的层次结构
例子:
用户使用—文件查询—权限查询—逻辑地址—物理地址—完成操作—空间重组
11、文件系统的全局结构
① Open(打开文件)——在目录缓存中查询文件
② 找到文件后——文件表信息更新
③ 在该进程中——新建信息(记录文件操作)【方便后续操作】
12、虚拟文件系统
(1)统一接口
(2)下层的文件系统(需要实现特点功能,否则操作系统将不认~)
(3)iNode和Vnode
将【iNode】读入主存后,进一步封装,变为【vnode】,方便后续操作
PS:Vnode是iNode的加强版
目的:方便操作系统对文件进行操作
(4)文件系统的挂载(挂载到操作系统上)
比如:你插了一个U盘,U盘的文件就需要挂载到操作系统上~
1、注册到挂载表上,让【虚拟文件系统】发现【新的文件系统】
2、【新的文件系统】提供功能函数给【操作系统】
目的:方便【虚拟文件系统】操作。【类似:告诉他如何在本地实行各种权利】
3、把文件系统加入到【挂载点】
挂载后的截图:
13、磁盘的结构
(1)柱面号、盘面号、扇区号
(2)活动磁头、固定磁头
(3)可换磁盘、固定磁盘
14、磁盘调度算法(重点)
(1)读写操作——花费的时间
时间优化问题:
1、硬件——转速(延迟、传输)
2、软件(操作系统)——寻道时间——尽可能让磁头减少移动!!!
(2)先来先服务(绝对公平-简单)
(3)最短寻找时间优先(SSFT-贪心算法-有饥饿现象)
在一系列的磁道请求中,找到目前离他最短的磁道
(4)扫描算法【SCAN】
我愿称之为——【调头算法】~或者【老牛算法】
一条路走到头,才死心!(这是缺点)
(往一个方向走到头,才可以调头~)
(5)LOOK调度算法【LOOK】(边走边看)
边走边看【当前面没有需求时,就调头~】
(6)循环扫描算法【C-SCAN】
扫描算法的优化
原来的扫描——往返扫描(类似往返跑)
循环扫描是(只能从头到脚,不能再从脚到头)
目的:响应磁道平均~
(但是也有点呆板,需要加一个LOOK~边走边看)
(6)C-LOOK调度算法【C-LOOK】
循环扫描的加强版——边走边看~
(7)总结
其实,SCAN和LOOK差不多,C-SACN和C-LOOK差不多
都只是加了一个边走边看~
15、减少磁盘延迟时间的方法
相邻的扇区,无法连续读取(因为每读取一个扇区,就得处理数据)
要读下一个扇区,就等他在转一圈~
如何实现连续的读取呢?
(1)交替编号
把扇区交替编号~【给读取数据加一个间隔时间,来处理数据】
(2)减少磁道移动
磁盘编址方式——【磁道号,盘面号,扇区号】(不能随意换位置哟~)
连续地址都是从低位到高位
那么就可以【减少移动磁头】,【切盘】就行了~
(3)不同盘片中的扇区-错位命名
磁头不需要移动了,但是切盘后读取来不及,得错位命名
留出空闲时间,来处理数据
(4)总结
16、磁盘管理
(1)磁盘初始化
(2)引导块
(3)损害的磁盘块
17、固态硬盘
固态硬盘(Solid State Disk或Solid State Drive,简称SSD),又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘。
(1)固态和机械
(2)结构
(3)寿命问题(不要担心玩坏~)
相关文章:
操作系统-笔记-第四章-文件管理
目录 四、第四章——文件管理 1、文件管理——基础概念 (1)文件结构 (2)操作系统提供的接口 (3)总结 2、文件的逻辑结构 (1)有结构文件(类似SQL表文件)…...
【MiniGUI】文字颜色实现透明度变化
在MiniGUi中,输出文字时有时候希望文字带有透明度信息, 即文字能够透出下面的图像来。 很自然地想到,设置颜色时,将颜色设置为带有透明度的颜色: SelectFont(hdc, mg_font);SetTextColor(hdc, RGBA2Pixel(HDC_SCREEN, …...
css中元素加定位之后到一定距离元素会变小
css中元素加定位之后到一定距离元素会变小 主要原因:元素没有加宽高 .swiperWrapper .active{bottom: 380px;left: 215px;z-index: 10; } .swiperWrapper .next{bottom: 170px;left: 7%;z-index: 20; } .swiperWrapper .prev{bottom: 360px;left: 0%;z-index: 30;…...
Java 语言实现冒泡排序
Java 语言实现冒泡排序 介绍 冒泡排序是一种简单直观的排序算法,它重复地比较相邻的两个元素,如果顺序错误就交换它们,直到没有需要交换的元素为止。冒泡排序的思路是通过每一轮的比较将最大(或最小)的元素逐渐“冒泡…...
面向对象单选题
下列选项中不属于面向对象的特征的是(B) A、封装性 B、安全性 C、继承性 D、多态性 在Java中,关于继承,类只支持(A) A、单继承 B、多继承 C、两个都可以 D、两个都不可以 用于定义成员的访问控制权的一组关键字…...
微服务-Fegin
在之前我们两服务之间调用的时候用的是restTemplate,但是这个方式调用存在很多的问题 String url "http://userservice/user/" order.getUserId(); 代码可读性差,编码体验不统一参数复杂的url难以维护 所以我们大力推出我们今天的主角--Fegin Feign是…...
[oneAPI] 使用字符级 RNN 生成名称
[oneAPI] 使用字符级 RNN 生成名称 oneAPI特殊写法使用字符级 RNN 生成名称Intel Optimization for PyTorch数据下载加载数据并对数据进行处理创建网络训练过程准备训练训练网络 结果 参考资料 比赛:https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517…...
【ROS】参数服务器--理论模型与参数操作(C++)
一、概念介绍 参数服务器在ROS中主要用于实现不同节点之间的数据共享。参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据。 作用:存储一些多节点…...
[oneAPI] 基于BERT预训练模型的英文文本蕴含任务
[oneAPI] 基于BERT预训练模型的英文文本蕴含任务 Intel DevCloud for oneAPI 和 Intel Optimization for PyTorch基于BERT预训练模型的英文文本蕴含任务语料介绍数据集构建 模型训练 结果参考资料 比赛:https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0…...
【洛谷】P1163 银行贷款
原题链接:https://www.luogu.com.cn/problem/P1163 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 这题需要注意的是利率按月累计这句话,也就是相当于“利滚利”。 我们定义sum变量表示贷款原值,money表示每月支付…...
Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务 em
鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工…...
kafka--技术文档--基本docker中安装<单机>-linux
安装zookeeper 阿丹小科普: Kafka在0.11.0.0版本之后不再依赖Zookeeper,而是使用基于Raft协议的Kafka自身的仲裁机制来替代Zookeeper。具体来说,Kafka 2.8.0版本是第一个不需要Zookeeper就可以运行Kafka的版本,这被称为Kafka Raf…...
回归预测 | MATLAB实现WOA-RF鲸鱼优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现WOA-RF鲸鱼优化算法优化随机森林算法多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现WOA-RF鲸鱼优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)效果一览…...
Linux系统安全——NAT(SNAT、DNAT)
目录 NAT SNAT SNAT实际操作 DNAT DNAT实际操作 NAT NAT: network address translation,支持PREROUTING,INPUT,OUTPUT,POSTROUTING四个链 请求报文:修改源/目标IP, 响应报文:修改源/目标…...
uniapp项目添加人脸识别功能,可用作登录,付款,流程审批前的安全校验
本案例使用了hbuilder插件商城中的活体检验插件,可自行前往作者处下载查看, 效果图如下 此插件需要在manifest.json中勾选 实现流程 1:前往hbuilder插件市场下载插件 2:在页面中导入import face from "/uni_modules/mcc-…...
SpringBoot面试题
Spring Boot的启动流程主要分为以下几个步骤: 加载Spring Boot配置文件,初始化Spring Boot环境和核心组件,如ApplicationContext上下文环境、自动装配机制等。 执行SpringApplication.run()方法,执行所有Spring Boot自动配置的Be…...
Git相关命令
SSH密钥文件 Github里面S设置SH公钥有两者选择方式 账号下的每个仓库都设置一个公钥,因为GitHub官方要求每个仓库的公钥都不能相同,所以每个账号都要搞一个密钥(很麻烦)给账号分配一个公钥,然后这个公钥就可以在这个…...
《HeadFirst设计模式(第二版)》第八章代码——模板方法模式
代码文件目录: CaffeineBeverage package Chapter8_TemplateMethodPattern;/*** Author 竹心* Date 2023/8/17**/public abstract class CaffeineBeverage {final void prepareRecipe(){boilWater();brew();pourInCup();//这里使用钩子customerWantsCondiments()来…...
RESTful API,以及如何使用它构建 web 应用程序
RESTful API是一种基于HTTP协议的API设计风格,它的核心思想是将资源作为 API 的核心,使用 HTTP 的 GET、POST、PUT、DELETE 等方法对这些资源进行操作,并通过 URL 来定位资源。 RESTful API的特点包括: 资源是 API 的核心使用 H…...
Git+Gitee使用分享
GitGitee快速入门 创建仓库 初始化本地仓库 验证本地git是否安装好 打开cmd窗口,输入git 这样就OK。 Git 全局设置:(只需要设置一次) 这台电脑如果是第一次使用git,就需要这样初始化一下,这样才知道是谁提交到仓库了。 git confi…...
【3D激光SLAM】LOAM源代码解析--transformMaintenance.cpp
系列文章目录 【3D激光SLAM】LOAM源代码解析–scanRegistration.cpp 【3D激光SLAM】LOAM源代码解析–laserOdometry.cpp 【3D激光SLAM】LOAM源代码解析–laserMapping.cpp 【3D激光SLAM】LOAM源代码解析–transformMaintenance.cpp 写在前面 本系列文章将对LOAM源代码进行讲解…...
DiscuzQ 二开教程(7)——二次开发版本部署文档
DiscuzQ 二开教程(7)——二次开发版本部署文档 源码:Discuz-Q-V3: 本仓库为Discuz-Q V3.0.211111 版本的二次开发版本,是将DiscuzQ官方仓库进行合并代码(All in One)整理后的仓库,使用更方便。…...
u盘数据丢失但占内存如何恢复?不要着急,这里有拯救方案
U盘数据丢失但占内存如何恢复?数据丢失是一种让人非常头疼的问题,尤其是当我们的U盘数据丢失了,但内存仍然被占用时,更令人困惑和焦虑。然而,不要慌张!在本文中,将为大家介绍一些有效的方法来恢…...
springboot日志文件名称为什么叫logback-spring.xml
如题,为什么springboot日志配置文件叫logback-spring.xml? 在整个项目中搜索 logback-spring.xml 并没有搜索到。 先看一下 org.springframework.boot.context.logging.LoggingApplicationListener#initialize protected void initialize(ConfigurableEn…...
Mysql 开窗函数(窗口函数)
文章目录 全部数据示例1(说明)开窗函数可以比groupby多查出条件列外的字段,开窗函数主要是为了跟聚合函数一起使用,达到分组统计效果,并且开窗函数的结果集基本都是跟总行数一样示例2示例3示例4错误示例1错误示例2错误…...
计算机视觉之图像特征提取
图像特征提取是计算机视觉中的重要任务,它有助于识别、分类、检测和跟踪对象。以下是一些常用的图像特征提取算法及其简介: 颜色直方图(Color Histogram): 简介:颜色直方图表示图像中各种颜色的分布情况。通…...
【面试经典150题】移除元素·JavaScript版
题目来源 大致思路:遍历数组,如果遇到值为val的元素,使用数组最后一个元素替换它。详细过程: /*** param {number[]} nums* param {number} val* return {number}*/ var removeElement function(nums, val) {let i0,nnums.leng…...
Cesium 相机的三种放置方式
文章目录 Cesium 相机的三种放置方式第一种:setView 计算视角1. Cartesian3 方式2. Rectangle 方式 第二种:flyTo第三种:lookAt Cesium 相机的三种放置方式 Cesium 提供了三种方式对相机的位置进行摆放 第一种:setView 计算视角 …...
看了我这篇帖子,你还会觉得制作电子杂志很难吗?
如果你也像我一样笨手笨脚的不会设计排版制作杂志也没关系,用FLBOOK就能在线制作电子杂志,效果极好! 工具:FLBOOK 步骤如下: 1.打开FLBOOK在线制作电子杂志平台 2.点击开始创作,有四个创建作品的方式&…...
SRE 与开发的自动化协同 -- 生产环境出现 bug 自动生成异常追踪
简介 生产环境 bug 的定义:RUM 应用和 APM 应用的 error_stack 信息被捕捉后成为 bug。 以 APM 新增错误巡检为例,当出现新错误时,在观测云控制台的「事件」模块下生成新的事件报告,捕捉为 bug。同时利用 Dataflux Func 创建异常…...
【简单认识Docker基本管理】
文章目录 一、Docker概述1、定义2.容器化流行的原因3.Docker和虚拟机的区别4.Docker核心概念 二、安装docker三、镜像管理1.搜索镜像2.下载(拉取)镜像3.查看已下载镜像4.查看镜像详细信息5.修改镜像标签6.删除镜像7.导出镜像文件和拉取本地镜像文件8.上传…...
设备管理系统是什么?的修设备管理系统有什么功能?
随着计算机技术的迅速发展和移动互联网的商业化和社会化应用,设备的种类和数量急剧增加。如何利用先进的网络技术和快速更新的计算机设备来有效地收集和处理设备信息,建立以信息化为核心的管理体系,减轻管理和业务人员的数据处理负担…...
Docker安装并配置Pushgateway
Linux下安装Docker请参考:Linux安装Docker 简介 Pushgateway是Prometheus的一个组件,prometheus server默认是通过Exporter主动获取数据(默认采取pull拉取数据),Pushgateway则是通过exporter主动方式推送数据到Pushg…...
汽车OTA活动高质量发展的“常”与“新”
伴随着车主的频繁崔更,车企除了卷硬件、拼价格,逐渐将精力转移到汽车全生命周期的常用常新。时至下半年,车企OTA圈愈发热闹,以新势力、新实力为代表新一代车企,OTA运营活动逐渐进入高质量发展期。 所谓高质量…...
C++信息学奥赛1121:计算矩阵边缘元素之和
题解:i0 or j0 or in-1 or jm-1 or in-1 or jm-1 代码: #include<iostream> // 包含输入输出流库 #include<cmath> // 包含数学函数库 using namespace std; // 使用标准命名空间int main() {int n,m;cin>>n>>m; // 输入…...
Android Selector 的使用
什么是 Selector? Selector 和 Shape 相似,是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点 < selector > ,例如:我们只需要将Button的 background 属性设置为该dr…...
k8s集群中service的域名解析、pod的域名解析
前言 在k8s集群中,service和pod都可以通过域名的形式进行相互通信,换句话说,在k8s集群内,通过service和pod的域名,可以直接访问内部应用,不必在通过service ip地址进行通信,一般的,…...
Shell 编程快速入门 之 数学计算和函数基础
目录 1. 求两数之和 整数之和 浮点数之和 2. 计算1-100的和 for...in C风格for循环 while...do until...do while和until的区别 关系运算符 break与continue的区别 3. shell函数基础知识 函数定义 函数名 函数体 参数 返回值 return返回值的含义 return与…...
学习php中如何获取pdf文件中的文本内容
学习php中如何获取pdf文件中的文本内容 要使用PHP获取PDF文件中的文本内容,可以使用PDF解析库。以下是一些流行的PDF解析库: pdftotext:它是一个命令行工具,可以将PDF文件转换为文本文件。可以使用PHP exec()函数运行该工具。 FP…...
分布式数据库架构:高可用、高性能的数据存储
在现代信息时代,数据是企业发展的核心。为了支持海量数据的存储、高并发访问以及保证数据的可靠性,分布式数据库架构应运而生。分布式数据库架构是一种将数据存储在多个物理节点上,并通过一系列复杂的协调和管理机制来提供高可用性和高性能的…...
Python工具箱系列(四十)
使用gzip对数据进行压缩 这是python提供的压缩模块,便于用户对数据、文件进行压缩。功能类似于 GNU 应用程序gzip和gunzip。以下代码压缩一段字节流。 import gzip# 压缩一段英文 originstr The World Health Organization officially declared on Saturday that …...
【Hibench 】完成 HDP-Spark 性能测试
🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的…...
【C++奇遇记】内存模型
🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…...
Debootstrap 教程
文章目录 Debootstrap 教程安装 debootstrap使用 debootstrap运行 debootstrap进入新的系统结束语 Debootstrap 教程 debootstrap 是一个用于在 Debian-based 系统上创建一个基本的 Debian 系统的工具。它可以用于创建 chroot 环境、容器或者为新的系统安装做准备。 安装 deb…...
MySQL之InnoDB引擎
MySQL之InnoDB引擎 简介逻辑存储结构InnoDB架构内存架构缓冲池LRU List、Free List和Flush List更改缓冲区(在5.x版本之前叫做插入缓冲区)自适应hash日志缓冲区 磁盘架构System TablespaceFile Per Table TabspaceGeneral TablespceUndo TablespaceTemp …...
API自动化管理: 从繁琐到轻松
在数字化时代,API(应用程序编程接口)在软件开发中扮演着至关重要的角色。然而,API管理可能会变得十分繁琐,耗费大量时间和资源。那么,如何实现API自动化管理,从而节省时间、提高效率,…...
Databend 开源周报第 107 期
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 理解连接参数 …...
计算机网络参考模型
目录 编辑 简介 1.分层模型 1.1 分层的思想 1.2 OSI参考模型与TCP/IP协议簇 1.OSI 参考模型 2.TCP/IP 参考模型 简介 本章大家将学习网络参考模型的概念,对干参考模型的讲解将会贯穿网络课程的始终,因为它是理解网络这个全新世界的关键所在&…...
【React基础全篇】
文章目录 一、关于 React二、脚手架2.1 create-react-app 脚手架的使用2.2 项目目录解析2.3 抽离配置文件2.4 webpack 二次封装2.4.1 集成 css 预处理器2.4.2 配置解析别名 2.5 setupProxy 代理 三、JSX3.1 jsx 语法详解3.2 React.createElement 四、组件定义4.1 类组件4.2 函数…...
如何使用 Vue.js 侦听嵌套数据?
new Vue({el: "#app",data: {target: {list: [],},},watch: {"target.list": {handler(newVal, oldVal) {},deep: true,},} }); 给target的list属性增加侦听器,需要在watch中使用字符串的写法 "target.list" 来标记侦听的内容 han…...