网站安全建设申请/如何做好线上营销
目录
前言
文件管理:基础
基本概念
文件
文件系统
文件系统的实现模型
文件的组成
文件名
文件分类
文件结构
逻辑结构
物理结构
练习题
文件管理:目录
文件控制块FCB
FCB:File Control Block
FCB信息
目录
基本概念
目录功能
目录基本操作
⭐FCB组织方法
⭐改进的FCB组织方法
目录的组织
路径
无环图目录
链接
通用图目录
文件管理:磁盘管理
空闲分区表
概念
特点
空闲分区链表
概念
特点
位示图
成组块链接法
分配方法
释放方法
例题
文件一致性:盘块
链接数一致性检查
文件执行
数据结构
文件共享
文件操作
执行过程
虚拟文件系统 VFS
前言
设备管理模块已经更新,传送门:电子科技大学操作系统期末复习笔记(四):设备管理
本复习笔记基于电子科技大学计算机操作系统-教学大纲(2022)中的课程模块部分,分为五大章节,分别是:
- CM1:操作系统概念。操作系统基本功能、操作系统发展历史及趋势、操作系统主流架构、常见操作系统特点、操作系统安全机制。
- CM2:进程管理。进程概念、线程概念、进程生命周期、进程调度算法、进程同步互斥、进程间通信和死锁。
- CM3:内存管理。内存空间的概念、连续分配、离散分配(分页管理、分段管理、段页式管理)、虚拟存储管理和页面置换算法。
- CM4:设备管理。I/O 系统结构、缓冲管理、磁盘结构和磁盘调度算法。
- CM5:文件管理。文件系统的作用、逻辑结构、物理结构、目录、文件共享和文件系统的一致性。
本节是最后一部分,要点在CM5,大致内容如下:
第五章 文件管理(6 学时,多媒体课件结合板书面授)CM51、主要内容文件和文件系统的概念,文件逻辑结构(堆文件、顺序文件、索引顺序文件、索引文件、HASH 文件),外存分配方法(连续分配、链接分配、索引分配),目录管理(一级目录、二级目录、多 级目录),文件存储空间的管理技术(位示图、空闲链表、索引)。文件系统性能的改善、数据一致性控制。2、应达到的要求记忆:文件系统性能的改善、数据一致性控制。理解:文件系统的基本概念、目录管理、文件共享、文件保护的方法。分析:文件逻辑结构、文件的物理结构、文件目录、外存空间的管理。
一共3个PPT,就分三大块:文件管理:基础、文件管理:目录、文件管理:磁盘管理。
文件管理:基础
基本概念
文件
- 一种具有符号名的、相关联元素的有序集合。
- 用户按照信息的逻辑功能将关联存储单元组织成文件。
- 文件是信息在磁盘上存储的基本逻辑单位。
- 文件名:对相关联元素的Naming
文件系统
- 概念:
- 对文件实施管理、控制与操作的一组软件。
- 用户或应用程序访问文件的唯一方式
- 目标与功能:
- 保证文件中的数据有效
- 减少或消除丢失或破坏数据的可能性
- 从系统角度优化总吞吐量,从用户角度优化响应时间
- 为各种类型的存储设备提供I/O支持,并提供统一接口
- 统一管理文件的存储空间,实施存储空间的分配与回收
- 实现文件的按名存取:文件名字空间
存储空间
- 实现文件信息共享,提供文件保护和保密措施
- 用户观点
- 实现“按名存取”功能
- 操作系统观点
- 文件目录怎样实现、管理存储空间、文件存储位置、磁盘实际运作方式(与设备管理的接口)
文件系统的实现模型
- 文件系统接口:命令、系统调用和图形窗口的文件系统访问功能。
- 逻辑功能层:根据接口层所发下的文件访问需求,通过相关的文件控制块、文件目录、文件分配表等,获取访问存储介质的物理参数。
- 物理驱动层 :将逻辑功能层所发下的命令转化为相应的驱动程序的动作,完成对文件物理存储设备的处理。
文件的组成
- 文件=元数据+文件内容
- 元数据:文件名、内部标识(如unix的inode)、拥有者、访问时间/权限、文件大小 ……
文件名
- 格式:A.B
- A: 文件名称 B: 文件类型/文件格式/文件扩展名
文件分类
- 对不同文件进行管理,提高系统效率
- 提高用户界面友好性
- 设备文件:统一的抽象接口(了解即可)
文件结构
逻辑结构
从用户角度研究文件的组织形式,独立于物理存储结构
- 无结构文件:流式文件
- 构成文件的基本单位是字节,文件是有逻辑意义的、无结构的一串字节的集合。
- 自身不提供任何数据结构 提供很大的灵活性
- 用户自定义文件内容含义
- 有结构文件:记录文件
- 文件是由若干个记录组成,每个记录有一个键,可按键进行查找。
- 记录(record)、字段(field)、键(key)
- 文件组织与访问
- 原则:
- 原则可能互相矛盾(如索引 vs. 空间)
- 优先级取决于使用文件的应用程序
- 堆文件:数据按到达时间顺序存放;每个记录长度、字段数量不确定;随机访问效率极低,对大多数应用都不可用;例:log(日志文件)
- 顺序文件:所有记录有序排列(主字段);字段定义、记录长度固定;批处理,顺序访问最佳;查询或更新记录的交互式应用,性能差;(随机)访问大型顺序文件时性能差(包含某个key的记录)
- 索引顺序文件:是一个顺序文件;将顺序文件中的记录进行分组(block);索引表仅记录每组中第一个记录的信息;组与组之间记录的关键字必须有序排列;搜索非key字段困难
- 索引文件:每个索引项指向一个记录,索引项按照记录中的某个关键字排序;记录大小不必相同,不必排序,存放在主文件中。 可以对不同的关键字域建立多个索引;主文件中增/减/变更记录时,索引文件须相应更新
- 直接,散列/哈希文件:记录的存储位置由以关键字为参数的哈希函数计算得到。 记录大小一般相同;检索时给出记录的关键字值,通过哈希函数计算出该记录在文件中的位置;访问速度快, 一次只需访问一条记录时使用。例:目录、价格表、调度和名字列表等。
- 原则:
- 有结构文件和无结构文件的区别:
物理结构
文件的逻辑地址和物理地址 文件在物理介质上的存放方式
- 文件访问方法
- 用户在使用文件时按何种次序存取文件
- 顺序存取:按照文件信息的逻辑顺序(记录的排列顺序)依次存取。
- 随机存取(直接存取):按任意的次序对文件进行读写操作
- 与文件使用方式有关
- 源程序文件用顺序存取
- 数据库文件用随机存取
- 与存储介质的特性有关
- 磁带
- 磁盘
- 用户在使用文件时按何种次序存取文件
- ⭐文件分配表
- 为了有效地管理文件存储器,通常把文件存储空间划分成若干个大小相等的物理块。
- 物理块是分配及传输信息的基本单位。
- 块的大小通常是扇区的倍数,如512B、1KB、2KB或者4KB。
- 文件分配表:描述文件所获得物理块的详细信息,不同的操作系统赋予了该结构不同的名字
- DOS:FAT / Windows NTFS: MFT (master file table)
- UNIX类操作系统:inode
- 分配方式
- 静态分配:文件创建时申明需要的最大空间
- 预分配,实现简单,易于维护,但灵活性差
- 动态分配:文件存储空间按需分配
- 实现较复杂,需要维护较多的数据结构,实用性高
- 静态分配:文件创建时申明需要的最大空间
连续结构(顺序)
- 文件信息存放在若干连续的物理块中
- 优点:简单;支持顺序存取和随机存取;顺序存取速度快:磁盘寻道次数(寻道时间)最少
- 缺点:不利于文件尺寸的动态增长(插入、删除);可能会导致磁盘碎片,降低外存空间的利用率(可以采用紧凑技术处理,从而改善)。
链接结构
- 文件信息存放在若干不连续的物理块中,各块之间通过指针连接。
- 隐式链接
- 每个物理块都设有一个指针字段,指向下一个物理块的位置。
- 随机访问性能差
- 显式链接
- 用于链接文件各物理块的指针,显示地存放在一张内存链表中,该表在整个磁盘中仅一张。
- 随机性能优于隐式链接
- 隐式链接
- 优点:提高了磁盘空间利用率,不存在外部碎片问题;有利于文件插入和删除
- 缺点:更多的寻道次数和寻道时间;随机访问性能差;可靠性问题,如指针出错
- 改进方法:扩大文件块分配单位。若干个连续的数据块,称之为簇(Cluster)。
- 簇(Cluster)
- 一组连续的扇区→虚拟扇区
- 分配单位 Cluster=2^n Sectors
- 簇(Cluster)
索引结构
文件信息存放在若干不连续物理块中,每个文件关联一个索引表,记录块号
索引表就是磁盘块地址数组,第i个条目指向文件的第i块
优点:支持随机存取(优于链接结构,找第i块更快);满足了文件动态增长、插入删除要求;利用多级索引,可以支持大型文件的存取
缺点:较多的寻道次数和寻道时间(对比页表)
一个数据块容纳不了一个文件的所有分区时,需要若干个索引结点进行存储
多级索引
- 盘块大小:1 KB,每个盘块号:4B
- 一个索引块中可存放1K/4B=256个盘块号
- 两级索引时, 最多可包含的存放文件的盘块总数N = 256 × 256 = 64 K个盘块号。
- 最大文件长度:64MB
- 计算:盘块大小:4KB,盘块号:4B,一级、两级索引时最大文件分别为?
- 4KB/4B=2^10; 1_file=2^10*4KB=4MB; 2_file=2^10*2^10*4KB=4GB
⭐综合/混合模式
将多种索引分配方式相结合而形成的一种分配方式。
例如,系统既采用了直接地址,又采用了一级索引分配方式,或两级索引分配方式,甚至还采用了三级索引分配方式。
Unix iNode
13个索引项,每项2个字节 前10项为直接块
第11项指向一个物理块,该块中最多可放256个文件物理块的块号(一次间接寻址)。
第12和第13项作为二次和三次间接寻址
单个文件最大长度:(10+256+256*256)*block-storage
练习题
设文件索引节点中有7个地址项 4个直接地址索引 2个一级间接地址索引 1个二级间接地址索引 每个地址项大小为4B 磁盘索引块和磁盘数据块均为256B
问:单个文件的最大长度是多少?
答:每个索引块中的项目数为:256/4=64个
4个直接地址索引块,可索引块数:4
2个一级间接地址索引块,可索引块数:2×64=128
1个二级间接地址索引块,可索引块数:1×64×64=4096
单个文件的最大长度为:(4+128+4096)*256B=1057KB
假定UNIX磁盘块的大小为1KB,每个盘块号占4个字节,文件索引节点中的磁盘地址明细表如图所示,请将下列文件的字节偏移量转换为物理地址?
1. 9000 2. 14000 3. 350000
答:字节偏移量为9000时
逻辑块号为:9000/1024=8 块内偏移量为:9000 % 1024=808 逻辑块号小于10→该块为直接块。逻辑块号8对应的物理盘块号为367,该块中的第808字节即为文件的第9000字节。
字节偏移量为14000时
逻辑块号为:14000/1024=13 块内偏移量为:14000 % 1024=688 逻辑块号9<13<266→该块为一次间接块。 一次间接的盘块号为428,从一次间接块中读出盘块号表,查得逻辑块号13的物理块号为952,该块中的第688字节即为文件的第14000字节。
字节偏移量为350000时
逻辑块号为:350000/1024=341 块内偏移量为:350000 %1024=816 因逻辑块号265<341<65802(256*256+256+10)→该块为二次间接块。 由图可知,二次间接块的盘块号为9156。一个一次间接块中可容纳256个块号,341-10-256=75 75/256=0,故字节偏移量350000在二次间接块的第0个一次间接块的第75个表项中,其盘块号为333,该块中的第816字节即为文件的第350000字节。
文件管理:目录
文件控制块FCB
FCB:File Control Block
描述和控制文件的数据结构 与文件一一对应
文件存在的标志
文件控制块的组成——与操作系统相关
FCB信息
文件名:用户利用该名字进行存取。
文件物理位置:在外存的存储位置(设备名、起始盘块号、占用的盘块等)
使用信息:创建时间:create time ;最后一次读访问的时间:access time ;最后一次写访问的时间:modify time
目录
基本概念
文件目录:一组文件的集合
目录:文件元数据(控制块)的集合
目录文件:目录项构成的文件
递归效果:目录也用FCB表示
目录即文件
目录文件具有固定格式 由系统进行管理,用户不能直接访问目录文件
目录功能
- 按名存取
- 提高检索速度
- 合理地组织目录结构,可以加快对目录的检索速度,从而提高对文件的存取速度。
- 文件共享
- 允许共享文件,节省存储空间,方便用户。
- 允许文件重名
- 方便用户按照自己的习惯来命名和使用文件。
目录基本操作
- 罗列文件
- 搜索文件
- 通过查找目录结构,实现特定文件的按名查找
- 创建文件
- 建立新文件,将相应控制块加到目录中去
- 删除文件
- 当一个文件不再需要时,从目录中删除
- 重命名文件
⭐FCB组织方法
计算: 一个FCB有48字节,假设物理块512字节,某目录有128个文件。 计算查找一个文件平均访盘次数。
- 每块存储的FCB数量:512/48=10
- 128个文件的目录文件需要磁盘块:128/10=13
- 平均访盘次数:(1+13)/2=7(最少一次找到,最多13次,取均值)
⭐改进的FCB组织方法
采用目录项分解法,把FCB分成两部分
一个FCB有48字节,符号目录项占 8字节(文件名6字节,文件号2字节),假设物理块512字节,某目录有128个文件。 采用改进的FCB组织方法,查找一个文件平均访盘次数。
每块存储的符号目录项:512/8=64
每块存储的基本目录项:512/42=12
128个文件,符号文件、基本文件分别需要:128/64=2, 128/12=11
平均访盘次数:(1+2)/2+1=2.5(最少一次查找符号目录,最多两次,取均值,再加上一次精准查找的基本目录项)
目录的组织
- 组织文件目录是文件系统的主要内容之一
- 有效性:快速定位一个文件
- 命名:用户使用方便
- 两个用户对不同的文件可以使用同一个文件名
- 同一个文件可能有不同的文件名
- 文件数据,元数据
- 空目录≠文件数为0的目录:不存在文件数为0的目录!
- 单级目录结构
- 所有文件都包含在同一目录中
- 缺点:查找速度慢;不允许重名;不便于共享;不能分组
- 两级目录结构
- 为每个用户创建单独的目录
- 用户文件目录UFD 主文件目录MFD
- 优点:不同用户可以有相同的文件名;提高了检索速度;将一个用户与另一个用户有效隔开
- 缺点:不利于文件的共享
- 树状目录结构
- 每一级目录可以包含文件,也可以包含下一级目录。
- 只有一个根目录,除根目录外,其余每个目录或者文件都有唯一的一个上级目录。(父目录、子目录)
- 优点:文件的层次和隶属关系清晰;便于实现不同级别的存取保护和文件系统的动态装卸
- 缺点:
- 不便于共享(相比较而言)
路径
从树根(namespace)到节点的唯一表达
不同文件→文件可以同名,但路径名不同。(路径名不同 ≠ 文件不同)
文件可按照相对于工作目录的方式访问:
绝对路径(absolute):从根目录开始指定
相对路径(relative):从当前工作目录开始(./当前目录)(../上一级目录)
练习:当前目录/spell/mail/copy 请用绝对和相对路径表达红色箭头文件
prog: ./prog ; /spell/mail/prog
find: .../programs/p/find ; /programs/p/find
all: /all ; /spell/mail/copy/all
first: ./prt/first ; /spell/mail/prt/first
无环图目录
在树型目录的基础上,允许多个目录项指向同一个数据文件或者目录文件,实现了目录或者数据文件的共享
一个文件或者目录在多个父目录中占有项目
目录结构不再是一颗树,而是一个无环图
实现共享文件:多个用户同时访问一个文件,可节约存储空间
数据复制:数据不一致
通过路径名共享:不灵活
链接:在多个目录中对要共享的文件建立相应的表项,一个文件或目录在目录树中多处出现(引用) 在外存上只有一份物理存储。
链接
硬链接:多个文件名链接到同一个索引结点,链接文件和被链接文件必须位于同一个文件系统中。
软链接:符号链接(symbolic link, shortcut) 特殊类型的文件,其内容是另一个目录或文件的路径。 无硬链接的限制,可跨盘,跨目录,甚至跨机器。建立符号链接文件,并不影响原文件→它们是独立的文件。
缺点: 空间和时间开销更大;如果设置不当,上下级目录关系可能会形成环状
硬链接和软链接的比较
硬链接
只允许文件链接,不允许目录链接;
只能在同一个文件系统范围内进行,不允许跨文件系统。
删除文件时,如果还有其他链接链至该文件,则该文件不能被删除。
软链接
访问速度相对慢一些,但适用范围和灵活性要大一些。
允许目录链接,允许在不同的文件系统间进行链接,这两个文件系统可以在同一个计算机上,也可以在不同的计算机上。
被链接文件的删除和符号链接的删除是完全独立的
通用图目录
无环图目录结构中,加上允许子目录对上层目录的引用的条件
允许环存在:搜索子目录时要避免无穷地循环搜索——限制访问目录的次数来确定;释放孤立环(orphan cycle)——垃圾回收(garbage collection) 。
文件管理:磁盘管理
磁盘存储器
文件存储空间的分配单位是磁盘块而非字节;
文件系统必须记录存储空间的使用情况;
文件系统对存储空间进行分配和回收;
常用的磁盘空间的管理方式有:
空闲分区表
概念
将空闲分区登记在一张表中,一个分区对应一个表项,每个表项包含有空闲分区号、分区起始块号、分区长度等主要信息,按起始块序号排序
特点
- 实现简单
- 将各空闲分区按照长度有序进行排列,能很快找到需要大小的空闲分区。 (排序规则不固定)
- 当空闲分区分布较分散且数量较多时,空闲分区表将会很大。
空闲分区链表
概念
利用空闲分区空间通过指针将各个空闲分区连接起来,并记载各空闲分区大小。
无空闲分区表的额外空间开销。
特点
回收由许多离散小分区组成的文件时,小分区链接到空闲分区链表中需要很长时间(按照某种规则,大小或者位置)。
类比可变分区管理
位示图
- 一个向量,每位(bit)对应于磁盘中的一个块(block)
- 空闲块:0,已使用块:1
- 方便地查找一个或一组连续的空闲分区。
- 位示图需要占用的存储空间大小
- 磁盘容量(字节数)/ (8×数据块大小) Byte
- 大位示图搜索将会降低文件系统的性能
成组块链接法
- 将所有空闲块每n块划分为一组,用索引表表示
- 每组的第一块用来存放后一组中各块的块号和总块数
- 各组间自然构成链表
- 第一组的块号与总块数放在一个专用栈中:空闲盘块号栈
- 栈计数count:栈中的空闲块数目
- 栈中的元素是空闲块编号
- 对块的分配和释放在栈中进行
分配方法
- 查看栈中是否count==1,若不是,那么就弹出栈顶元素N(表示可用磁盘块号),分配出去,--count;若是,弹出栈顶元素N,把空闲块N中的内容读入到栈中;返回空闲块编号N。因为所分配的磁盘块号是栈中最后一个可用盘块号,由于在该盘块中存放了下一组的所有盘块号,于是要先将该块的内容读入栈中,然后才能将该块分配出去
释放方法
- 被释放空闲块为编号N。查看是否栈已满,若不是,则N入栈,++count; 若是,则将栈(包括栈计数)写入到空闲块N,然后把N放入栈顶并置count为1。说明栈已满,须先将栈中所有盘块号复制到新回收的盘块中,再将新回收盘块的编号放到栈中,成为栈中第一个盘块
例题
解:92=41+50+1,所以是#400最下面的一个,也就是401。
文件一致性:盘块
链接数一致性检查
每个目录项都含有一个索引结点号
共享文件的索引结点号会在目录中出现多次
若某文件被共享(硬链接)N次,其索引结点号会在目录中出现N次;
另一方面,该共享文件索引结点中的链接计数count,用来指出共享本文件的引用数。
正常情况下这两个数据应该一致
数据块使用数组和空闲数组互补
文件执行
数据结构
用户打开文件表:每个进程一个,记录用户打开文件
系统文件打开表:整个系统一张:放在内存,用于保存已打开文件的FCB文件号、共享计数(打开共享)、读写位置、打开模式、修改标志等;指向内存inode(也有共享计数)
内存inode表:操作文件时要将磁盘inode加载到内存中;访问速度;共享控制(计数)
三张表之间的关系
文件共享
不同进程独立访问
同进程复制fd:dup() / dup2() / fcntl()
跨进程复制fd:fork()
fork()可以共享文件,但是fork()以后打开文件则不共享
文件操作
执行过程
create:实质是建立FCB,返回一个文件描述符
open:把FCB送到内存,创建用户、系统打开文件表项,建立与内存inode三者关联,返回文件描述符
close:缓存数据写回磁盘;清理用户文件打开表;清理系统文件打开表;清理内存inode表
虚拟文件系统 VFS
支持面向对象式的文件系统实现——多态
用户程序:统一接口
底层支持:不同文件系统
VFS接口:API,而非具体的文件系统实现
相关文章:

