logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

< 12 > Linux进程:进程虚拟地址空间机制 —— 内存管理的美学

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

文章图片
#linux#算法#运维
< 9 > Linux 进程:进程状态 + 进程切换 + 附带常用指令(jobs / fg / kill / ps)

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

文章图片
#linux#运维#服务器 +2
< 8 > Linux 进程:冯诺依曼体系结构 + 操作系统OS + 进程

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

文章图片
#linux#运维#服务器 +4
<2>Linux基础指令:Linux 常用命令 + 管道机制

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

文章图片
#linux#运维#服务器 +3
C++进阶必备:智能指针从 RAII 核心原理 到 手撕面试高频 shared_ptr 全解析

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

文章图片
#c++#开发语言#后端 +1
【优选算法2】滑动窗口经典算法面试题

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

文章图片
#算法#c++#面试 +1
改造红黑树实现封装 map/set:感受C++ 标准容器的精妙设计与底层实现

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

文章图片
#开发语言#c++#数据结构 +2
到底了