
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
对于计算机而言,内存是临时的“工作空间”,断电数据清空;而磁盘是永久的“数据仓库”,我们的系统、文件、照片、代码,所有持久化数据全都存储在磁盘中。日常使用磁盘、分区、格式化,易搞不懂磁盘底层是如何存储数据、如何定位数据、操作系统如何管理数据。今天这篇博客,从零到一拆解磁盘核心原理,从物理结构到逻辑寻址,再到操作系统文件管理、inode机制,来理解磁盘。磁盘是计算机核心的外部持久化存储设备,主要用于
本文深入解析操作系统缓冲区的本质与三层架构(用户、语言、内核缓冲区),详解open/read/write/close系统调用工作原理,对比标准库IO与系统调用的差异,重点讲解屏幕(行缓冲)与文件(全缓冲)的不同刷新规则。通过分析三道经典面试题(close(1)重定向、exit与_exit区别、fork输出差异),揭示缓冲区核心机制:close只关闭文件描述符不刷新用户缓冲区;exit会刷新缓存而_
本文系统讲解Linux进程控制的四大核心操作:进程创建、终止、等待和程序替换。通过fork/vfork创建进程,利用写时拷贝机制实现资源高效共享;进程终止包括exit(带资源回收)和_exit(直接退出)两种方式;wait/waitpid函数用于回收子进程资源,解决僵尸进程问题;exec函数簇实现程序替换,支持跨语言调用。文章结合完整代码示例,详细剖析了进程控制的内核原理,包括fork的双返回值机
本文深入讲解了Linux系统中的命令行参数和环境变量两大核心概念。命令行参数通过main函数的argc和argv参数接收,使程序运行时能灵活获取外部输入;环境变量则通过PATH等变量配置系统行为,解释了为何系统命令无需路径而自定义程序需要"./"前缀。文章详细分析了三种获取环境变量的方法(main参数、environ变量、getenv函数),并揭示了其底层原理:环境变量由父进程
本文深入解析操作系统进程状态模型,重点阐述Linux系统的进程状态机制。文章首先介绍操作系统通用的三大基础进程状态(运行态、就绪态、阻塞态)及其队列调度原理,详细区分易混淆概念。随后深入讲解Linux细化的8种进程状态(R/S/D/T/t/X/Z),包括每种状态的特征、触发条件和处理方式,特别分析了僵尸进程和孤儿进程的形成机制及区别。文章强调进程状态判定的核心规则是查看PCB挂载的队列位置,并提供
本文深入解析操作系统进程状态模型,重点阐述Linux系统的进程状态机制。文章首先介绍操作系统通用的三大基础进程状态(运行态、就绪态、阻塞态)及其队列调度原理,详细区分易混淆概念。随后深入讲解Linux细化的8种进程状态(R/S/D/T/t/X/Z),包括每种状态的特征、触发条件和处理方式,特别分析了僵尸进程和孤儿进程的形成机制及区别。文章强调进程状态判定的核心规则是查看PCB挂载的队列位置,并提供
本文介绍了操作系统中的进程概念及其管理机制。进程是运行中的程序实例,由程序代码、数据和内核管理的PCB(进程控制块)组成。Linux系统中,PCB以struct task_struct结构体形式存在,记录进程ID、状态、优先级等关键信息,并通过双向链表组织管理。为实现多任务并发,CPU采用时间片轮转调度算法,每个进程获得短暂执行时间后强制切换。上下文数据保存了进程的运行现场,确保切换后能恢复执行。







