自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 【Linux仓库】虚拟地址空间【进程·陆】

本文介绍了C/C++程序的内存空间布局,重点讲解了虚拟地址空间的概念及其作用。通过代码实验,验证了各内存区域(代码区、全局区、堆、栈)在虚拟地址空间中的分布,并通过fork实验说明父子进程虚拟地址相同但数据独立,体现了写时拷贝机制。文章还介绍了Linux内核用于管理进程虚拟内存的mm_struct和vm_area_struct结构。最后分析了虚拟地址空间的优势,包括提升安全性、简化管理和提高效率。

2025-07-12 18:10:02 792 66

原创 【Linux仓库】命令行参数与环境变量【进程·伍】

本文介绍了Linux系统中命令行参数和环境变量的相关知识。命令行参数通过main函数的argc和argv传递,允许程序根据用户输入执行不同操作,提升灵活性(如ls指令的选项实现)。环境变量是系统级全局变量,如PATH指定命令搜索路径,PWD记录当前目录。获取环境变量的方法包括main函数参数、getenv函数和environ变量。文章还解释了进程如何继承父进程环境变量,区分了环境变量和本地变量,并介绍了内建命令的概念(如echo)。

2025-07-11 12:36:17 1189 42

原创 【Linux仓库】进程优先级及进程调度【进程·肆】

本文深入探讨了Linux系统的进程优先级和调度机制。文章首先介绍了PRI(进程优先级)和NI(nice值)的概念及其关系,解释了通过调整nice值(-20到19)来改变进程优先级的原理。随后分析了Linux内核的O(1)调度算法实现,重点讲解了活动队列和过期队列的双队列设计,以及通过bitmap提高调度效率的机制。文章还讨论了分时操作系统如何避免进程饥饿问题,详细阐述了通过交换活动队列和过期队列指针来保证公平调度的巧妙设计。最后,文章简要提及了进程调度的上下文切换过程和时间片机制。

2025-07-03 13:54:11 2393 71

原创 【Linux仓库】进程概念与基本操作【进程·贰】

本文摘要:本文介绍了Linux中进程的基本概念与操作。进程由内核数据结构(PCB)和代码数据组成,操作系统通过链表管理多个进程。讲解了进程属性(PID、状态、优先级等)和进程切换机制(上下文保存与恢复)。通过/proc系统文件夹和ps工具可查看进程信息,包括父进程PPID。重点阐述了fork系统调用创建子进程的过程及其双返回值特性(父进程返回子进程PID,子进程返回0),为后续学习进程管理和虚拟地址空间奠定基础。

2025-06-21 10:59:27 1522 74

原创 【Linux仓库】进程状态【进程·叁】

本文探讨了Linux进程状态的理论设计与实际实现差异。首先阐述了进程状态的表示方法(通过数字标记)和双链表在进程管理中的应用(Linux采用封装指针而非直接链接)。然后详细分析了四种核心状态:运行状态(处于CPU调度队列)、阻塞状态(等待设备资源)、挂起状态(内存不足时置换到磁盘)以及僵尸状态(保留task_struct等待父进程读取退出信息)。特别指出D状态(不可中断磁盘休眠)的重要性,并通过职场故事说明其防杀特性。最后讨论了僵尸进程的危害(内存泄漏风险)和孤儿进程的处理机制。

2025-06-13 19:00:13 1569 77

原创 【Linux仓库】冯诺依曼体系结构与操作系统【进程·壹】

本文介绍了冯诺依曼体系结构的特点和计算机的数据流动原理。作者首先解析了冯诺依曼体系中CPU、内存和输入输出设备的关系,指出内存作为CPU与外设间的缓冲层,既平衡了速度和成本,又提升了整体效率。通过微信聊天和文件传输的例子,生动说明了数据在不同设备间拷贝的本质。文章还探讨了操作系统的作用和管理方式,强调操作系统通过"先描述,再组织"的方法管理软硬件资源,并解释了系统调用和库的关系。最后指出安全机制在操作系统中的重要性。