电子科技大学操作系统期末复习笔记(五):文件管理
目录 前言 文件管理:基础 基本概念 文件 文件系统 文件系统的实现模型 文件的组成 文件名 文件分类 文件结构 逻辑结构 物理结构 练习题 文件管理:目录 文件控制块FCB FCB:File Control Block FCB信息 目录 基本概念 目…...

SpringBoot+ActiveMQ-发布订阅模式(生产端)
SpringBootActiveMQ-发布订阅模式(生产端)Topic 主题* 消息消费者(订阅方式)消费该消息* 消费生产者将发布到topic中,同时有多个消息消费者(订阅)消费该消息* 这种方式和点对点方式不同…...

Android实例仿真之三
目录 四 Android架构探究 五 大骨架仿真 六 Android实例分析思路拓展 四 Android架构探究 首先,Android系统所带来的好处,就在于它本身代码的开放性,这提供了一个学习、借鉴的平台。这对分析仿真而言,本身就是一大利好…...

关于MySQL的limit优化
1、前提 提示:只适用于InnoDB引擎 2、InnoDB存储特点 它把索引和数据放在了一个文件中,就是聚集索引。这与MyISAM引擎是不一样的。 3、SQL示例 -- 给cve字段建立索引 select * from cnnvd where cveCVE-2022-24808 limit 300000,10;由于M…...

