【操作系统】文件
文件
- 一、文件的概念
- 二、文件目录
- 2.1 FCB
- 2.2 目录结构
- 2.2.1 单机目录
- 2.2.2 两级目录
- 2.2.3 树形目录结构
- 2.2.4 无环图目录结构
- 三、文件的逻辑结构和物理结构
- 3.1 文件的逻辑结构
- 3.1.1 顺序文件
- 3.1.2 索引文件
- 3.1.3 索引顺序文件
- 3.2 文件的物理结构
- 3.2.1 连续分配
- 3.2.2 隐式链接分配
- 3.2.3 显示链接分配
- 四、文件存储空间管理
- 4.1 空闲表法
- 4.2 空闲链表法
- 4.3 位示图
- 五 、文件的基本操作
- 5.1 创建文件
- 5.2 删除文件
- 5.3 打开文件
- 5.4 关闭文件
- 六 、文件保护
- 6.1 口令
- 6.2 加密保护
- 6.3 访问控制
一、文件的概念
- 文件的属性
- 文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件。
- 标识符:一个系统内的各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称。
- 类型:指明文件的类型
- 位置:文件存放的路径(让用户使用)、在外存中的地址(操作系统使用,对用户不可见
- 大小:指明文件大小
- 创建时间、上次修改时间
- 文件所有者信息
- 保护信息:对文件进行保护的访问控制信息
二、文件目录
- 文件之间应该怎样组织起来?
2.1 FCB
- FCB的有序集合称为“文件目录”,一个FCB就是一个文件目录项。
- FCB中包含了文件的基本信息(文件名、物理地址、逻辑结构、物理结构等),存取控制信息(是否可读/可写、禁止访问的用户名单等),使用信息(如文件的建立时间、修改时间等)。
‘
2.2 目录结构
2.2.1 单机目录
单级目录实现了“按名存取”,但是不允许文件重名。
2.2.2 两级目录
采用两级目录结构。分为主文件目录(MFD,Master FileDirectory)和用户文件目录(UFD,User Flie Directory)。
2.2.3 树形目录结构
- 用户(或用户进程)要访问某个文件时要用文件路径名标识文件,文件路径名是个字符串。
- 各级目录之间用“/”隔开。从根目录出发的路径称为绝对路径。
- 每次都从根目录开始查找,是很低效的。因此可以设置一个“当前目录”。当用户想要访问某个文件时,可以使用从当前目录出发的“相对路径”。
- 树形目录结构可以很方便地对文件进行分类,层次结构清晰,也能够更有效地进行文件的管理和保护。但**是,树形结构不便于实现文件的共享。**为此,提出了“无环图目录结构”。
2.2.4 无环图目录结构
- 可以用不同的文件名指向同一个文件,甚至可以指向同一个目录(共享同一目录下的所有内容)。
- 需要为每个共享结点设置一个共享计数器,用于记录此时有多少个地方在共享该结点。用户提出删除结点的请求时,只是删除该用户的FCB、并使共享计数器减1,并不会直接删除共享结点。
三、文件的逻辑结构和物理结构
- 文件内部的数据应该怎样组织起来?
文件的逻辑结构
- 文件应如何存放在外存?
文件的物理结构
3.1 文件的逻辑结构
- 按文件是否有结构分类,可以分为无结构文件、有结构文件两种。
- 无结构文件:**文件内部的数据就是一系列二进制流或字符流组成。又称“流式文件”。**如:Windows操作系统中的.txt文件。
- 有结构文件:由一组相似的记录组成,又称“记录式文件”。每条记录又若干个数据项组成。如:数据库表文件。一般来说,每条记录有一个数据项可作为关键字。根据各条记录的长度(占用的存储空间)是否相等,又可分为定长记录和可变长记录两种。
3.1.1 顺序文件
-
顺序文件:文件中的记录一个接一个地顺序排列(逻辑上).
- 对于数据:记录可以是定长的或可变长的。
- 对于数据与数据之间的结构:各个记录在物理上可以顺序存储或链式存储。
- 对于数据中的关键字:可以分为串结构和顺序结构
串结构:记录之间的顺序与关键字无关
顺序结构:记录之间的顺序按关键字顺序排列 -
随机存取
3.1.2 索引文件
- 索引表本身是定长记录的顺序文件。
- 因此可以快速找到第i个记录对应的索引项。
- 可将关键字作为索引号内容,若按关键字顺序排列,则还可以支持按照关键字折半查找。
3.1.3 索引顺序文件
- 索引顺序文件是索引文件和顺序文件思想的结合。索引顺序文件中,同样会为文件建立一张索引表,但不同的是:并不是每个记录对应一个索引表项,而是一组记录对应一个索引表项。
3.2 文件的物理结构
3.2.1 连续分配
- 连续分配方式要求每个文件在磁盘上占有一组连续的块。
- 优点:支持顺序访问和直接访问(即随机访问);连续分配的文件在顺序访问时速度最快
- 缺点:不方便文件拓展;存储空间利用率低,会产生磁盘碎片
3.2.2 隐式链接分配
- 链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接和显式链接两种。
- 隐式链接:除文件的最后一个盘块之外,每个盘块中都存有指向下一个盘块的指针。文件目录包括文件第一块的指针和最后一块的指针。
- 优点:很方便文件拓展,不会有碎片问题,外存利用率高。
- 缺点:只支持顺序访问,不支持随机访问,查找效率低,指向下一个盘块的指针也需要耗费少量的存储空间。
3.2.3 显示链接分配
- 显式链接:把用于链接文件各物理块的指针显式地存放在一张表中,即文件分配表(FAT,FileAllocationTable)。一个磁盘只会建立一张文件分配表。开机时文件分配表放入内存,并常驻内存。
- 优点:很方便文件拓展,不会有碎片问题,外存利用率高,并且支持随机访问。相比于隐式链接来说,地址转换时不需要访问磁盘,因此文件的访问效率更高。
- 缺点:文件分配表的需要占用一定的存储空间。
四、文件存储空间管理
4.1 空闲表法
- 如何分配磁盘块:与内存管理中的动态分区分配很类似,为一个文件分配连续的存储空间。同样可采用首次适应、最佳适应、最坏适应等算法来决定要为文件分配哪个区间。
- 如何回收磁盘块:与内存管理中的动态分区分配很类似,当回收某个存储区时需要有四种情况一一①回收区的前后都没有相邻空闲区;②回收区的前后都是空闲区;③回收区前面是空闲区;④回收区后面是空闲区
4.2 空闲链表法
-
空闲盘块链接
- 如何分配:若某文件申请K个盘块,则从链头开始依次摘下K个盘块分配,并修改空闲链的链头指针。
- 如何回收:回收的盘块依次挂到链尾,并修改空闲链的链尾指针。
-
空闲盘区链
- 如何分配:若某文件申请K个盘块,则可以采用首次适应、最佳适应等算法,从链头开始检索,按照算法规则找到一个大小符合要求的空闲盘区,分配给文件。若没有合适的连续空闲块,也可以将不同盘区的盘块同时分配给一个文件,注意分配后可能要修改相应的链指针、盘区大小等数据。
- 如何回收:若回收区和某个空闲盘区相邻,则需要将回收区合并到空闲盘区中。若回收区没有和任何空闲区相邻,将回收区作为单独的一个空闲盘区挂到链尾。
4.3 位示图
- 位示图:每个二进制位对应一个盘块。在本例中,“0”代表盘块空闲,“1”代表盘块已分配。
- 如何分配:若文件需要K个块,①顺序扫描位示图,找到K个相邻或不相邻的“0”:②根据字号、位号算出对应的盘块号,将相应盘块分配给文件;③将相应位设置为“1”。
- 如何回收:①根据回收的盘块号计算出对应的字号、位号:②将相应二进制位设为“0”
五 、文件的基本操作
5.1 创建文件
- 进行 Create 系统调用时,需要提供的几个主要参数:
- 所需的外存空间大小(如:一个盘块,即1KB)
- 文件存放路径(“D:/Demo”)
- 文件名(这个地方默认为“新建文本文档.txt”)
- 操作系统在处理 Create 系统调用时,主要做了两件事:
- 在外存中找到文件所需的空间
- 根据文件存放路径的信息找到该目录对应的目录文件(此处就是 D:/Demo 目录)
- 在目录中创建该文件对应的目录项。目录项中包含了文件名、文件在外存中的存放位置等信息。
5.2 删除文件
- 进行 Delete 系统调用时,需要提供的几个主要参数:
- 文件存放路径(“D:/Demo”)
- 文件名(“test.txt”)
- 操作系统在处理 Delete 系统调用时,主要做了几件事:
- 根据文件存放路径找到相应的目录文件,从目录中找到文件名对应的目录项。
- 根据该目录项记录的文件在外存的存放位置、文件大小等信息,回收文件占用的磁盘块。
- 从目录表中删除文件对应的目录项。
5.3 打开文件
在很多操作系统中,在对文件进行操作之前,要求用户先使用open系统调用“打开文件”,需要提供的几个主要参数:
- 文件存放路径(如:“D:/Demo”)
- 文件名(如:“test.txt”)
- 要对文件的操作类型(如:r 只读;rw 读写等)
操作系统在处理 open 系统调用时,主要做了几件事:
- 根据文件存放路径找到相应的目录文件,从目录中找到文件名对应的目录项,并检查该用户是否有指定的操作权限。
- 将目录项复制到内存中的“打开文件表”中。并将对应表目的编号返回给用户。之后用户使用打开文件更新公众号号刷涂小的操作的文件。
5.4 关闭文件
进程使用完文件后,要“关闭文件”操作系统在处理Close系统调用时,主要做了几件事:
1.将进程的打开文件表相应表项删除
2.回收分配给该文件的内存空间等资源
3.系统打开文件表的打开计数器count减1,若count =0,则删除对应表项。
六 、文件保护
6.1 口令
- 为文件设置一个“口令”(如:abc112233),用户请求访问该文件时必须提供“口令”。
- 口令一般存放在文件对应的FCB或索引结点中。用户访问文件前需要先输入“口令”,操作系统会将用户提供的口令与FCB中存储的口令进行对比,如果正确,则允许该用户访问文件。
- 优点:保存口令的空间开销不多,验证口令的时间开销也很小。
- 缺点:正确的“口令”存放在系统内部,不够安全。
6.2 加密保护
- 使用某个“密码”对文件进行加密,在访问文件时需要提供正确的“密码”才能对文件进行正确的解密。
- 优点:保密性强,不需要在系统中存储“密码”
- 缺点:编码/译码,或者说加密/解密要花费一定时间
6.3 访问控制
- 在每个文件的FCB(或索引结点)中增加一个访问控制列表(Access-Control List,ACL),该表中记录了各个用户可以对该文件执行哪些操作。
相关文章:
【操作系统】文件
文件 一、文件的概念二、文件目录2.1 FCB2.2 目录结构2.2.1 单机目录2.2.2 两级目录2.2.3 树形目录结构2.2.4 无环图目录结构 三、文件的逻辑结构和物理结构3.1 文件的逻辑结构3.1.1 顺序文件3.1.2 索引文件3.1.3 索引顺序文件 3.2 文件的物理结构3.2.1 连续分配3.2.2 隐式链接…...
我的ChatGPT怎么登不上?
近期,不少用户反馈在使用ChatGPT时遇到登录困难、连接超时等问题。本文将从技术角度分析常见原因,并提供合规、安全的解决方案,同时结合开发者实际需求推荐实用工具,助您高效应对登录障碍。 ChatGPT登录失败的常见原因 网络环境限…...
实时金融信息搜索的新突破:基于大型语言模型的智能代理框架
“An Agent Framework for Real-Time Financial Information Searching with Large Language Models” 论文地址:https://arxiv.org/pdf/2502.15684 摘要 在金融决策过程中,需要处理海量的实时信息以及复杂的时序关系。然而,传统的搜索引擎在…...
Linux服务器Ubuntu系统环境中安装Jupyter Notebook并且配置内核以便在网页端调用
一、前提 在使用终端访问,并且个人目录下已创建环境。如果还不知道创建环境和安装包,请参考之前文章 机器学习模型算法代码需要在环境中安装的库和包 二、安装相关库Jupyter Notebook 使用pip 或 conda指令安装,确保服务器上安装了 Python …...
Magic 1-For-1: 在一分钟内生成一分钟视频片段(基于Python实现,视频生成模型)
一、前言 文章所有代码都使用Python实现,并且可以分享开源,文章末尾联系博主或者往期文章末尾联系,欢迎探讨学习分享专业领域前言研究和技术分享。 二、摘要 在本技术报告中,我们介绍了 Magic 1-For-1 (Magic141&#…...
基于RK3588的重症监护信息系统应用解决方案
重症监护信息系统是医院临床信息系统的重要组成部分,也是医院信息化建设的重要组成部分。通过集成化的电子病历、实时监测、决策支持等功能,提高重症患者的诊疗效率和质量。 图片来源于网络 重症监护信息系统主要由数据信息采集单元、信息处理单元、通信…...
二十三种设计模式
2 工厂方法模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通…...
网络安全六层模型
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 一、单选题(一) 1、在以下人为的恶意攻击行为中,属于主动攻击的是( )A A.数据篡改及破坏 B…...
BrainSCK:通过知识注入和再激活进行大脑结构和认知对齐以诊断脑部疾病
文章目录 BrainSCK: Brain Structure and Cognition Alignment via Knowledge Injection and Reactivation for Diagnosing Brain Disorders摘要方法实验结果 BrainSCK: Brain Structure and Cognition Alignment via Knowledge Injection and Reactivation for Diagnosing Bra…...
【在Spring Boot项目中接入Modbus协议】
【在Spring Boot项目中接入Modbus协议】 在Spring Boot项目中接入Modbus协议,可以通过使用第三方库(如jamod或modbus4j)来实现。以下是一个基本的步骤指南,帮助你在Spring Boot项目中集成Modbus。 1. 添加依赖 首先,…...
CSS_复合选择器
目录 7. 复合选择器 7.1 交集选择器 7.2 并集选择器 7.3 后代选择器 7.4 子代选择器 7.5 兄弟选择器 7.6 属性选择器 7.7 伪类选择器 7.7.1动态伪类 7.7.2结构伪类 7.7.3否定伪类 7.7.4 UI伪类 7.7.5 目标选择器 7. 复合选择器 7.1 交集选择器 作用:…...
QT-信号与槽
1.在注册登录的练习里面,追加一个QListWidget项目列表 要求:点击注册之后,将账号显示到列表窗口小部件上面去 以及,在列表窗口小部件中双击某个账号的时候,将该账号删除 头文件 #ifndef WIDGET_H #define WIDGET_H #include <…...
在python语言中,请详细介绍一下比较运算符中等于符号(==)的情况?
李升伟 整理 一、有关思考 嗯,我现在要详细了解一下Python中的等于运算符()。首先,我得回忆一下自己之前学过的知识,可能有些地方不太确定,需要仔细思考或者查阅资料。 首先,等于运算符&#…...
halcon学习笔记1
环境的搭建就不说了,主要是作者在入职后的实际学习与实践。 打开应用程序 这里作者的个人理解是1号区域主要是可以观察到读取的图像以及后续对图像进行何种操作,2的算子类似于Opencv中的API,可以在上面进行参数的调整,例如read_I…...
解决寻找两个正序数组中位数问题:C语言实现与解析
在算法学习和实际编程应用中,处理数组相关的问题是很常见的。其中,寻找两个正序数组的中位数就是一个经典的题目,不仅考验对数组操作的熟悉程度,还涉及到对算法效率的考量。今天,我们就来深入探讨如何使用C语言解决这一…...
在 ArcGIS Pro 中描绘和绘制流域
查找数字高程模型 (DEM) 对于 DEM,我使用了USGS Lidar Explorer 地图。该地区有 10m 分辨率的 DEM。 设置坐标系 将坐标系设置为 UTM,以尽量减少失真,并使工具在后续过程中进行更精确的计算。对于俄勒冈州,这是 UTM 区域 10。 …...
在华为统信UOS中安装Anaconda,并配置PyCharm
这里写目录标题 1. 下载Anaconda安装包2. 打开终端3. 安装Anaconda4.下载安装PyCharm 1. 下载Anaconda安装包 首先打开 Anaconda官网 : https://www.anaconda.com/products/distribution,接受或拒绝网站投喂的饼干 然后输入自己的邮箱后,进入下载页面…...
谈谈 HTTPS 的工作原理,SSL / TLS 握手流程是什么?
一、HTTPS 核心机制:非对称加密 对称加密 HTTPS HTTP over TLS/SSL,通过 混合加密体系 解决三大问题: 防窃听 - 对称加密传输内容(如 AES)防篡改 - 数字签名验证数据完整性防冒充 - 数字证书验证服…...
Linux虚拟机网络配置-桥接网络配置
简介 本文档旨在指导用户如何在虚拟环境中配置Linux系统的桥接网络,以实现虚拟机与物理主机以及外部网络的直接通信。桥接网络允许虚拟机如同一台独立的物理机一样直接连接到物理网络,从而可以被分配一个独立的IP地址,并能够与网络中的其他设…...
Transformer架构
核心原理 自注意力机制 通过计算输入序列中每个位置与其他位置的关联权重(Query-Key匹配),动态聚合全局信息,解决了传统RNN/CNN的长距离依赖问题。 实现公式:Attention(Q,K,V)softmax(QKTdk)VAttention(…...
Sat- nerf深度损失
首先损失函数定义在metrics.py,代码如下: class DepthLoss(torch.nn.Module):def __init__(self, lambda_ds1.0):super().__init__()# 初始化lambda_ds参数,用于调节深度损失的权重,并且将其缩小为原来的1/3self.lambda_ds lambda_ds / 3.# 初始化均方…...
c++的多态
1.多态的概念 多态,通俗来说,就是多种形态 多态分为编译时多态(静态多态)和运⾏时多 态(动态多态) 静态多态主要是函数重载和函数模板,它们传不同类型的参数就可以调⽤不同的函数,通过参数不同达到多种形态,之所以叫…...
基于 Rust 与 GBT32960 规范构建高并发、高可用、高扩展服务端程序
一、需求背景 如今,数字化发展特别快,各种设备和系统之间要频繁地交换数据,而且这个过程变得越来越复杂。很多行业都有难题,既要处理大量的数据,又得快速响应各种命令。比如说在智能交通这一块,路上跑的车…...
《宝塔 Nginx SSL 端口管理实战指南:域名解析、端口冲突与后端代理解析》
📢 Nginx & SSL 端口管理分析 1️⃣ 域名解析与 SSL 申请失败分析 在使用宝塔申请 www.mywebsite.test 的 SSL 证书时,遇到了解析失败的问题。最初,我认为 www 只是一个附加的前缀,不属于域名的关键部分,因此只为…...
iOS 实现UIButton自动化点击埋点
思路:我们HOOK UIControl的 addtarget:action:forControlEvents方法,交换UIControl的 addtarget:action:forControlEvents 方法的实现, 在交换的方法中添加原来响应的同时,再添加一个埋点响应,该响应方法实现了点击埋点…...
Java 并行流(Parallel Stream)详解
并行流是Java 8引入的高效处理集合数据的工具,通过多线程加速计算。以下是其核心概念、使用方法及注意事项的详细指南: 1. 核心概念与原理 并行处理机制:将数据分割为多个块,利用Fork/Join框架在多个线程上并行处理,…...
开源软件的版权保护措施
开源软件的版权保护措施主要有以下几方面: 著作权保护 明确版权归属与许可使用:开源软件的源代码是著作权法保护的对象,作者享有复制权、发行权、改编权等专有权益。通过开源协议,作者明确授权用户使用、复制和修改软件…...
11.24 SpringMVC(1)@RequestMapping、@RestController、@RequestParam
一.RequestMapping("/user")//HTTP 请求方法既支持get也支持post,可表示为类路径与方法路径 二.RequestMapping(value "/m7", method {RequestMethod.POST, RequestMethod.GET}) value这个参数指定了请求的 URL 路径。method 参数指定了允许…...
杰和科技GDSM-C数字化信息发布管理系统,信息触达无死角,更全面
在数字化时代,信息的高效传递与精准管理成为商业、教育、公共服务等领域的核心需求。传统信息发布模式常面临设备分散难管控、内容更新滞后、多屏协同效率低等问题。 杰和科技为此开发了一套数字化信息发布管理系统GDSM-C(简称 GDSM-C)系统&a…...
如何停止Oracle expdp/impdp job
一、停止 expdp job举例 1.执行 expdp 命令 $ expdp rui/rui DIRECTORYdmp_dir dumpfilestudyfull_expdp.dmp FULLy logfilestudyfullexpdp.log job_nameexpdp_job2.查看在运行的作业名称 SQL> select job_name,state from dba_datapump_jobs; JOB_NAME …...
Java 8 中,可以使用 Stream API 和 Comparator 对 List 按照元素对象的时间字段进行倒序排序
文章目录 引言I 示例对象II List 按时间字段倒序排序: 使用 `Stream` 和 `Comparator` 排序方法 1:使用 `Comparator.comparing`方法 2:使用 `Comparator.reversed`方法 3:自定义 `Comparator`输出结果III 注意事项**时间字段类型**:**空值处理**:IV 总结引言 案例:在线用…...
MySQL零基础教程14—子查询
子查询比较简单,我们还是通过案例引入。 有时候我们查询的时候,需要用到的不止一个表的数据,比如下面的场景: 查询名字叫李晓红同学的班主任姓名 我们提供三个表的基础信息如下: 从三张表的结构,我们不难…...
考研408数据结构线性表核心知识点与易错点详解(附真题示例与避坑指南)
一、线性表基础概念 1.1 定义与分类 定义:线性表是由n(n≥0)个相同类型数据元素构成的有限序列,元素间呈线性关系。 分类: 顺序表:元素按逻辑顺序存储在一段连续的物理空间中(数组实现&…...
Microk8s Ingress实现七层负载均衡
Microk8s Ingress是什么 Ingress是k8s的一种资源对象,用于管理外部对集群内服务的访问, 它通过提供一个统一的入口点,将外部流量路由到集群内部的不同服务。 Microk8s Ingress用于解决什么问题 k8s集群中服务默认只能在集群内访问。 如果需要从外部访…...
部署Windows Server自带“工作文件夹”实现企业网盘功能完整步骤
前文已经讲解过Windows Server自带的“工作文件夹”功能,现以Windows Server 2025为例介绍部署工作文件夹的完整步骤: 为了确保您能够顺利部署和充分利用工作文件夹的功能,我将按照以下步骤进行讲解。 请注意,在域环境中部署工作…...
前缀和算法 算法4
算法题中帮助复习的知识 vector<int > dp( n ,k); n为数组大小 ,k为初始化 哈希表unordered_map<int ,int > hash; hash.find(k)返回值是迭代器 ,找到k返回其迭代器 没找到返回hash.end() hash.count(k)返回值是数字 ,找到k返回1 ,没找到返回0. C和java中 负数…...
Excel 豆知识 - XLOOKUP 为啥会出 #N/A 错误
XLOOKUP有的时候会出 #VALUE! 这个错误。 因为这个XLOOUP有个参数叫 找不到时的返回值,那么为啥还会返回 #VALUE! 呢? 可能还有别的原因,但是主要原因应该就是 检索范围 和 返回范围 不同。 比如这里检索范围在 B列,是 4-21&…...
ZK Rollup
ZK Rollup 通过生成零知识证明来确保所有提交的交易都是有效的。生成零知识证明的过程涉及复杂的密码学运算,通常使用的是 zk-SNARK(零知识简洁非互动知识论证)或 zk-STARK(零知识可扩展透明知识论证)。以下是 ZK Roll…...
UI设计——新拟态手机主题锁屏设计分享
新拟态手机主题锁屏设计分享 给大家展示一款新式手机主题锁屏设计作品。 整体设计采用简洁的灰白主色调,搭配亮眼的橙色元素,形成鲜明对比,视觉效果清爽又不失活力。 上方显示大数字时钟 “20:36”,日期 “04/11 星期一” 以及天…...
Kafka面试题及原理
1. 消息可靠性(不丢失) 使用Kafka在消息的收发过程都会出现消息丢失,Kafka分别给出了解决方案 生产者发送消息到Brocker丢失消息在Brocker中存储丢失消费者从Brocker 幂等方案:【分布式锁、数据库锁(悲观锁、乐观锁…...
leetcode 238. 除自身以外数组的乘积
题目如下 数据范围 使用两个辅助数组分别存从前乘到后面和从后到前后面再计算就行。 (f数组没处理好还包含了本不能乘于的数所以要向后移动一位)。通过代码 class Solution { public:vector<int> productExceptSelf(vector<int>& n…...
DeepSeek 与 ChatGPT 终极对决:谁才是 AI 语言之王?
我的个人主页 我的专栏:人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!!点赞👍收藏❤ 引言 在当今科技飞速发展的时代,人工智能已然成为推动各领域变革的核心力量ÿ…...
python爬虫:pyspider的详细使用
文章目录 一、pyspider介绍1.1 核心概念1.2 与其他爬虫框架的比较二、 安装 pyspider三、编写爬虫脚本四、运行和监控爬虫4.1 启动爬虫4.2 监控任务状态4.3 任务管理五、高级功能5.1 分布式爬取5.2 JavaScript 渲染5.3 数据存储5.4 定时任务5.5 错误处理和重试机制六、示例:采…...
CSS—text文本、font字体、列表list、表格table、表单input、下拉菜单select
目录 1.文本 2.字体 3.列表list a.无序列表 b.有序列表 c.定义列表 4.表格table a.内容 b.合并单元格 3.表单input a.input标签 b.单选框 c.上传文件 4.下拉菜单 1.文本 属性描述color设置文本颜色。direction指定文本的方向 / 书写方向。letter-spacing设置字符…...
宝塔webhooks与码云实现自动部署
1. 宝塔面板配置Webhook 登录宝塔面板,进入「软件商店」→ 搜索「Webhook」并安装。添加Webhook: 名称:自定义(如 Gitee自动部署)脚本:编写部署脚本,示例如下:#!/bin/bash# 项目路径…...
迷你世界脚本聊天接口:Chat
聊天接口:Chat 彼得兔 更新时间: 2023-04-26 10:18:43 具体函数名及描述如下: 序号 函数名 函数描述 1 sendChat(...) 发送聊天消息(默认全部玩家) 2 sendSystemMsg(...) 发送系统消息(默认全部玩家) sendChat 参数及类型: content:s…...
Yocto + 树莓派摄像头驱动完整指南
—— 从驱动配置、Yocto 构建,到 OpenCV 实战 在树莓派上运行摄像头,在官方的 Raspberry Pi OS 可能很简单,但在 Yocto 项目中,需要手动配置驱动、设备树、软件依赖 才能确保摄像头正常工作。本篇文章从 BSP 驱动配置、Yocto 关键…...
多镜头视频生成、机器人抓取、扩散模型个性化 | Big Model weekly第58期
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 01 GLM-4-Voice: Towards Intelligent and Human-Like End-to-End Spoken Chatbot 本文介绍了一种名为GLM-4-Voice的智能且类人化的端到端语音聊天机器人。它支持中文和英文,能够进行实时语音对话&a…...
Llama 2中的Margin Loss:为何更高的Margin导致更大的Loss和梯度?
Llama 2中的Margin Loss:为何更高的Margin导致更大的Loss和梯度? 在《Llama 2: Open Foundation and Fine-Tuned Chat Models》论文中,作者在强化学习与人类反馈(RLHF)的Reward Model训练中引入了Margin Loss的概念&a…...
边缘计算收益低的三大指标
边缘计算收益低的三大指标主要包括以下方面: 1. 资源贡献不足: 边缘计算的收益通常基于所提供的带宽、存储和计算资源来计算。如果设备的网络带宽有限、在线时间短或提供的存储容量较小,可能无法满足平台设定的最低贡献标准,从而导…...