【主食】Linux
文章平均质量分 85
流食般Linux难啃的骨头
江屿风
持续学习,迎接蜕变。
自律是我的日常,三郎是我的现状。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Linux-System-34】【从生活哲学到内核位图,彻底搞懂信号的异步本质】流食般投喂
本文从生活哲学切入,深入解析Linux信号机制的异步本质。通过类比闹钟、红绿灯等现实信号,阐明信号是进程间“事件通知”的异步通信方式。结合System V IPC的柔性数组与多态设计,揭示内核对资源统一管理的智慧。重点剖析信号的三种处理动作(默认、自定义、忽略)及不可屏蔽的SIGKILL/SIGSTOP,并系统梳理信号五大产生方式,强调其均由操作系统触发。最终指出:理解信号,需从“事件发生”出发,回归到进程控制块(PCB)中位图的底层实现,方能真正掌握其异步、非阻塞的本质。原创 2026-11-01 23:51:43 · 930 阅读 · 7 评论 -
【Linux-System-33】【System V IPC深度解析:消息队列与信号量实战指南】流食般投喂
摘要(148字): 本文深入解析System V IPC的三大核心机制:消息队列通过mtype实现有类型通信,共享内存与信号量协同保障资源安全。结合“修Bug”案例揭示进程生命周期对资源释放的关键影响。以电影院、ATM机等类比夯实临界区、互斥、同步、原子性五大并发基石。最终引出信号量作为计数器的预定机制,为多进程协调提供底层支撑,展现内核资源管理的统一哲学。原创 2026-10-26 08:45:00 · 747 阅读 · 71 评论 -
【Linux-System】【System V共享内存:从原理到实战的完整解析】流食般投喂
本文深入解析System V共享内存机制,揭示其“随内核存活”的生命周期、Key与Shmid双标识体系及零拷贝高性能原理。通过封装C/S通信框架,演示shmget、shmat、shmdt、shmctl四大接口的实战应用,并指出共享内存虽快却需外部同步(如命名管道模拟信号量)以避免数据不一致。强调:高效背后是同步代价,生产环境必须使用信号量等原语保障安全。原创 2026-10-24 21:34:04 · 1218 阅读 · 54 评论 -
【Linux-System】【Linux管道通信深度揭秘:从特性验证到进程池实战】流食般投喂
本文深度解析Linux匿名管道的五大核心特性(血缘关系、同步机制、字节流、半双工、生命周期随进程),并通过四种读写场景验证其行为,重点揭示“读端关闭后写端触发SIGPIPE”的异常机制。结合管道容量上限(64KB)与写入原子性(PIPE_BUF),最终实现一个基于轮询负载均衡的进程池,为后续并发编程奠定坚实基础。原创 2026-10-20 20:58:26 · 871 阅读 · 57 评论 -
【Linux-System】【ELF加载揭秘:从磁盘到CPU的硬核旅程】流食般投喂
本文深度解析ELF程序加载与动态链接原理,从磁盘上的“0地址”到CPU执行的全链路。通过readelf、objdump等工具,揭示ELF文件双重视角:编译链接依赖Section Header,操作系统加载则依据Program Header合并段(Segment),以减少内存碎片。重点剖析.bss节省磁盘空间机制、符号解析与重定位过程,以及_start作为真正入口而非main的底层逻辑,完整串联起编译、链接、加载、执行的硬核链条。原创 2026-10-13 16:26:30 · 1463 阅读 · 60 评论 -
【Linux系统】【从菜鸟驿站到操作系统:一节课打通Linux重定向与缓冲区真相】流食般投喂
本课从菜鸟驿站类比切入,深入解析Linux重定向机制:揭示>仅改变fd=1指向,而stderr(fd=2)独立存在;通过1> log.txt 2>&1实现安全合并。剖析VFS如何以struct file和函数指针实现“一切皆文件”,屏蔽硬件差异,用C语言模拟多态。最后详解用户级与内核级缓冲区作用——printf数据先存缓冲,由刷新策略决定落盘时机,解释为何输出延迟或丢失。三者串联,打通从C库到内核的数据流动全链路。原创 2026-10-06 22:11:29 · 2956 阅读 · 62 评论 -
【Linux系统】【cd失效背后的进程真相:内建命令的正确打开方式】流食般投喂
本文通过解决自定义 Shell 中 cd 命令失效问题,深入剖析进程与文件系统的底层机制。核心在于理解:cd 等内建命令必须由父进程直接执行,而非通过 fork/exec 创建子进程。文章系统梳理了内建命令检测流程、chdir 与 getcwd 的协同使用、环境变量同步(如 PWD)、以及标准 I/O 与系统调用的关系,揭示了“一切皆文件”与“进程是操作主体”的根本原则,为手写 Shell 提供了从架构到细节的完整认知框架。原创 2026-10-04 14:03:15 · 1074 阅读 · 50 评论 -
【Linux系统】【从【收尾】缓冲区到【新开】磁盘块:一节课打通文件系统底层原理】流食般投喂
本章从用户态缓冲区入手,揭示fwrite不直接写磁盘的原理:C库通过用户级缓冲区攒数据、减少系统调用,结合行/全缓冲策略优化性能。通过手写my_file库,直观展现缓冲区机制与fflush、fsync的区别。继而深入磁盘物理结构,解析CHS与LBA寻址逻辑,理解4KB块大小源于扇区对齐与效率平衡。最终打通“代码→内存→内核→硬件→文件系统”全链路,实现软硬件视角的统一认知。原创 2026-09-28 23:16:06 · 1518 阅读 · 58 评论 -
【Linux系统】【文件系统底层揭秘:软硬链接与inode的真相】流食般投喂
本文深入解析Linux文件系统底层原理,从磁盘物理结构抽象为逻辑一维数组(LBA),引出4KB块的设计意义。通过分区与格式化揭示文件系统初始化机制,详解Ext2块组结构:超级块、GDT、位图、inode表与数据块的协同工作。重点阐明目录本质是普通文件,文件名存储于目录数据块中,路径解析需逐级查找inode。最后揭示软硬链接的本质——共享inode,理解误删恢复、ls命令行为及文件系统设计哲学。原创 2026-09-23 12:48:56 · 1611 阅读 · 66 评论 -
【Linux系统】【Linux 进程程序替换机制解析及自定义 Shell 核心逻辑实现 】流食般投喂
本文解析了Linux进程程序替换机制,揭示exec系列函数本质为覆盖式加载、PID不变、成功不返回的特性,并通过fork+exec实现子进程独立执行。结合execlp、execvp等接口对比,阐明参数传递与环境变量处理逻辑。最终以百行代码实现自定义Shell,涵盖提示符生成、输入读取、命令解析与执行,完整串联进程管理、系统调用与命令行交互核心原理。原创 2026-09-20 16:03:51 · 1143 阅读 · 58 评论 -
【Linux系统】【Linux进程终止等待详解与程序替换机制初体验】流食般投喂
本文详解Linux进程控制核心机制:进程终止时退出码的语义(0表示成功,非0为错误,异常终止则退出码无意义);通过exit与_exit对比揭示用户层缓冲区的存在;重点剖析进程等待的必要性——防止僵尸进程、回收资源并获取子进程状态。深入解析wait/waitpid接口及status位图结构,明确退出码、信号值在低16位的布局,揭示“为何父进程必须主动等待”的底层逻辑,为编写健壮多进程程序奠定基础。原创 2026-09-17 22:29:09 · 706 阅读 · 7 评论 -
【Linux系统】【Linux发展历史及环境部署、Xshell使用】流食般投喂
闭源操作系统(如 Windows)依赖的是“商业契约”:你付钱,我给你一个黑箱子,承诺你不出错。开源操作系统(如 Linux)依赖的是“社会契约”:大家共同维护,出了问题你可以改,改完了再分享给别人。原创 2026-08-17 22:15:09 · 2462 阅读 · 90 评论
分享