2025-06-04 15:01:57 3306 84

原创 【Linux仓库】Linux内核:深度解剖Makefile如何管理百万行代码?

本文介绍了Linux下make和Makefile的使用方法。Makefile通过定义编译规则实现自动化构建,提高开发效率。文章解析了Makefile的基本语法,包括目标文件、依赖关系和执行命令,并解释了.PHONY伪目标的作用(强制执行某些操作)。通过实例演示了从源代码到可执行文件的完整编译过程,包括预处理、编译、汇编和链接各阶段。最佳实践建议将clean标记为.PHONY,而可执行目标则根据文件修改时间决定是否需要重新编译。最后介绍了使用自动化变量$@和$^简化Makefile编写的方法。

2025-05-29 21:15:24 1299 80

原创 【Linux仓库】权限的量子纠缠:用户/组/other如何编织Linux访问控制网?

本文介绍了Linux系统中的权限管理知识,主要包括:Shell作为用户与内核交互的解释器作用Linux用户分类(root和普通用户)及sudo提权机制权限=用户+文件属性的概念,其中用户角色分为拥有者、所属组和其他人权限修改命令chown/chgrp/chmod的使用方法目录权限的特殊性(r/w/x分别对应查看/修改/进入权限)umask掩码对新建文件默认权限的影响粘滞位(t)的用途:防止目录中的文件被非所有者删除

2025-05-24 18:19:48 1925 86

原创 【Linux仓库】Linux终端生存手册:从cd到zip的救命指令实战【下】

本章节主要介绍linux中基础指令的相关用法及热键。

2025-05-19 23:42:13 2355 91

原创 【C++指南】STL容器的安全革命:如何封装Vector杜绝越界访问与迭代器失效?

本章节基本介绍了vector的常见接口以及vector类的代码实现,重点在于实现vector出现的迭代器失效问题。

2025-05-10 23:37:18 1857 88

原创 【Linux仓库】Linux终端生存手册:从cd到zip的救命指令实战【上】

本章节介绍了开源与闭源,一些常用的基础指令,及LInux一切皆文件的思想。

2025-05-04 18:04:47 4108 94

原创 【C++指南】告别C字符串陷阱:如何实现封装string?

本章节剖析string中常用接口:构造、容量操作、迭代器、修改、非成员函数,模拟stl库中函数实现对应接口,并引入了两个C++11引入的新语法auto和范围for。

2025-04-25 21:16:32 2762 104

原创 【C++指南】哈希驱动的封装:如何让unordered_map/set飞得更快更稳?【上】

本章节从直接定址法进行引入,带出了哈希的概念。接着通过剖析哈希源代码来对开放定址法和链地址法进行手动造轮子。

2025-04-18 17:14:34 3578 112

原创 【c++指南】模板VS手写代码:这场效率对决你站哪边?【下】

本章节主讲非类型模版参数及特化场景,解释了为什么模版需要进行声明定义分离原因。

2025-04-06 17:12:04 1806 101

原创 【c++指南】模板VS手写代码:这场效率对决你站哪边?【上】

本章介绍了泛型编程的概念,函数模版及类模版的概念及使用。

2025-04-05 17:37:24 1843 78

原创 【C++指南】一文总结C++二叉搜索树

本章节详解二叉搜索树的定义、性能分析,插入、查找、删除等接口和代码实现,key/value的代码实现

2025-04-01 20:24:47 1440 101

原创 【C++指南】你真的了解map和set吗?【下】

本章节详解map系列的常用接口,[ ]的使用及例题场景。

2025-03-24 13:38:50 1680 111

原创 【C++指南】你真的了解map和set吗?【上】

本章节详解序列式、关联式容器区别及set系列的使用。

2025-03-20 19:31:21 6501 101

原创 【C++指南】内存管理完全手册:new/delete

