
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文回顾了程序地址空间的概念,指出C语言中的代码段、数据段等分区并非实际物理内存,而是操作系统提供的虚拟地址空间。通过页表映射机制,整齐的虚拟地址被转换为零散分布的物理内存地址,这种设计有效解决了内存碎片问题。文中通过C代码示例展示了不同类型变量(全局变量、静态变量、堆内存、栈内存等)在虚拟地址空间中的分布情况,并打印了它们的地址。特别指出,相同的虚拟地址可能对应不同的物理地址值,进一步验证了虚拟

操作系统进程状态分为运行态、就绪态、阻塞态和挂起态。运行态指进程占用CPU执行;就绪态指进程在调度队列等待CPU分配;阻塞态指进程因等待资源而暂停执行;挂起态则是内存不足时将进程数据换出到磁盘。Linux内核采用双链表实现调度队列,通过偏移量计算地址实现通用性。Linux特有进程状态包括:R、S、T、D、Z等。前台进程占用键盘资源,后台进程并行执行提高效率。僵尸进程需父进程回收,孤儿进程由syst

本文摘要: 冯诺依曼体系结构是现代计算机的基础架构,由CPU、存储器(内存)和外部设备(输入/输出设备)组成。其核心特点是CPU不直接访问外设,而是通过内存作为中介进行数据交互,解决了CPU与外设速度差异导致的效率问题。操作系统通过进程管理(PCB结构体)实现软硬件资源管理,采用"先描述再组织"的方式。进程运行涉及虚拟地址空间机制,父子进程通过写时拷贝实现数据隔离,同时共享代码

本文摘要:本文系统介绍了Linux常用命令及其底层原理。主要内容包括:1) which查找命令路径,揭示Linux命令本质是可执行文件;2) alias命令别名设置;3) man帮助手册使用;4) Linux"一切皆文件"的核心设计理念;5) echo输出与重定向操作;6) cat文件读取与输入重定向;7) 文件拷贝(cp)、移动(mv)等操作;8) 文本编辑器nano;9)

系统介绍了C++智能指针的核心概念与应用。主要内容包括:1)智能指针的设计思路基于RAII机制,通过对象生命周期管理资源;2)标准库智能指针类型(auto_ptr、unique_ptr、shared_ptr、weak_ptr)的特性与使用场景;3)智能指针的模拟实现,重点剖析shared_ptr的引用计数机制;4)循环引用问题及其weak_ptr解决方案;5)内存泄漏的危害与防范措施。文章从原理到

本文总结了多个滑动窗口算法的经典题目及其解法,包括长度最小的子数组、无重复字符的最长子串、最大连续1的个数III等。通过分析暴力枚举的优化过程,揭示了滑动窗口的核心思想:利用单调性和同向双指针减少重复计算。针对每道题目,详细探讨了如何将问题转化为滑动窗口模型,并重点分析了边界条件处理、哈希表优化等关键点。特别强调了不同题目中更新结果的时机选择、有效字符统计等易错环节,并提供了反向思考等解题技巧。这

本文详解如何通过红黑树封装实现STL中的map和set容器。核心思路是利用仿函数提取键值,使单棵红黑树能同时支持map(kv结构)和set(k结构)。关键实现包括:1) 模板参数改造,使用通用类型T替代KV;2) 通过仿函数回调获取键值;3) 迭代器实现基于中序遍历的++/--操作;4) 解决键值不可修改问题(set用const Key,map固定pair的Key);5) 完善Insert返回pa








