
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文将带你从一段简单的 C 代码出发,逐步深入到 Linux 内核源码,彻底搞懂进程地址空间的本质。你将明白虚拟地址与物理地址的区别,理解操作系统如何通过页表实现内存隔离,以及内核中的 mm_struct 和 vm_area_struct 是如何管理这一切的。

本文深入解析了Linux进程状态的底层实现机制,从内核视角揭示了运行态、阻塞态和挂起态的本质区别。文章首先对比了课本抽象的三态模型与Linux实际的多状态系统,指出进程状态转换实质上是内核将进程控制块(task_struct)在不同队列间移动的过程。重点剖析了三大核心队列:运行队列(CPU调度)、硬件等待队列(设备资源)和磁盘交换分区(内存管理),并详细解释了进程如何在这些队列间迁移。

本文深入解析操作系统与进程核心概念,从冯诺依曼体系结构到fork系统调用主要内容包括: 冯诺依曼体系结构:计算机硬件基础架构,强调所有设备只能直接与内存交互操作系统管理本质:采用"先描述(PCB),再组织(数据结构)"的核心思想进程概念:程序执行实例,本质是内核数据结构task_struct+程序代码/数据进程管理:详细解析task_struct包含的进程标识符、状态、优先级等核心属性进程操作:介

本文将带你从经典的8088/8086微处理器出发,系统掌握微处理器的体系结构核心知识点,为后续的汇编语言、接口技术和操作系统学习打下坚实的基础。

本文是一篇Git版本控制系统的入门指南,从版本控制的必要性出发,详细介绍了Git的核心优势、工作原理和实用技巧。文章首先描述了没有版本控制时的开发痛点,然后对比了Git分布式架构与传统集中式版本控制的区别,突出Git在本地操作、速度、分支管理和数据完整性方面的优势。指南涵盖了Git的基本概念、三大区域模型、常用命令和工作流程,适合零基础开发者系统学习Git。通过本文,读者将掌握日常开发中的版本管理

Linux开发工具速通指南摘要 本文全面介绍Linux基础开发工具,帮助开发者快速上手服务器配置和开发环境搭建。主要内容包括: 用户管理:详细讲解用户创建、密码设置、sudo权限分配和用户删除操作,提供一键式创建命令模板。 软件包管理:对比yum和apt包管理器,介绍国内镜像源配置方法,解决软件依赖问题,提升安装效率。 vim编辑器:深入解析多模式编辑功能,帮助开发者摆脱只会基础编辑的困境。 gc

本文总结了Linux系统中最常用的文件与目录操作命令,适合初学者快速上手。主要内容包括: 基础概念:解释目录/文件本质、路径类型、隐藏文件规则等基础知识 核心命令: 查看类:ls、pwd、cat、less等 操作类:cd、mkdir、rm、cp、mv等 文本处理:echo、head、tail等 实用技巧:危险命令警示、大文件查看建议、路径操作技巧等 通过分类整理和实例演示,帮助用户快速掌握Linu

本文是《系统深入Linux操作系统》专栏的入门篇,系统介绍了Linux的基础框架与核心概念。首先从计算机软硬件交互原理切入,阐述Linux作为开源内核的特性及其与Windows的区别;重点讲解Linux的目录树结构和文件路径系统,详细说明绝对路径与相对路径的使用场景;最后系统介绍了pwd、ls、cd等基础命令的功能与常用选项,为后续深入学习Linux系统奠定基础。本专栏后续将继续深入探讨Linux

本文介绍了双向链表的实现方法,重点讲解了带头双向循环链表的数据结构设计及各功能接口的实现。通过List.h文件定义了链表节点结构体和操作接口,List.c文件具体实现了初始化、节点创建、插入删除等核心功能。关键技术包括哨兵位设计、指针四步调整法、内存管理和边界条件处理。相比单链表,双向链表通过前驱指针简化了操作,时间复杂度均为O(1)。代码采用模块化设计,通过类型抽象增强复用性,适合作为基础数据结

本文介绍了C语言中四个常用的内存操作函数:memcpy、memmove、memset和memcmp的使用方法与实现原理。memcpy用于内存拷贝,但存在重叠区域问题;memmove是memcpy的升级版,能处理重叠拷贝;memset用于内存填充;memcmp用于内存比较。文章通过代码示例详细演示了各函数的用法,并提供了memcpy和memmove的模拟实现,帮助读者深入理解这些底层函数的运作机制。