本章节详解C++中内存分布,及new和delete的实现原理,定位new的简单介绍,及与C语言的malloc/free的对比

2025-03-18 18:58:47 1648 88

原创 【C++指南】一文总结C++类和对象【下】

本章节主要讲初始化列表、类型转换、静态成员变量和函数、友元、内部类、匿名对象及编译器优化的各种情况。

2025-03-12 19:09:11 3067 114

原创 【C++指南】一文总结C++类和对象【中】

详解运算符重载,日期类的实现,const成员函数

2025-03-07 15:16:03 2340 107

原创 【优选算法】不允许你还不会双指针

详解双指针的多种使用场景。

2025-03-04 20:39:04 1540 103

原创 【C++指南】一文总结C++类和对象【中】

对构造、析构以及拷贝构造详解及解惑

2025-02-28 11:02:57 2246 99

原创 【C++指南】一文总结C++类和对象【上】

一文总结C++类和对象【上】

2025-02-21 13:06:46 1865 89

原创 蓝耘智算携手DeepSeek,共创AI未来

通过蓝耘平台搭建DeepSeek-R1模型

2025-02-17 20:58:24 9437 145

原创 【C++】基础入门(详解)

详细介绍C++中新引入的语法及使用

2025-02-15 13:42:17 3648 70

原创 【C++指南】不允许你不了解C++命名空间

对C++前身的介绍及namespace的定义和使用

2025-02-09 22:49:05 3206 68

原创 链式结构二叉树(递归暴力美学)

详解链式结构二叉树的遍历规则及相关功能代码实现

2025-02-06 23:23:00 1229 56

原创 数据结构之栈和队列(超详解)

详解栈和队列的底层和使用及涉及的相关题型

2025-02-03 17:29:12 2262 46

原创 数据结构之堆排序

详解堆排序底层原理

2025-01-21 23:08:48 916 36

原创 数据结构之顺序结构二叉树(超详解)

树的相关概念,向上/向下调整算法,顺序结构二叉树的实现

2025-01-12 14:29:00 1843 51

原创 数据结构之双链表(超详解)

双链表的介绍,申请结点,尾插、头插,尾删、头删,指定位置插入、删除、查找结点,链表销毁。

2025-01-05 18:24:17 1995 53

原创 数据结构之单链表(超详解)

深入讲解单链表的尾插、头插,尾删、头删,查找、删除指定结点,插入指定结点前后,链表销毁

2025-01-03 19:15:10 3101 62

原创 数据结构之顺序表(超详解)

深入讲解顺序表的初始化,头、尾插,销毁等操作,顺序表的代码实现,以及顺序表的不足和思考。

2024-12-11 08:15:00 2011 79

原创 数据结构之算法复杂度(超详解)

详解时间复杂度和空间复杂度,用算法例题让你深度了解复杂度的概念

2024-12-03 23:53:33 2754 54

原创 第一节— —字符函数和字符串函数(没有废话,全是干货)

深度剖析各种字符串函数(strlen,strcpy,strcat,strcmp,strncpy,strncat,strncmp函数的使用和实现)。

2024-11-23 09:00:00 2068 54

原创 第二节— —字符函数和字符串函数(没有废话,全是干货)

深入剖析字符串函数(strstr,strtok,strerror,perror函数)

2024-11-23 08:15:00 1155 41

原创 第七节——指针笔试题(让你不再害怕指针)

回顾前文strlen和sizeof,详解指针笔试题(刷题必备),充分理解指针的含义。

2024-10-18 19:02:36 1323 42

原创 第六节——从深层剖析qsort的使用(让你不再害怕指针)

详细介绍回调函数及qsort函数的使用(快速排序思想)以及如何使用冒泡排序思想模拟qsort函数的实现。

2024-10-18 18:28:53 768 18

原创 第五节——转移表(让你不再害怕指针)

通过函数指针数组的方式完成简易计算器的制作——转移表

2024-10-06 20:58:05 459 13

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除