Java-Stream流基本使用
collection.stream将会破坏原有的数据结构,可以通过collect方法收集,可以用Collectors提供的构造器,add等方法构造形成新的数据结构。 HashSet<List<Integer>> rs new HashSet<>(); rs.stream().toList();Collection集合转…...

Liunx(狂神课堂笔记)
一.常用命令 1. cd 切换目录 cd ./* 当前目录cd /* 绝对路径cd .. 返回上一级目录cd ~ 回到当前目录pwd …...

【史上最全面esp32教程】点灯大师篇
文章目录前言ESP32简介认识arduino的两个函数点灯步骤函数介绍LED灯闪烁流水灯总结前言 esp32有很多的功能,例如wifi,蓝牙等,这节我们学习最简单的点灯。 提示:以下是本篇文章正文内容,下面案例可供参考 ESP32简介 …...

【Java 面试合集】内存中为什么要区分栈和堆
内存中为什么要区分栈和堆 1. 概述 嗨,大家好Java 面试合集又来了,今天我们分享的主题很大众化以及普通。无论是Java 语言本身还是别的语言都会有所涉及,但是今天我们从Java角度来讲下 2. 分析 今天我们会从多个方向来分享这个话题 2.1 栈是…...

【NLP实战】Python字符串处理
一、Python字符串基本操作 1. 去掉前后的特殊字符(strip) Python的strip操作可以去除字符串前后的空格(不改变原串)下例将前后的空格均删掉👇 str 人工智能 str.strip() # OUT:人工智能rstrip删除右边的空格&a…...

17.CSS伪类
举一个简单的例子来说明什么是伪类? 从之前的代码中,如下图,我们像给这两个列表中的某一列单独设置样式,我们该如何做呢? 我们肯定会选择在li标签上添加class去实现,如下 开始标记结束标记实际元素 <…...

数据链路层
一.以太网数据链路层考虑的是相邻两个节点(通过网线/光纤、无线直接相连的两个设备)之间的传输,这里的典型协议中最知名的就是“以太网”这个协议了数据链路层,也规定了物理层的内容以太网帧格式:IP地址用来描述整个传…...

投票需要什么流程微信投票互助平台的免费投票平台搭建
“最美家政人”网络评选投票_免费小程序投票推广_小程序投票平台好处手机互联网给所有人都带来不同程度的便利,而微信已经成为国民的系统级别的应用。现在很多人都会在微信群或朋友圈里转发投票,对于运营及推广来说找一个合适的投票小程序能够提高工作效…...

数据结构——算法的时间复杂度
🌇个人主页:_麦麦_ 📚今日名言:生命中曾经有过的所有灿烂,都终究需要用寂寞来偿还。——《百年孤独》 目录 一、前言 二、正文 1.算法效率 1.1如何衡量一个算法的好坏 1.2算法的复杂度 2. 时间复杂度 2.1时间复杂度的…...

Go基础-类型
文章目录1 bool2 有符号整数3 无符号整数4 浮点数5 复数6 string7 关于类型转型1 bool bool类型有两个值,一个是true,一个是false。 测试 package mainimport "fmt"func main() {a : trueb : falsec : a && bd : a || bfmt.Println(a…...

良许翻天覆地的2022年
大家好,我是良许,新年快乐呀~ 在我女室友坚持不懈的努力之下,2022年的最后一天我终于被她传染了,阳了~ 此时的我,正顶着37多度的低烧写下这篇年终总结。 2022年,对于大多数人而言,封控是主旋…...

node+vue微信小程序的社区后勤报修系统
社区后勤报修系统小程序进行总体设计和详细设计。总体设计主要包括小程序功能设计、小程序总体结构设计、小程序数据结构设计和小程序安全设计等:详细设计主要包括社区后勤报修系统小程序数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对社区后…...

WSL(Windows Subsystem for Linux)
一、WSL优势 •传统方式:获取Linux操作系统环境,必须安装完整的虚拟机,如VMware•WSL:以非常轻量化的方式,得到Linux系统环境总结:WSL更方便,简单、好用、轻量化、省内存 二、什么是WSL ①不…...

华为OD机试题 - 单词反转(JavaScript)
最近更新的博客 华为OD机试题 - 任务总执行时长(JavaScript) 华为OD机试题 - 开放日活动(JavaScript) 华为OD机试 - 最近的点 | 备考思路,刷题要点,答疑 【新解法】 华为OD机试题 - 最小步骤数(JavaScript) 华为OD机试题 - 任务混部(JavaScript) 华为OD机试题 - N 进…...

人工智能原理复习 | 产生式系统的搜索策略
文章目录 一、回溯策略二、图搜索策略三、A 算法与 A* 算法CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 主要内容:回溯策略、图搜索策略(无信息的图搜索、启发式的图搜索)、A 算法与 A* 算法 一、回溯策略 回溯算法(BackTracking Algorithm) 实际上是一个类似枚举的搜…...

初始C语言 - 数组(一维数组、二维数组、数组越界、数组传参)
目录 一、一维数组的创建和初始化 1、数组的创建 2、 数组的初始化 3.一维数组的使用 数组通过下标来访问 总结: 1. 数组是使用下标来访问的,下标是从0开始。 2. 数组的大小可以通过计算得到。 4、一维数组在内存中的存储 二、 二维数组的创建和初始化 1.二…...

人工智能原理复习 | 可分解产生式系统的搜索策略
文章目录 一、前言二、基础知识三、AO* 算法四、博弈树搜索五、总结CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 主要内容: 与 / {/} /或图搜索、AO* 算法、极大极小过程、...

线段树(维护区间信息)
一,定义: 可以在logN时间内实现区间修改,单点修改,区间查询等操作的工具 二,思路(修改无乘法时): 1,建树 通过把区间不断二分建立一颗二叉树 我们以维护一个数组a{1…...

C语言 基于Ncurse库的贪吃蛇游戏项目
为了敲键盘及时响应,需要用到ncurse 测试代码: ncurse1.c /* ncurse1.c */ #include <curses.h> //ncurse的头文件。int main() {char c;int i 0;//ncurse界面的初始化函数。initscr(); for(i0;i<2;i){c getch();printw("\n");//…...

