操作系统-笔记-第四章-文件管理
目录
四、第四章——文件管理
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…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

轻量级Docker管理工具Docker Switchboard
简介 什么是 Docker Switchboard ? Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...