- 博客(62)
- 收藏
- 关注
原创 驻留集过大会怎么样
摘要: 驻留集过大会导致内存浪费、并发度降低和上下文切换开销增大,并非越大越好。其核心在于与工作集的平衡:驻留集小于工作集会引发频繁缺页(抖动);等于工作集时性能最优;大于工作集则造成资源浪费。最佳实践是使驻留集略大于或等于当前工作集,兼顾低缺页率与高系统效率。类比租房,空间与需求匹配才能实现性价比最大化。408考试强调驻留集与工作集的关系,需掌握三者关系的结论。
2026-07-28 23:29:23
217
原创 盘点408范围内-所有的中断类型
摘要: 计算机系统中的中断分为内中断(异常)和外中断。外中断由外部设备(如I/O、时钟)异步触发,内中断由CPU同步检测(如陷阱、故障)。中断处理包括中断请求→响应→保护现场(硬件自动保存PC、PSW,操作系统保存通用寄存器)→执行中断服务程序→恢复现场→中断返回。中断向量表存储中断服务程序入口地址,由操作系统初始化,中断类型号由中断控制器(外中断)或CPU(内中断)提供。 中断与轮询对比:中断通过事件驱动提高CPU利用率,支持多任务;轮询通过状态查询实现简单但效率低。中断在I/O管理(异步通知)、进程调度
2026-03-21 21:35:52
421
原创 死锁产生的四个必要条件
摘要:死锁发生的四个必要条件是:1)互斥条件(资源独占使用);2)请求与保持条件(持有资源同时请求新资源);3)不可剥夺条件(资源不能被强制回收);4)循环等待条件(进程间形成资源等待环)。以打印机R1和扫描仪R2为例,当两个进程P1和P2分别持有R1、R2并相互请求对方资源时,四个条件同时满足导致死锁。值得注意的是,信号量机制若使用不当反而可能引发死锁,如生产者-消费者问题中不当的信号量获取顺序会导致进程相互阻塞。
2026-03-20 16:45:36
373
原创 IP数据包在计算机网络传输的全过程
数据包从源主机到目的主机的传输过程涉及多层封装与解封装。应用层HTTP请求经TCP分段、IP封装后形成数据报,通过ARP获取MAC地址并转为物理信号传输。路由器接收后验证帧有效性,检查IP头部并依据路由表转发,更新TTL后重新封装发送。目的主机反向解封装,最终将HTTP请求递交给Web服务器处理。整个过程展现了网络协议栈的分层协作与路由器的核心转发功能。
2026-03-20 16:44:11
711
1
原创 计算阶乘末尾0的个数
摘要:计算阶乘末尾0的个数关键在于统计因子5的数量,因为每个0由一对2×5产生,且2的数量总是多于5。计算方法为:将N不断除以5并累加商,直到商为0。例如100!中因子5的总数为⌊100/5⌋+⌊100/25⌋=24。算法时间复杂度为O(log₅N),空间复杂度O(1)。需要注意处理边界情况如N=0时结果为0。该方法通过逐步累加各次幂的5因子数量来确保计算准确性。
2026-02-04 13:55:18
536
原创 【杂项】算竞常用 C++ STL 用法
本文介绍了C++标准模板库(STL)在算法竞赛中的核心应用,重点讲解了常用容器和算法的使用技巧。主要内容包括: 常用容器:详细解析了vector、stack、queue、priority_queue、set、map、string和pair的特性及适用场景,强调vector替代数组的优势、容器适配器的使用限制以及字符串操作的注意事项。 迭代器机制:说明迭代器作为非线性结构的遍历工具,比较了其与下标访问的区别,并指出不同容器的迭代器功能差异及使用风险。 关键算法:重点介绍了sort、lower_bound/up
2026-01-15 15:26:57
348
原创 ARP RIP OSPF BGP DHCP以及其他计算机网络当中的通信过程和广播帧单播帧的整理
BGP的Update报文中不仅包含网络前缀,还包含大量的路径属性(Path Attributes),如AS-PATH(经过的AS列表)。:收到邻居发来的路由表后,路由器根据贝尔曼-福特算法,比较和更新自己的路由表。:一种外部网关协议(EGP),用于在不同的自治系统(AS,如不同的ISP)之间交换路由信息。被选中的DHCP服务器收到Request报文后,将这个IP地址与客户端的MAC地址绑定,并设定一个租期。发送,目的是为了通知所有DHCP服务器(包括那些未被选中的),告知它们自己的选择。
2025-12-29 18:37:47
701
原创 关于计算机网络当中的各种计时器
摘要: 计算机网络中的计时器(Timers)是确保数据传输可靠性和效率的隐形"时间管理者"。TCP协议通过四大计时器保障连接稳定:超时重传计时器应对丢包问题,持续计时器避免零窗口死锁,保活计时器检测空闲连接,时间等待计时器确保连接彻底关闭。应用层中,DNS TTL管理缓存有效期,DHCP租期计时器动态分配IP地址。网络层和链路层的ARP缓存老化计时器维护IP-MAC映射,RIP协议计时器则用于路由表更新与失效处理。这些计时器共同构建了网络通信的时间规则体系。
2025-12-29 18:35:43
780
原创 IP多播的约定俗成
IP多播技术摘要 IP多播通过D类地址(224.0.0.0-239.255.255.255)实现高效的一对多通信,解决单播带宽浪费和广播干扰问题。其核心机制包括: 地址映射:多播IP后23位转换为MAC地址(固定前缀01-00-5E),但存在32个IP映射同一MAC的歧义,需网络层二次过滤。 关键协议: IGMP:主机与本地路由器间管理组员关系(加入/离开)。 多播路由协议(如PIM):路由器间构建分发树,优化数据传输路径。 特殊地址:224.0.0.1(所有主机)、224.0.0.2(所有路由器),TTL
2025-11-08 12:43:48
1050
原创 形象解释关于TCP/IP模型——层层封装MAC数据帧的过程
网络数据封装过程是一个分层打包机制。以TCP/IP模型为例,数据从应用层开始,经过传输层(添加TCP头)、网络层(添加IP头)和数据链路层(添加MAC帧头和帧尾),最终形成完整的MAC帧。每层都会添加本层的控制信息,就像俄罗斯套娃一样层层嵌套。MAC帧作为最外层封装,包含了所有内层信息(IP包、TCP段和应用数据),但其本质仍是数据链路层的协议单元,主要负责物理地址寻址和错误校验。整个过程类似于寄信时的多层地址封装。
2025-10-26 01:46:28
1615
原创 程序的编译,链接与装入
编译、链接与装入过程解析(≤150字) 编译将源代码转换为机器语言模块,各模块拥有独立逻辑地址空间(从0开始)。链接阶段将编译模块与库函数整合为.exe文件,统一编址形成完整逻辑地址空间。最后由装入程序将可执行文件载入内存运行。该过程展现了程序从源代码到内存执行的完整转换流程,是计算机系统工作的基础环节。
2025-10-14 15:23:30
260
原创 网络层-IP数据报涉及到的两张表:路由表&ARP表
路由表和ARP缓存表是网络通信的核心组件。路由表存储目标网络的路径信息,包含目的地址、子网掩码、下一跳等字段,指导数据包的转发方向;ARP缓存表则记录IP与MAC地址的映射关系,确保局域网内设备能正确寻址。当数据包到达路由器时,先查询路由表确定转发路径,再通过ARP表获取下一跳的MAC地址进行封装传输。两者协同工作,实现跨网络的高效数据转发。
2025-10-14 00:40:36
1412
2
原创 IO数据进入内存前,还要经过CPU?!
本文介绍了三种I/O控制方式:1)程序查询方式通过CPU轮询设备状态,经累加器/GPR中转数据;2)中断驱动方式由设备主动发中断请求,但数据仍需CPU中转;3)DMA方式通过专用控制器实现I/O设备与主存直接传输,无需CPU介入。三种方式在数据通路和CPU参与度上存在差异,DMA方式效率最高。
2025-10-14 00:38:10
220
原创 408操作系统重点——二级页表结构与地址转换过程
本文详细解析了32位系统下二级页式存储管理中的地址转换过程。通过逻辑地址0x016843C5的转换示例,展示了从页目录表查找(PDE)到页表项定位(PTE)的完整流程。关键点包括:1) 32位页目录项由20位页表基地址和12位控制位组成;2) 地址转换分步进行,先通过PDE找到页表地址,再通过PTE获取物理页帧号;3) 页内偏移量仅用于最终物理地址形成,不包含在页表项中。最终该逻辑地址被转换为物理地址0x007853C5。文章还澄清了关于页目录项结构的常见误解,强调其完整32位特性。
2025-09-25 18:51:52
1138
原创 408真题必看概念—中断处理和子程序调用对寄存器的保存
子程序调用只需保存程序断点,即该指令的下一条指令的地址;中断调用子程序不仅要保护断点(PC 的内容),而且要保护程序状态字寄存器的内容 PSW。在中断处理中,最重要的两个寄存器是 PC 和 PSWR。
2025-09-25 15:21:47
1375
原创 408操作系统复习笔记——页式管理与段式管理-冲刺120+
文章对比了页式管理和段式管理的地址空间特点。页式管理采用一维逻辑地址,程序员使用单一线性地址,由硬件自动拆分为页号和偏移量,对用户透明。段式管理采用二维逻辑地址,程序员需显式指定段号和偏移量,段划分基于程序逻辑结构,用户需感知段的存在。页式管理侧重物理内存划分,段式管理则反映程序逻辑结构。两者在地址解析方式、划分依据和透明性上存在显著差异。
2025-09-25 14:50:54
690
原创 408操作系统复习笔记——关于基本分页管理与请求分页管理-冲刺120+
本文总结了计算机408考试中的分页管理机制,对比基本分页和请求分页的页表结构差异。基本分页仅包含页框号和保护位,实现简单静态的地址映射;而请求分页通过增加关键字段(存在位、访问位、修改位、外存地址)实现了虚拟存储技术,支持按需调入、页面置换等复杂功能。这些字段的进化使页表从静态映射表发展为动态管理中枢,实现了虚拟地址空间大于物理内存的能力。文章揭示了从基本分页到请求分页的本质飞跃。
2025-09-25 14:44:51
862
原创 408操作系统复习笔记——关于IO层次结构与执行流程-冲刺120+
文章摘要:I/O层次结构分为五层:1)用户层提供API接口,将程序调用转换为系统调用;2)设备无关层统一管理所有设备,处理缓冲和错误;3)设备驱动层将抽象命令翻译为硬件指令;4)中断处理层在I/O完成后进行善后处理;5)硬件层执行物理操作。以读取文件为例,请求从用户程序逐层传递至硬件,完成读取后通过中断返回数据。整个过程体现了操作系统对I/O请求的分层处理机制。
2025-09-25 14:34:29
382
原创 408计组复习笔记——关于浮点数规格化-冲刺120+
本文介绍了IEEE754浮点数规格化的原理与标准。规格化通过固定尾数形式(1.M)保证表示唯一性和精度,采用隐含位技术节省存储空间。32位单精度浮点数分为符号位、阶码(移码表示)和尾数三部分。规格化数要求阶码不全为0或1,非规格化数用于填补0与最小规格化数之间的空隙。文章还分析了特殊值(零、无穷大、NaN)的表示方式,并总结了常见考点:数值转换、浮点运算步骤(对阶、尾数运算、规格化、舍入)及相关陷阱(隐含位处理、阶码溢出、边界情况等),特别是非规格化数运算中的特殊处理要求。
2025-09-25 14:22:10
1062
原创 408操作系统复习笔记——关于PCB-冲刺120+
进程控制块(PCB)是操作系统管理和调度进程的核心数据结构,主要包含以下7类关键信息:1)进程标识符(PID/PPID/UID等);2)进程状态信息(就绪/运行/阻塞等);3)CPU现场信息(PC/寄存器/页表基址等);4)调度信息(优先级/时间片等);5)内存管理信息(页表/段表指针);6)文件/I/O状态信息;7)记账信息(CPU时间等)。PCB是进程存在的唯一标志,在上下文切换时需要保存和恢复CPU现场信息,特别是程序计数器、寄存器状态和页表基址等关键数据。理解PCB的组成对掌握进程管理机制至关重要。
2025-09-25 14:16:19
1034
原创 408操作系统复习笔记——关于进程映像-冲刺120+
进程映像是操作系统管理和调度进程的重要依据,包含用户程序(只读代码段)、数据段(初始化变量)、BSS段(未初始化变量)、堆(动态内存)和栈(函数调用)。进程控制块(PCB)虽不属进程映像,但记录其位置信息。进程映像在程序加载时形成,是上下文切换和内存管理的基础。408考试常考进程映像组成、堆栈区别及PCB归属问题,需注意代码段只读、堆栈增长方向等易错点。
2025-09-25 14:05:40
1121
原创 408计组重点—MIPS指令系统-冲刺120+
摘要:MIPS架构中主存与寄存器的数据传输主要通过lw(加载)和sw(存储)两条指令实现。lw将主存数据传至寄存器,sw则将寄存器数据存入主存,采用基址寻址方式(如数组首地址+偏移量)。指令执行过程涉及MDR、IR、MAR等部件协作。MIPS采用32位定长指令格式,包含R型(逻辑运算)、I型(立即数操作)和J型(跳转)三类指令。其中I型指令的偏移量为16位,PC相对寻址时需注意"PC+4"的基准问题。此外,MIPS有32个通用寄存器,移位操作偏移量范围为0-31。
2025-09-22 22:09:07
1631
原创 解决 ubuntu 终端中文输出乱码
7.再点终端(T)选项,设定字符编码,就有GB2312了,选择他就ok了。2.按F10或把鼠标放到终端的最上面,也就是调出终端的菜单栏;6.然后在弹出的窗口中选择简体中文编码就好了,GB2312。4.在选择 设定字符编码。5.选择 添加或删除。
2024-06-04 09:18:56
1446
原创 蓝桥杯B组C++省赛——飞机降落(DFS)
:因为如果不判断的话,当u>num时(也就是找到飞机能正常降落的步骤),返回return 并不是直接退出,而是到了num-1层,然后相当于是递归回去,最后到了第0层,因为没有判断,所以直接接着往下走,返回false。也就是说,不加判断整个程序返回的是第0层的结果false。而我们之前一般的dfs之所以不加判断是因为在n>num的时候直接把结果输出来了,就算递归回去也不影响。
2024-04-04 23:18:56
3142
1
原创 [蓝桥杯 2019 省赛 AB] 完全二叉树的权值
思路:根据题意,我们不难发现:这道题的节点是按照树的层数进行输入的。而我们又知道,对于一个 x 层的完全二叉树,其每层的节点数除最后一层外均为 2^n−1,其中 n 为层数,且从 1 开始。那么,我们就可以一边输入一遍查找,每次判断一下输入的数是不是这一层的最后一个节点。如果有多个深度的权值和同为最大,请你输出其中最小的深度。对于所有评测用例,$1 \le N \le 10^5$,$0 \le |A_i| \le 10^5$。第二行包含 $N$ 个整数 $A_1,A_2, \cdots, A_N$。
2024-03-31 22:54:40
1041
原创 迷宫—BFS 牛客
'W' 代表墙壁,是不能进入的位置,除了墙壁以外的地方都可以走。而这个地方的正解是你先去K处拿到钥匙,再去开门到终点,你会发现会重复走,所以就不是一个bfs能解决的了的事!而且,此迷宫的四周 (最上面的一行、最下面的一行、最左边的一列以及最右边的一列) 都会是墙壁。接下来的H行代表迷宫,每行有一个长度恰为W的字串,此字串只包含`'S'`, `'E'`, `'W'`, `'D '`, `'K'`, `'.'`这几种字元。迷宫的四周(最上面的一行、最下面的一行、最左边的一列以及最右边的一列) 都会是 'W'
2024-03-25 23:06:25
1861
1
原创 蓝桥杯B组C++省赛 全球变暖【bfs】
由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。:此题采用bfs算法,找到每个岛屿的最大连通块,看是否四周都有陆地,有的话就不会被淹没,而被标记过得点就不用再以它为起点寻找连通块了。其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。照片保证第1行、第1列、第N行、第N列的像素都是海洋。以下N行N列代表一张海域照片。
2024-03-22 14:17:15
672
1
原创 蓝桥杯算法练习系统—金属采集(树形dp)
人类在火星上发现了一种新的金属!这些金属分布在一些奇怪的地方,不妨叫它节点好了。一些节点之间有道路相连,所有的节点和道路形成了一棵树。一共有 n 个节点,这些节点被编号为 1~n。人类将 k 个机器人送上了火星,目的是采集这些金属。这些机器人都被送到了一个指定的着落点, S 号节点。每个机器人在着落之后,必须沿着道路行走。当机器人到达一个节点时,它会采集这个节点蕴藏的所有金属矿。当机器人完成自己的任务之后,可以从任意一个节点返回地球。当然,回到地球的机器人就无法再到火星去了。
2024-03-21 20:56:03
666
原创 牛客—数字组合 (DP,01背包)
个数,可选可不选,求出有多少种方法可以让选的数的和刚好等于。对于这种选不选,凑数问题可以考虑。个数中找出若干数,他们和为。背包 ,看一下 数据范围。
2024-03-21 20:48:51
265
原创 蓝桥算法练习系统—卡勒沃夫之弱水路三千(提高型)(拓扑排序)
卡勒沃夫在这个不朽的夜话中搜集出了某人零散的历任女友资料,为了强迫某人将他出的题目的标程交出,现在卡勒沃夫需要一个能将这些零散信息整合起来的程序。在卡勒沃夫充满文学杀伤力的声音中,身处紫荆2号楼202B的四位远近高低各不同的室友纷纷回忆起了各自波澜起伏的过去,并对长在百草园,邻有百花谷的现状表达了各自的见解。在这里我们假装诅咒某人不会同时被两个或两个以上mm泡,某个mm抛弃了某人后不会再吃回头草,同时卡勒沃夫深邃的洞察力使得他收集到了充足的信息以确定某人女友的先后顺序。在小数据组中出现的人物不超过13个。
2024-03-21 20:43:00
541
原创 蓝桥杯算法练习系统—士兵排队问题 拓扑排序
有N个士兵(1≤N≤26),编号依次为A,B,C,…,队列训练时,指挥官要把一些士兵从高到矮一次排成一行,但现在指挥官不能直接获得每个人的身高信息,只能获得“P1比P2高”这样的比较结果(P1、P2∈A,B,C,…,Z,记为 P1>P2),如”A>B”表示A比B高。请编一程序,根据所得到的比较结果求出一种符合条件的排队方案。(注:比较结果中没有涉及的士兵不参加排队)
2024-03-17 12:56:16
554
原创 蓝桥杯算法练习系统—作物杂交【第十一届】【省赛】【C组】
我开始想到是用二维数组存储,定义一个足够大的数组int hybrid[2005][2005],存储所有杂交方 案,如A + B->C,转换为hybrid[A][B] = C. 但是使用这种存储方案的的话,我想不到该如何去得到一种种子的最短杂交时间,因为目标种子 是数组所存的值,我们需要的是通过目标种子的标号能够得到能够杂交出该种子的所有杂交方 案!第 4 至 K+3 行,每行包含 3 个整数 A,B,C,表示第 A 类作物和第 B 类作物杂交可以获得第 C 类作物的种子。作物杂交是作物栽培中重要的一步。
2024-03-16 18:09:12
696
1
原创 关于用max,min函数超时的情况—算法小Tips
在这个代码中,我在每个能被7整除的区间都进行了一次max判断,本来就是O(n2)的复杂度,可能有很多被7整除的情况,都要进入 if((sum[j]-sum[i-1])%7==0){今天在做这道题的时候,有了一点对一些题max函数min函数就会超时的思考,不是每道题都这样,但也可以是个做题小tips;很明显,我把没有比之前最大值大的数直接pass掉,不进入是否被7整除的区间判断,从而减小了处理次数。中进行max比较,从而加大了处理次数,这道题也是超时了。
2024-03-16 15:46:50
475
原创 Qt按回车键实现确定/发送按钮功能
/就会响应到上面函数第三个参数:ui->pushButton_send这个按键原本已有的按键响应函数,当光标在lineEdit上时,输入完毕直接按回车键(大/小都可以),请各位根据自己的槽函数名更改其中相应的代码。构造函数中,添加如下代码。//等于点击该按钮。
2024-03-15 22:50:01
2036
原创 蓝桥算法练习系统—密码锁 BFS爆搜
你获得了一个据说是古代玛雅人制作的箱子。你非常想打开箱子看看里面有什么东西,但是不幸的是,正如所有故事里一样,神秘的箱子出现的时候总是会挂着神秘的锁。根据你所搜集的情报,这个锁在上面存在某连续四个数字是“2012”的时候会自动打开。比如,如果原来有 5 个数字 02120,在一次交换以后你就可以得到 20120,01220,02210 或者 02102。把前两个数字交换以后,锁上的数字是 20120,其中存在连续四个数字2, 0, 1, 2,因此锁会打开。你只需要输出一个数字,即你至少需要的交换次数。
2024-03-14 17:53:11
536
原创 蓝桥算法练习系统—方格取数 DP
某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点(N,N)。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。输入的第一行为一个整数N(表示N*N的方格图),接下来的每行有三个整数,前两个表示位置,第三个数为该位置上所放的数。设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。只需输出一个整数,表示2条路径上取得的最大的和。
2024-03-14 15:12:04
435
原创 蓝桥杯练习系统—瓷砖铺放 dfs
首先看数据范围 n ≤10 很容易想到暴力搜索。题意就是给你一个数 让你求有多少种方法通过 只使用1 和 2来凑出。可以抽象为一棵树树顶是n。从 n开始往下走,每次都有两个分支一 个是减去1一个是减去2,走到底之后只有刚好减完了才算一种方法。有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法?输出一个数,代表所有不同的瓷砖铺放方法的总数。编程用递归的方法求解上述问题。只有一个数N,代表地板的长度。
2024-03-14 14:56:59
928
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