知识点
知识点库
数据结构 ›基本概念
2 个知识点数据结构 ›线性表
11 个知识点顺序表2 题
顺序表用连续存储空间实现线性表,支持随机访问O(1),插入删除需移动元素O(n)。
链表1 题
由节点通过指针串联的线性结构,插入删除 $O(1)$,随机访问 $O(n)$。
顺序表的定义与实现5 题
顺序表有静态和动态两种实现方式,InitList初始化,核心是连续存储和长度管理。
单链表插入2 题
单链表插入必须先让新节点指向后继,再修改前驱指针,顺序不可颠倒。
单链表删除1 题
单链表删除需找到待删节点的前驱,修改前驱指针跳过待删节点后释放空间。
双链表插入删除2 题
双链表每个节点有prior和next两个指针,插入删除需同时维护前后两个方向的指针。
循环链表2 题
循环链表尾节点指向头节点形成环,常用尾指针表示以便O(1)访问首尾。
静态链表0 题
静态链表用数组模拟链表,游标代替指针,适用于不支持指针的语言环境。
顺序表与链表比较0 题
顺序表适合频繁访问,链表适合频繁插入删除,选择取决于操作特征和存储需求。
线性表的基本概念0 题
线性表是n个相同类型数据元素的有限序列,有唯一首元素和尾元素,元素间一对一关系。
线性表的应用0 题
线性表应用包括多项式表示、有序表合并、稀疏多项式运算等综合算法设计题。
数据结构 ›栈和队列
9 个知识点栈的定义与概念10 题
栈是只允许在一端(栈顶)进行插入和删除的线性表,后进先出LIFO。
顺序栈0 题
顺序栈用数组实现,top指针指示栈顶位置,入栈top++再赋值或先赋值再top++。
链栈0 题
链栈用链表实现栈,栈顶为链表头部,入栈出栈均在表头操作,无栈满问题。
队列的定义与概念4 题
队列是只允许在队尾插入、队头删除的线性表,先进先出FIFO。
循环队列2 题
循环队列用取模运算解决假溢出,判满条件常用牺牲一个单元:(rear+1)%MaxSize==front。
链队列0 题
链队列用链表实现队列,front指向队头,rear指向队尾,适合队列长度变化大的场景。
双端队列2 题
双端队列允许两端都可入队出队,输入受限/输出受限双端队列是常考变体。
栈和队列应用11 题
栈应用:括号匹配、表达式求值(后缀表达式)、递归实现;队列应用:BFS、调度。
栈队列和数组的应用0 题
栈、队列和数组在算法中的综合应用,包括递归消除、滑动窗口、单调栈等。
数据结构 ›数组
4 个知识点数据结构 ›串
4 个知识点数据结构 ›树与二叉树
14 个知识点二叉树遍历3 题
前序=根左右,中序=左根右,后序=左右根;已知任意两种(必含中序)可还原。
哈夫曼树10 题
哈夫曼树是带权路径长度WPL最小的二叉树,用于构造最优前缀编码。
二叉树的顺序存储1 题
二叉树顺序存储用数组按层序编号,适合完全二叉树,一般二叉树会浪费空间。
二叉树的链式存储0 题
二叉链表每个节点含lchild、data、rchild三个域,n个节点有n+1个空指针。
二叉树的定义与性质7 题
二叉树每个节点最多两个子树,具有n0=n2+1等重要性质。
二叉树的先序、中序、后序遍历13 题
先序(根左右)、中序(左根右)、后序(左右根)遍历,递归和非递归实现,可由两种序列重建树。
层次遍历0 题
层次遍历用队列实现,按层从上到下、从左到右访问所有节点。
线索二叉树3 题
线索二叉树利用空指针域存储前驱/后继信息,ltag/rtag区分孩子和线索。
树和森林的遍历6 题
树的先根遍历对应二叉树先序,树的后根遍历对应二叉树中序。
并查集0 题
并查集支持合并和查找操作,路径压缩+按秩合并后近似O(1)。
树的基本概念0 题
树是n个节点的有限集合,有且仅有一个根节点,其余节点构成若干互不相交的子树。
树的存储结构0 题
树的存储有双亲表示法、孩子表示法和孩子兄弟表示法三种。
森林与二叉树的转换0 题
树转二叉树:左孩子右兄弟;森林转二叉树:各树的根通过右指针相连。
堆及其应用0 题
堆是完全二叉树,大顶堆每个节点≥其孩子,建堆O(n),堆排序O(n log n)。
数据结构 ›图
11 个知识点DFS/BFS1 题
DFS用栈/递归实现深度优先,BFS用队列实现广度优先,邻接表时间O(V+E)。
图的基本概念6 题
图由顶点集V和边集E组成,分有向图和无向图,核心概念包括度、路径、连通性。
邻接矩阵3 题
邻接矩阵用二维数组存储,空间O(V²),适合稠密图,无向图矩阵对称。
邻接表2 题
邻接表用链表存储每个顶点的邻接点,空间O(V+E),适合稀疏图。
图的深度优先遍历3 题
DFS从一个顶点出发尽可能深入,用visited数组避免重复访问,生成DFS树。
广度优先遍历2 题
BFS从起始顶点逐层扩展,用队列实现,可求无权图最短路径。
最小生成树4 题
最小生成树:Prim适合稠密图O(V²),Kruskal适合稀疏图O(E log E)。
最短路径4 题
Dijkstra求单源最短路径(非负权)O(V²),Floyd求所有顶点对最短路径O(V³)。
拓扑排序9 题
拓扑排序对DAG的顶点排序使所有有向边从前指向后,可用于检测有向图是否有环。
关键路径5 题
关键路径是AOE网中从源点到汇点的最长路径,决定工程最短完成时间。
邻接多重表与十字链表0 题
十字链表用于有向图,邻接多重表用于无向图,都是边为主体的存储结构。
数据结构 ›查找
13 个知识点顺序查找1 题
顺序查找逐个比较,ASL成功=(n+1)/2,可设置哨兵减少比较次数。
折半查找5 题
折半查找要求有序顺序表,每次比较排除一半,ASL≈log₂(n+1)-1,判定树是平衡BST。
分块查找0 题
分块查找将表分为若干块,块间有序块内无序,索引顺序查找ASL介于顺序和折半之间。
二叉排序树10 题
二叉排序树左<根<右,查找效率取决于树形,最好O(log n)最坏O(n)。
平衡二叉树7 题
AVL树任意节点左右子树高度差≤1,通过LL/RR/LR/RL四种旋转保持平衡,查找O(log n)。
B树10 题
B树是多路平衡查找树,所有叶子在同一层,适合磁盘存储,减少I/O次数。
B+树3 题
B+树所有关键字都在叶子节点,叶子用链表相连,支持高效范围查询。
散列表6 题
通过散列函数将关键字映射到存储位置,平均 $O(1)$;需处理冲突和装填因子。
散列查找性能6 题
散列查找性能取决于装填因子α、散列函数和冲突处理方法,α越大冲突越多。
查找的基本概念0 题
查找的基本概念包括查找表、关键字、ASL(平均查找长度)等核心术语。
红黑树0 题
红黑树是近似平衡的BST,满足5条性质,插入删除最多旋转3次,比AVL树调整代价低。
字符串模式匹配0 题
字符串模式匹配是在主串中查找模式串的位置,朴素法O(mn),KMP法O(m+n)。
查找算法的分析及应用0 题
各查找算法适用场景不同,需根据数据特征(有序性、动态性、存储方式)选择。
数据结构 ›排序
12 个知识点直接插入排序7 题
直接插入排序将元素逐个插入已排序序列的正确位置,O(n²),稳定,对近乎有序数据高效。
希尔排序5 题
希尔排序按递减增量分组进行插入排序,突破O(n²),不稳定,时间约O(n^1.3)。
冒泡排序2 题
冒泡排序相邻元素两两比较交换,每趟将最大元素"冒泡"到末尾,O(n²),稳定。
快速排序9 题
分治:选枢轴分区,左小右大。平均 $O(n\log n)$,最坏 $O(n^2)$,空间 $O(\log n)$。
简单选择排序2 题
简单选择排序每趟选最小元素放到前面,比较次数固定n(n-1)/2,不稳定。
堆排序9 题
堆排序利用堆的性质选择最值,建堆O(n),排序O(n log n),不稳定,原地排序。
归并排序6 题
归并排序将序列递归二分再合并,O(n log n),稳定,需O(n)辅助空间。
基数排序3 题
基数排序按位分配收集,不基于比较,时间O(d(n+r)),稳定,适合关键字位数少的情况。
外部排序2 题
外部排序用于数据量超过内存的情况,核心是多路归并,用败者树和置换选择优化。
排序的基本概念0 题
排序的基本概念包括稳定性、内部/外部排序、基于比较排序的下界Ω(n log n)。
折半插入排序0 题
折半插入排序用折半查找确定插入位置,比较次数O(n log n)但移动次数仍O(n²),稳定。
排序算法的分析与应用0 题
各排序算法在时间、空间、稳定性、适用场景上各有优劣,需综合选择。
计算机组成原理 ›计算机系统概述
8 个知识点计算机发展历程0 题
计算机经历电子管、晶体管、集成电路、超大规模集成电路四代发展。
计算机性能指标9 题
计算机性能指标包括CPI、MIPS、主频、CPU执行时间等,CPU时间=IC×CPI×T。
冯·诺依曼结构4 题
冯·诺依曼结构的核心是存储程序概念,由运算器、控制器、存储器、输入和输出五部分组成。
计算机层次结构3 题
计算机系统分为多个层次,从硬件到应用层,通过编译/解释实现层间转换。
计算机系统的基本组成0 题
计算机系统由硬件和软件组成,软件分为系统软件和应用软件。
计算机硬件的基本组成0 题
计算机硬件由CPU、主存、I/O设备通过总线连接构成,CPU=ALU+CU+寄存器组。
计算机软件和硬件的关系0 题
软件和硬件在逻辑功能上等价,固件是固化在ROM中的软件,介于软硬件之间。
计算机系统的工作原理0 题
计算机按存储程序方式工作,执行"取指→译码→执行"的指令周期循环。
计算机组成原理 ›数据的表示和运算
15 个知识点定点数6 题
定点数用固定小数点位置表示数值,分为定点整数和定点小数,补码表示范围最大。
浮点数4 题
浮点数用S×M×R^E表示,IEEE 754单精度32位(1+8+23),双精度64位(1+11+52)。
补码运算7 题
$n$ 位补码表示范围 $[-2^{n-1}, 2^{n-1}-1]$,加减统一处理。
数制与编码6 题
数制转换是不同进位制之间的相互转换,BCD码用4位二进制表示一位十进制。
原码、反码、补码10 题
原码直接表示,反码符号位不变其余取反,补码=反码+1,补码运算最方便。
定点数加减运算6 题
补码加减运算统一为加法,溢出判断用双符号位法或进位法(C_n⊕C_{n-1})。
定点数乘法0 题
定点数乘法有原码一位乘和Booth补码乘法,硬件用移位和加法实现。
定点数除法0 题
定点数除法有恢复余数法和加减交替法(不恢复余数法),商逐位确定。
浮点数的表示11 题
IEEE 754浮点数由符号位、阶码(移码)、尾数(原码)组成,隐含最高位1。
浮点数运算3 题
浮点数加减运算步骤:对阶→尾数加减→规格化→舍入→判溢出。
ALU0 题
ALU是执行算术和逻辑运算的核心部件,基于加法器实现,有串行和并行进位两种。
无符号整数的表示和运算0 题
无符号整数全部位表示数值,n位范围[0, 2^n-1],溢出时高位丢失。
带符号整数的表示和运算0 题
带符号整数用补码表示,算术移位保持符号位,符号扩展高位补符号位。
补码加减运算器与标志位生成0 题
标志位CF/OF/ZF/SF由ALU运算自动生成,OF=C_n⊕C_{n-1}判断有符号溢出。
乘除法电路的基本结构0 题
阵列乘法器用组合逻辑并行计算,迭代除法器逐位产生商,硬件结构规整。
计算机组成原理 ›存储器层次结构
14 个知识点Cache 映射3 题
直接映射 ($B \bmod C$) / 全相联 / 组相联,权衡命中率和比较器数量。
存储器分类6 题
存储器按介质分为半导体/磁/光存储器,按存取方式分为RAM/ROM/SAM/DAM。
主存基本结构9 题
主存由存储体、MAR、MDR组成,存储周期=存取时间+恢复时间,带宽=数据宽度/周期。
主存容量扩展7 题
主存扩展通过位扩展(加宽字长)、字扩展(增加单元数)或字位同时扩展实现。
Cache基本概念7 题
Cache利用局部性原理,命中率h下平均访问时间=h×tc+(1-h)×tm,多级Cache提高性能。
Cache替换算法1 题
Cache替换算法决定淘汰哪个块,LRU最常用,FIFO可能Belady异常,随机最简单。
Cache写策略3 题
Cache写策略解决Cache与主存数据一致性问题,写回法性能好,写直达法实现简单。
虚拟存储器4 题
虚拟存储器用磁盘扩展主存容量,通过页表实现虚拟地址到物理地址的转换。
多模块存储器0 题
多模块存储器通过交叉编址实现并行访问,低位交叉可提高带宽至m倍。
SRAM与DRAM存储器0 题
SRAM用触发器存储速度快用于Cache,DRAM用电容存储需刷新用于主存。
Flash存储器0 题
Flash存储器是非易失性半导体存储器,写前需擦除,有擦写次数限制。
主存和CPU之间的连接0 题
CPU通过地址总线、数据总线和控制总线与主存连接,总线宽度决定寻址和传输能力。
磁盘存储器0 题
磁盘由盘面、磁道、扇区组成,访问时间=寻道时间+旋转延迟+传输时间。
固态硬盘SSD0 题
SSD基于Flash芯片,无机械部件,随机读写快,但有写放大和寿命限制问题。
计算机组成原理 ›指令系统
9 个知识点指令格式6 题
指令由操作码和地址码组成,按地址码个数分为零/一/二/三地址指令,可用扩展操作码。
寻址方式10 题
寻址方式决定如何获取操作数,常见有立即、直接、间接、寄存器、变址、基址寻址。
CISC与RISC1 题
CISC指令复杂数量多用微程序实现,RISC指令简单定长用硬布线实现适合流水线。
指令系统的基本概念0 题
指令系统(ISA)是软硬件接口,定义了指令格式、数据类型、寻址方式和寄存器组织。
数据的对齐和大小端存放方式0 题
大端模式高字节存低地址,小端模式低字节存低地址;数据对齐提高访问效率。
编译器汇编器和链接器的基本概念0 题
编译器将高级语言翻译为汇编,汇编器翻译为机器码,链接器合并目标文件生成可执行文件。
选择结构语句的机器级表示0 题
if-else语句通过比较指令和条件跳转指令实现,编译器生成CMP+BEQ/BNE序列。
循环结构语句的机器级表示0 题
for/while循环通过条件判断+回跳实现,编译器可能将循环转为do-while形式优化。
过程调用对应的机器级表示0 题
函数调用通过CALL/RET指令实现,栈帧保存返回地址、参数、局部变量和寄存器现场。
计算机组成原理 ›中央处理器
11 个知识点中断15 题
中断是CPU暂停当前程序转去处理紧急事件的机制,通过中断向量表找到处理程序入口。
CPU功能与结构6 题
CPU由运算器(ALU+寄存器)和控制器(CU+PC+IR)组成,负责取指、译码、执行指令。
指令周期6 题
指令周期=取指+译码+执行(+访存+写回),一个指令周期包含若干机器周期和时钟周期。
数据通路6 题
数据通路是数据在功能部件间传送的路径,有专用通路和总线型两种组织方式。
微程序控制器4 题
微程序控制器将指令执行过程用微指令序列描述,存储在控制存储器(CM)中,灵活但较慢。
硬布线控制器1 题
硬布线控制器用组合逻辑电路直接产生控制信号,速度快但设计复杂不易修改。
指令流水线12 题
指令流水线将指令执行分为多个阶段并行处理,理想加速比=流水段数k。
流水线处理技术5 题
流水线冒险包括结构冒险(资源冲突)、数据冒险(数据依赖)和控制冒险(分支)。
异常和中断机制0 题
异常是CPU内部产生的(同步),中断是外部设备产生的(异步),都通过向量表处理。
超标量和动态流水线0 题
超标量处理器每周期发射多条指令,动态流水线支持乱序执行,提高ILP。
多处理器基本概念0 题
多处理器包括SIMD/MIMD/多核/SMT等形式,共享内存需要Cache一致性协议。
计算机组成原理 ›总线
6 个知识点计算机组成原理 ›输入输出系统
9 个知识点I/O接口4 题
I/O接口是CPU与外设之间的桥梁,负责数据缓冲、格式转换、状态管理和地址译码。
程序查询方式2 题
程序查询方式CPU主动轮询设备状态,简单但CPU利用率低,适合慢速设备。
中断方式9 题
中断方式设备就绪后主动通知CPU,CPU可在等待期间执行其他程序,效率高于查询。
DMA方式6 题
DMA方式由DMA控制器直接管理内存与设备间的数据传输,CPU只在开始和结束时介入。
通道方式1 题
通道是独立的I/O处理器,执行通道程序完成复杂I/O操作,进一步解放CPU。
I/O端口及其编址0 题
I/O端口是接口中的寄存器,编址方式分为统一编址(内存映射)和独立编址(I/O映射)。
中断响应与处理过程0 题
中断响应过程:关中断→保存断点→识别中断源→转中断服务程序;处理完后恢复现场返回。
多重中断和中断屏蔽0 题
多重中断允许高优先级中断打断低优先级中断服务,通过中断屏蔽字控制嵌套关系。
DMA控制器的组成与传送过程0 题
DMA控制器包含MAR、WC、DAR、CR等寄存器,支持停止CPU/周期窃取/交替访存三种传送方式。
操作系统 ›操作系统概述
10 个知识点操作系统的概念4 题
操作系统是管理硬件资源、提供用户接口的系统软件,是硬件之上的第一层软件。
操作系统的特征3 题
操作系统四大特征:并发(宏观同时)、共享(资源共用)、虚拟(物理变逻辑)、异步(不可预知)。
操作系统的主要功能1 题
OS主要功能包括进程管理、内存管理、文件管理、设备管理和用户接口。
系统调用12 题
系统调用是用户程序请求OS内核服务的机制,通过trap指令从用户态切换到内核态。
中断与异常11 题
中断是外部异步事件,异常是内部同步事件;两者都会导致CPU从用户态转入内核态。
操作系统发展历程0 题
OS经历批处理、多道程序、分时、实时等发展阶段,每个阶段解决不同的核心问题。
程序运行环境0 题
CPU有用户态和内核态两种运行模式,特权指令只能在内核态执行,通过中断切换模式。
操作系统结构0 题
OS结构有宏内核(整体式)和微内核两大类,宏内核性能好,微内核可靠性好。
操作系统引导0 题
操作系统引导是从加电到OS内核加载完成的过程,经历BIOS/UEFI→引导程序→内核加载。
虚拟机0 题
虚拟机通过软件模拟硬件环境,分为Type-1(裸金属)和Type-2(宿主型)两类。
操作系统 ›进程与线程
8 个知识点进程状态6 题
三态:就绪/运行/阻塞;阻塞不能直接变运行,必须先唤醒为就绪。
PCB1 题
PCB是进程存在的唯一标志,包含PID、状态、PC、寄存器、内存信息、调度信息等。
进程的概念4 题
进程是程序的一次执行过程,具有动态性、并发性、独立性和异步性。
进程控制2 题
进程控制通过原语实现创建(fork)、终止(exit)、阻塞(block)、唤醒(wakeup)等操作。
进程通信1 题
进程通信方式有共享内存(最快)、消息传递(最常用)和管道(半双工字节流)。
线程的概念3 题
线程是CPU调度的基本单位,同一进程的线程共享地址空间和资源,切换开销小。
线程的实现方式2 题
线程实现分为用户级线程(ULT)和内核级线程(KLT),映射模型有多对一、一对一、多对多。
进程间通信方式0 题
进程间通信的具体机制包括共享内存、消息传递、管道和信号,各有适用场景。
操作系统 ›处理机调度
9 个知识点调度基本概念10 题
处理机调度分为高级(作业)、中级(内存)和低级(进程)三个层次,低级调度最频繁。
先来先服务调度1 题
FCFS按到达顺序调度,非抢占,简单公平但对短作业不利,有护航效应。
短作业优先调度4 题
SJF选择服务时间最短的作业优先执行,平均等待时间最优,但可能饿死长作业。
高响应比优先调度2 题
HRRN综合考虑等待时间和服务时间,响应比=(等待+服务)/服务,兼顾长短作业。
时间片轮转调度5 题
时间片轮转让就绪进程轮流使用CPU各一个时间片,适合分时系统,时间片大小是关键。
优先级调度5 题
优先级调度选择优先级最高的进程执行,分静态和动态优先级,可能导致饥饿。
多级反馈队列调度2 题
多级反馈队列设置多个优先级递减的队列,时间片递增,兼顾响应时间和吞吐量。
多处理机调度0 题
多处理机调度需要考虑负载均衡和处理器亲和性,可采用全局队列或每处理器队列。
上下文及其切换机制0 题
上下文切换保存当前进程的寄存器状态并恢复下一个进程的状态,是纯开销。
操作系统 ›进程同步与死锁
13 个知识点同步与互斥3 题
同步是协调进程执行顺序,互斥是保证临界资源同一时刻只被一个进程访问。
临界区7 题
临界区是访问临界资源的代码段,进入前需检查,遵循互斥、有空让进、有限等待原则。
信号量3 题
信号量通过P(wait)和V(signal)操作实现同步互斥,P减1可能阻塞,V加1可能唤醒。
管程2 题
管程将共享数据和操作封装在一起,同一时刻只允许一个进程在管程内执行。
经典同步问题1 题
经典同步问题包括生产者-消费者、读者-写者、哲学家进餐,用信号量解决。
死锁的概念5 题
死锁是多个进程互相等待对方持有的资源而永远阻塞,需同时满足四个必要条件。
死锁预防1 题
死锁预防通过破坏四个必要条件之一来防止死锁发生,但可能降低资源利用率。
死锁避免9 题
死锁避免在资源分配前判断是否安全,银行家算法通过寻找安全序列来决定是否分配。
死锁检测与解除2 题
死锁检测用资源分配图简化判断是否死锁,解除方法有终止进程和资源剥夺。
同步互斥的软件实现方法0 题
软件实现互斥有Peterson算法等,通过共享变量和忙等待实现,不需要硬件支持。
同步互斥的硬件实现方法0 题
硬件实现互斥有中断屏蔽、TestAndSet和Swap指令,原子操作保证不被打断。
锁0 题
锁是最基本的互斥机制,自旋锁忙等待适合短临界区,互斥锁阻塞等待适合长临界区。
条件变量0 题
条件变量配合互斥锁使用,wait释放锁并阻塞,signal/broadcast唤醒等待的线程。
操作系统 ›内存管理基础
8 个知识点分页1 题
分页将内存和进程都划分为固定大小的页/页框,通过页表实现地址转换,有内部碎片。
分段0 题
分段按逻辑意义划分为段(代码段/数据段等),段长可变,有外部碎片,便于共享保护。
程序装入与链接1 题
程序装入方式有绝对装入、可重定位装入和动态运行时装入,链接分静态和动态。
连续分配管理4 题
连续分配将进程放在连续内存区域,有单一连续、固定分区和动态分区三种方式。
分页存储管理6 题
分页存储管理通过页表实现地址转换,多级页表解决页表过大问题,TLB加速查表。
分段存储管理3 题
分段存储管理以段为单位分配内存,段表记录各段基址和长度,支持共享和保护。
段页式存储管理0 题
段页式管理先分段再分页,兼具分段的逻辑性和分页的内存利用率,地址转换需三次访存。
内存管理的基本概念0 题
内存管理负责地址转换、内存分配回收、内存保护和内存共享等基本功能。
操作系统 ›虚拟内存管理
8 个知识点页面置换1 题
FIFO 可能出现 Belady 异常;LRU/OPT 属栈式算法不会。
虚拟内存的基本概念7 题
虚拟内存基于局部性原理,让程序使用比物理内存更大的地址空间,按需调入页面。
页面置换算法10 题
页面置换算法决定淘汰哪个页面,OPT最优但不可实现,LRU近似最优,FIFO有Belady异常。
页面分配策略2 题
页面分配策略决定给进程分配多少页框,有固定分配和可变分配,配合局部或全局置换。
请求分页系统10 题
请求分页系统在缺页时产生缺页中断,从外存调入所需页面,是虚拟内存的核心机制。
内存映射文件0 题
内存映射文件将文件映射到进程地址空间,通过内存访问方式读写文件,支持共享内存。
页框分配与回收0 题
页框分配决定给进程多少物理页框,分配过少会频繁缺页(抖动),过多浪费内存。
虚拟存储器性能影响因素及改进0 题
影响虚拟存储器性能的因素包括页面大小、TLB、页表组织和抖动,可通过多种方法改进。
操作系统 ›文件管理
17 个知识点索引分配6 题
索引分配为每个文件建立索引块,索引块中存放所有数据块的磁盘块号,支持随机访问。
FAT1 题
FAT文件分配表将链接指针集中存放在一张表中,整个FAT常驻内存,支持随机访问。
文件保护1 题
文件保护通过访问控制列表(ACL)或能力表实现,Unix用rwx三类权限×三类用户。
文件系统实现13 题
文件系统实现包括引导块、超级块、inode区和数据区,超级块记录文件系统元信息。
文件与文件系统4 题
文件是具有符号名的一组相关信息的集合,文件系统负责管理外存上的文件。
目录结构4 题
目录结构从单级发展到树形结构,树形目录通过路径名唯一标识文件。
文件共享3 题
文件共享通过硬链接(共享inode)或软链接(存路径名)实现,需要引用计数管理。
空闲空间管理5 题
空闲空间管理方法有位图法、空闲链表法、成组链接法等,位图法最常用。
虚拟文件系统0 题
VFS是文件系统的抽象层,通过统一接口支持多种不同的文件系统共存。
文件元数据和索引节点0 题
inode存储文件元数据(大小、权限、时间、块指针等),文件名存在目录项中不在inode中。
文件的操作0 题
文件基本操作包括创建、删除、打开、关闭、读、写、定位等,打开后通过文件描述符访问。
文件的逻辑结构0 题
文件逻辑结构分为无结构(字节流)、定长记录和变长记录文件,影响检索方式。
文件的物理结构0 题
文件物理结构决定文件数据在磁盘上的存放方式,有连续、链接和索引三种分配方式。
目录的操作0 题
目录操作包括创建、删除、搜索、列出内容、重命名和遍历目录树。
硬链接和软链接0 题
硬链接共享inode不能跨文件系统,软链接存路径名可以跨文件系统但可能悬空。
文件系统全局结构0 题
文件系统全局结构包括MBR、分区表、引导块、超级块、位图、inode表和数据块区。
文件系统挂载0 题
文件系统挂载将一个文件系统关联到目录树的某个挂载点,实现统一的命名空间。
操作系统 ›输入输出管理
13 个知识点DMA0 题
DMA(直接内存访问)由DMAC控制数据在内存和设备间直接传输,CPU只在开始和结束时介入。
设备驱动3 题
设备驱动程序是OS中直接控制硬件设备的软件模块,向上提供统一接口,向下操作硬件。
磁盘调度6 题
磁盘调度算法决定磁头移动顺序,SCAN(电梯算法)和C-SCAN是常用算法。
I/O硬件0 题
I/O硬件包括设备控制器和设备本身,控制器通过寄存器与CPU交互。
I/O控制方式2 题
I/O控制方式从程序查询到中断到DMA逐步减少CPU参与度,提高系统效率。
缓冲技术4 题
缓冲技术用于匹配CPU和设备的速度差异,有单缓冲、双缓冲和循环缓冲。
SPOOLing技术1 题
SPOOLing技术用软件模拟脱机I/O,将独占设备改造为共享设备,典型应用是打印机。
设备分配5 题
设备分配根据设备类型(独占/共享/虚拟)和分配策略将设备分配给请求的进程。
I/O软件层次结构0 题
I/O软件分为用户层、设备无关层、驱动层和中断处理层四个层次,各层功能不同。
输入输出应用程序接口0 题
I/O应用程序接口分为块设备接口、字符设备接口和网络设备接口,提供阻塞/非阻塞模式。
设备驱动程序接口0 题
设备驱动程序接口定义了驱动必须实现的标准函数集,使OS能统一管理不同设备。
磁盘结构与格式化0 题
磁盘物理格式化划分扇区,逻辑格式化建立文件系统结构,分区将磁盘划分为独立区域。
固态硬盘与磨损均衡0 题
SSD无机械部件读写快,但有写放大和寿命限制,磨损均衡算法延长使用寿命。
计算机网络 ›计算机网络体系结构
6 个知识点计算机网络 ›物理层
10 个知识点信道复用1 题
信道复用技术让多个信号共享同一信道,有频分(FDM)、时分(TDM)、波分(WDM)和码分(CDM)。
编码1 题
数字数据的编码方式有NRZ、曼彻斯特编码和差分曼彻斯特编码,各有自同步特性。
物理层基本概念2 题
物理层定义了机械、电气、功能和过程特性,负责在物理介质上传输原始比特流。
数据通信基础6 题
数据通信基础包括信号、信道、带宽等概念,通信方式分为单工、半双工和全双工。
编码与调制7 题
数字数据可编码为数字信号或调制为模拟信号(ASK/FSK/PSK/QAM)进行传输。
传输介质1 题
传输介质分为有线(双绞线/同轴电缆/光纤)和无线(无线电/微波/红外)两大类。
物理层设备0 题
物理层设备有中继器(放大信号延长距离)和集线器(多端口中继器,共享带宽)。
奈奎斯特定理与香农定理0 题
奈奎斯特定理给出无噪声信道容量C=2W·log₂V,香农定理给出有噪声信道极限C=W·log₂(1+S/N)。
电路交换报文交换与分组交换0 题
电路交换建立专用通路延迟小但利用率低,分组交换存储转发利用率高但有延迟。
数据报与虚电路0 题
数据报方式每个分组独立路由可能乱序,虚电路方式先建立逻辑连接保证有序。
计算机网络 ›数据链路层
18 个知识点CSMA/CD4 题
CSMA/CD载波监听多路访问/冲突检测,用于以太网,最小帧长=2×传播时延×数据速率。
数据链路层功能1 题
数据链路层负责相邻节点间的可靠帧传输,功能包括组帧、差错控制、流量控制和访问控制。
组帧1 题
组帧方法有字符计数法、字节填充法、比特填充法和违规编码法,确定帧的边界。
差错控制1 题
差错控制通过检错码(奇偶校验/CRC)发现错误,通过纠错码(海明码)纠正错误。
流量控制与可靠传输10 题
流量控制防止发送方过快,滑动窗口机制同时实现流量控制和可靠传输。
介质访问控制9 题
介质访问控制解决多个节点共享信道的问题,分为信道划分、随机访问和轮询三类。
以太网3 题
以太网是最广泛使用的局域网技术,使用CSMA/CD,MAC地址48位,帧长64-1518字节。
广域网0 题
广域网使用点对点链路,PPP协议是最常用的广域网数据链路层协议。
链路层设备7 题
链路层设备有网桥和交换机,交换机通过学习MAC地址表实现按端口转发,隔离冲突域。
选择重传协议SR0 题
SR只重传出错的帧,接收方缓存失序帧,发送窗口和接收窗口都≤2^(n-1)。
检错编码与纠错编码0 题
CRC是最常用的检错码,海明码可以纠正1位错误,检错能力由海明距离决定。
停止等待协议0 题
停止等待协议发一帧等一个ACK,简单但信道利用率低,利用率=Tframe/(Tframe+2Tprop+Tack)。
后退N帧协议GBN0 题
GBN允许连续发送多帧,出错时从出错帧开始全部重传,发送窗口≤2^n-1。
信道划分多路复用0 题
信道划分将共享信道按频率/时间/波长/码字分为多个子信道,各用户独占子信道无冲突。
随机访问协议0 题
随机访问协议允许站点随时发送,可能冲突,包括ALOHA、CSMA及其变体。
令牌传递协议0 题
令牌传递协议中令牌在环上循环,持有令牌的站才能发送数据,无冲突但有等待延迟。
IEEE802.11无线局域网0 题
IEEE 802.11无线局域网使用CSMA/CA避免冲突,用RTS/CTS解决隐藏终端问题。
VLAN基本概念与原理0 题
VLAN通过交换机端口或802.1Q标签将物理LAN划分为多个逻辑LAN,隔离广播域。
计算机网络 ›网络层
19 个知识点IP 地址4 题
32 位分网络号和主机号,掩码划分子网;网络地址 = IP AND 掩码。
网络层功能4 题
网络层负责不同网络间的分组转发和路由选择,核心协议是IP。
路由算法9 题
路由算法分为距离向量(Bellman-Ford)和链路状态(Dijkstra)两大类,各有优缺点。
层次路由0 题
层次路由将Internet划分为自治系统(AS),AS内用域内路由协议,AS间用域间路由协议。
IPv4地址16 题
IPv4地址32位,分为网络号和主机号,有A/B/C/D/E五类,私有地址不在Internet上路由。
IPv61 题
IPv6地址128位,简化了头部,取消校验和和分片字段,支持即插即用。
地址解析协议2 题
ARP将IP地址解析为MAC地址,通过广播请求单播应答,ARP缓存加速后续查询。
网际控制报文协议2 题
ICMP用于报告网络错误和提供诊断信息,ping用回送请求/应答,traceroute用TTL超时。
网络地址转换1 题
NAT将私有IP地址转换为公有IP地址,NAPT还转换端口号,解决IPv4地址不足问题。
虚拟专用网0 题
VPN利用公共网络建立加密隧道实现安全的私有通信,常用IPsec协议保护数据。
SDN基本概念0 题
SDN将网络控制平面与数据平面分离,由集中式控制器统一管理网络转发策略。
网络层拥塞控制0 题
网络层拥塞控制防止网络过载,分为开环(预防)和闭环(检测+恢复)两种策略。
子网划分与CIDR0 题
子网划分借用主机位作为子网号,CIDR取消分类用前缀长度表示网络,支持路由聚合。
路由协议RIP0 题
RIP使用距离向量算法,以跳数为度量(最大15),每30秒交换路由表,适合小型网络。
路由协议OSPF0 题
OSPF使用链路状态算法和Dijkstra,支持区域划分和多种度量,收敛快适合大型网络。
路由协议BGP0 题
BGP是域间路由协议,基于路径向量算法,使用TCP连接,考虑策略而非最短路径。
IP组播0 题
IP组播使用D类地址(224.0.0.0-239.255.255.255),IGMP管理组成员,组播路由实现高效分发。
移动IP0 题
移动IP允许移动节点在切换网络时保持IP地址不变,通过家乡代理和外地代理实现。
网络层设备与路由器0 题
路由器由输入端口、交换结构、输出端口和路由处理器组成,用最长前缀匹配转发分组。
计算机网络 ›传输层
13 个知识点UDP2 题
UDP是无连接不可靠的传输协议,头部仅8字节,适合实时应用如DNS、视频流。
拥塞控制1 题
拥塞控制防止过多数据注入网络导致性能下降,TCP通过慢开始、拥塞避免等机制实现。
传输层功能1 题
传输层提供端到端的逻辑通信,通过端口号实现进程间的复用和分用。
UDP协议1 题
UDP数据报由8字节头部和数据组成,头部包含源端口、目的端口、长度和校验和。
TCP协议特点1 题
面向连接的可靠传输,三次握手四次挥手,序号 32 位,有拥塞控制和流量控制。
TCP报文段4 题
TCP报文段头部最小20字节,包含序号、确认号、窗口大小、标志位等关键字段。
TCP连接管理6 题
TCP三次握手建立连接(SYN→SYN+ACK→ACK),四次挥手释放连接(FIN→ACK→FIN→ACK)。
TCP可靠传输4 题
TCP通过序号、确认、超时重传和快速重传机制实现可靠传输,保证数据无差错有序不丢失。
TCP流量控制2 题
TCP流量控制通过滑动窗口机制实现,接收方通过rwnd字段告知发送方可接收的数据量。
TCP拥塞控制8 题
TCP拥塞控制经历慢开始(指数增)→拥塞避免(线性增)→快重传→快恢复四个阶段。
传输层寻址与端口0 题
端口号16位(0-65535),分为知名端口(0-1023)、注册端口(1024-49151)和动态端口(49152-65535)。
无连接服务与面向连接服务0 题
无连接服务(UDP)不需要建立连接直接发送,面向连接服务(TCP)需要三次握手建立连接。
UDP校验0 题
UDP校验和通过伪首部+UDP头部+数据计算反码求和,IPv4中可选,IPv6中必须。
计算机网络 ›应用层
11 个知识点HTTP2 题
HTTP是无状态的请求-响应协议,基于TCP,定义了GET/POST等方法和状态码。
应用层模型1 题
网络应用模型有客户端-服务器(C/S)模式和对等(P2P)模式两种基本架构。
DNS5 题
DNS将域名解析为IP地址,采用分层命名和分布式数据库,支持递归和迭代查询。
FTP2 题
FTP使用两个TCP连接:控制连接(端口21)持久保持,数据连接(端口20)按需建立。
电子邮件4 题
电子邮件系统由MUA、MTA、MDA组成,发送用SMTP协议,接收用POP3或IMAP协议。
WWW1 题
WWW由URL(定位)、HTML(表示)和HTTP(传输)三大技术组成,是Internet最重要的应用。
HTTP版本0 题
HTTP从1.0(非持久)到1.1(持久+管线化)到2.0(多路复用)到3.0(基于QUIC/UDP)不断演进。
DHCP0 题
DHCP动态分配IP地址,通过discover→offer→request→ack四步完成,使用UDP端口67/68。
远程终端协议0 题
Telnet提供远程终端登录功能使用端口23明文传输,SSH是其加密替代品使用端口22。
P2P模型0 题
P2P模型中每个节点既是客户端又是服务器,具有自扩展性,典型应用有BitTorrent。
SMTP与POP3协议0 题
SMTP用于发送邮件(端口25)是推协议,POP3用于接收邮件(端口110)是拉协议。