
# 数据库（DataBase，DB）
***
数据库是指长期存储在计算机内、有组织的、统一管理的相关数据的集合
早期数据库种类有3种，分别是层次式数据库、网络式数据库和关系型数据库
目前最常见的数据库种类分为关系型数据库和非关系型数据库

根据数据库存储体系分类，还可分为关系型数据库、键值（Key-Value）数据库、列存储数据库、文档数据库和搜索引擎数据库等类型

1、关系型数据库——二维表
2、键值数据库——将数据存储为键值对集合，其中键作为唯一标识符
3、列存储数据库——表中的数据存储形式为列
4、文档数据库——可以存放并获取文档，常见有XML\JSON\BSON等格式
5、搜索引擎数据库是应用在搜索引擎领域的数据存储形式，由于搜索引擎会爬取大量的数据，并以特定的格式进行存储，这样在检索的时候才能保证性能最优

# 文件系统（FileSystem，FS）
***
文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合
文件系统是操作系统中实现文件统一管理的一组软件和相关数据的集合，是专门负责管理和存取文件信息的软件机构

文件类型
按文件的性质和用途分类：系统文件、库文件、用户文件
按信息保存期限分类：临时文件、档案文件、永久文件
按文件的保护方式分类：只读文件、读写文件、可执行文件和不保护文件
UNIX系统将文件分为普通文件、目录文件和设备文件（特殊文件）

常用的文件系统有：FAT、VFAT-NTFS、Ext2和HPFS等

文件的结构和组织
文件的逻辑结构：文件的结构是指文件的组织形式，从用户角度看到的文件组织形式称为文件的逻辑结构，文件系统的用户只要知道所需文件的文件名就可以存取文件中的信息，而无需知道这些文件究竟存放在什么地方。

文件的逻辑结构分为两大类：
有结构的记录式文件：由一个以上的记录构成的文件
无结构的流式文件：由一串顺序字符流构成的文件

文件的物理结构
从现实角度看，文件在文件存储器中的存放方式为文件的物理结构
	连续结构：顺序结构，它将逻辑上连续的文件信息（如记录）一次存放在连续编号的物理块上，只要知道文件的起始物理块号和文件的长度，就可以很方便地进行文件的存取
	链接结构：串联结构，将逻辑上连续的文件信息存放在不连续的物理块上，每个物理块设有一个指针指向下一个物理块，因此只需要知道文件的第一个物理块号就可以按链指针查找整个文件
	索引结构：采用索引结构时，将逻辑上连续的文件信息存放在不连续的物理块中，系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号，并将索引表的起始地址放在与文件对应的文件目录项中

多个物理块的索引表：
索引表是在文件创建时由系统自动建立的，并与文件一起存放在同一个文件卷上。根据一个文件大小的不同，其索引表占用的物理块的个数不等，一般占一个或几个物理块。多个物理块的索引表可以有两种组织方式：链接文件和多重索引方式

文件的存取方法
文件的存取访问指读/写文件存储器上的一个物理块的方法。通常有顺序存取和随机存取两种方法。顺序存取方法是指对文件中的信息按顺序依次进行读写；随机存取方法是指对文件中的信息可以按任意的次序随机读写。

文件存储空间管理
常用的空闲空间管理方法有空闲区表、位示图和空闲块链3种
	空闲区表：将外存空间上的一个连续的未分配区域称为“空闲区”，适用于连续文件结构。
	![[Pasted image 20260304004118.png]]
	位示图：在外存上建立一张位示图（Bitmap），记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块，取值0和1分别代表空闲和占用
	![[Pasted image 20260304004158.png|661]]
	空闲块链：每个空闲物理块中有指向下一个空闲物理块的指针，所有空闲物理块构成一个链表，链表的头指针放在文件存储器的特定位置上（如管理块中），不需要磁盘分配表，节省空间。每次申请空闲物理块只需要根据链表的头指针取出第一个空闲物理块，根据第一个空闲物理的指针可找到第2个空闲物理块，以此类推
	成组链接法：UNIX系统采用的方法，在实现时系统将空闲块分成若干组，每100个空闲块为1组，每组的第1个空闲块登记了下一组空闲块的物理盘块号和空闲块总数，假如某个组的第1个空闲块号等于0，意味着该组是最后一组，无下一组空闲块

文件共享和保护
	文件共享是指不同用户进程使用同一个文件，它不仅是不同用户完成同一任务所必须的功能，还可以节省大量的主存空间，减少由于文件复制而增加的访问外存次数。
		硬链接：指两个文件目录表目指向同一个索引结点的链接，该链接也称为基于索引结点的链接，硬链接是指向不同文件名与同一个文件实体的链接
		符号链接：指建立新的文件或目录，并与原来文件或目录的路径名进行映射，当访问一个符号链接时，系统通过该映射找到源文件的路径，并对其进行访问。
	文件系统对文件的保护常采用存取控制的方式进行，所谓存取控制就是规定不同的用户对文件的访问具有不同的权限，以防止文件被未经文件主同意的用户访问。
		存取控制矩阵：按个人划分权限，缺点是太大
		存取控制表：按用户分类做权限控制
		用户权限表：改进存取控制矩阵的另一种方法是以用户或用户组为单位将用户可存取的文件集中起来存入表中，这个表就叫用户权限表
		密码：在创建文件时，用户提供一个密码，在文件存入磁盘时用该密码对文件的内容进行加密

# 计算机网络
***
在计算机网络中要实现资源共享及信息交换，必须实现不同系统中的实体通信。两实体想要成功通信，必须要有相同的语言，在计算机网络中称为协议或规程。

协议指网络中计算机与计算机进行通信时，为了能够实现数据的正常发送与接收，必须要遵循的一些事先约定好的规则，在这些规程中明确规定了通信时的数据格式、数据传送时序及相应的控制信息和应答信号等内容

常用的网络协议包括：局域网协议（LAN）、广域网协议（WAN）、无线网协议和移动网协议。互联网使用的是Tcp/IP协议簇。

## 文件系统题型⭐

某文件系统文件存储采用文件索引节点法。假设文件索引节点中有8个地址项iaddr[0]-iaddr[7]，每个地址项大小为4字节，其中地址项iaddr[0]-iaddr[5]为直接索引，是一级间接索引，是二级间接索引，磁盘索引块和磁盘数据块大小均为4KB。该文件系统可以表示的单个文件最大长度为多少KB?若要访问iclsClient.dll文件的逻辑块号分别为6、520和1030，则系统应分别采用什么索引方式？

解：
问题1
	直接索引的6个地址项指向了6个数据块，为6\*4KB=24KB
	一级间接索引的地址指向了一个4KB的索引块，则该索引块中最大包含4KB/4B=1024个地址项，每个索引项指向一个磁盘数据块，总共1024\*4KB=4096KB
	二级间接索引同理最大为1024\*1024\*4KB=4194304KB
	共计能够指向4198424KB数据
问题2
	直接索引逻辑块号为0-5，一级间接索引逻辑块号为6-1029（1024+6-1），二级间接索引为1030-1049605，所以6和520为一级间接索引，1030为二级间接索引

某文件管理系统在磁盘上建立了位示图，若磁盘上物理块的编号依次为0,1,2...。系统中的字长为64位，字的编号为0,1,2...。字中的一位对应文件存储器上的一个物理块，假设操作系统将256号物理块分配给某文件，那么该物理块的使用情况在位示图中编号为（）的字中描述，系统应该将该字的（）号位置（）。
	由于字长为64，则256号对应第五个字的第1位，则是编号为4的字中描述，将该字的0号位置“1”