【Java基础】Java语言特性
认识Java java语言的执行过程 编写纯文本文件 .java 经过javac编译器(java complier)编译 .class .class是二进制的字节码 在源文件中定义几个类,就会生成几个 由JVM运行 .class JVM把字节码编译成可以在处理器上运行的高性能的本地代码(native code),…...

python进阶--Numyp库(一)
一、Numpy库介绍 NumPy(Numerical Python)是Python的⼀种开源的数值计算扩展。提供多维数组对象,各种派⽣对象(如掩码数组和矩阵),这种⼯具可⽤来存储和处理⼤型矩阵,⽐Python⾃身的嵌套列表&am…...

CV学习笔记-Inception
CV学习笔记-Inception 目录 文章目录CV学习笔记-Inception目录1. 常见的卷积神经网络2. Inception(1) Inception提出背景(2) Inception module 核心思想3. Inception的历史版本(1) InceptionV1-GoogleNet(2) InceptionV2(3) InceptionV3(4) Inception V44. Inception模型的特点…...

注意力机制笔记——结合沐神和B站老弓up主
B站【大白话浅谈【注意力机制】】 聚类 是针对 样本, 注意力机制是针对样本相关性,来进行计算的 自注意力机制 指的是 query ,key,value都是同一个部分。 可以学到 类似的 短语 ,和 语义特征。如its 指代的对象。 评论区大佬 根据这篇论文《Effective Approaches to…...

建议收藏,轻松搞懂区块链
未来已来,只是不均衡地分布在当下 大家好,我是菜农,欢迎来到我的频道。 本文共 5844字,预计阅读 30 分钟 区块链是近些年来最热门的前沿技术,被认为是未来十几年对金融、物联网、医疗等诸多领域产生最大影响的"…...

php设计一个新春祝福墙
记得十几年前的时候,每到春节,各大网站都会建一个祝福墙,上面挂满网友的新年寄语。这些年随着移动互联网的高速发展,web的新春祝福墙越来越少了。今天,咱们就来考考古,用快速原型法进行设计。原型设计采用M…...

KubeSphere 社区双周报 | OpenFunction 集成 WasmEdge | 2023.02.03-02.16
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2023.02.03-2023.…...