
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文深入探讨了Linux操作系统中的虚拟内存管理机制,重点分析了进程地址空间的布局与转换原理。文章首先通过示例程序展示了不同类型变量在虚拟地址空间中的分布规律,包括代码段、数据段、堆栈等区域。随后通过父子进程共享变量的实验,揭示了虚拟地址与物理地址的映射关系,并详细阐述了页表机制和写时拷贝(Copy-on-Write)技术的工作原理。文章还深入解析了mm_struct和vm_area_struct

本文主要探讨了环境变量和命令行参数的基本概念及其在操作系统中的应用。文章首先解释了环境变量的全局特性及其在程序编译链接中的作用,随后详细介绍了main函数的真实形态及其命令行参数(argc和argv)的使用方法,并通过代码示例展示了如何利用命令行参数实现不同功能。接着,文章深入分析了系统命令与用户自定义程序执行路径的区别,引出环境变量PATH的重要性,并演示了如何修改PATH以直接运行自定义程序。

本文主要介绍了进程的基本概念和Linux系统中进程管理的核心机制。首先阐述了进程作为操作系统并发执行基本单位的重要性,并解释了进程控制块(PCB/task_struct)作为进程唯一标识的关键作用。然后通过命令行(ps/proc)和代码示例(getpid/getppid)演示了如何查看进程信息。重点讲解了fork()系统调用,分析了其工作原理:通过复制父进程创建子进程,采用写时拷贝机制实现数据隔离

本文主要介绍了冯诺依曼体系结构和操作系统的基本概念。在冯诺依曼体系中,计算机由输入设备、输出设备、存储器和中央处理器组成,数据通过CPU进行处理和传输。文章以QQ软件为例,说明了数据如何在内存、CPU和外设之间流动,并解释了内存作为媒介的必要性。操作系统部分阐述了其作为软硬件管理者的角色,通过"先描述后组织"的方式管理系统资源。最后,以银行办事流程为比喻,解释了系统调用的工作原

本文介绍了基于epoll的高性能C++ TCP服务器框架中Channel和Poller模块的实现。主要内容包括: Channel模块作为事件管理的桥梁,将文件描述符、监控事件和回调函数绑定在一起,实现了事件驱动的异步编程模型。它提供了事件注册/注销接口,并通过shared_ptr管理生命周期确保线程安全。 Poller模块封装了epoll系统调用,包括epoll_create、epoll_ctl和

本文介绍了基于C++的高性能TCP服务器框架中EventLoop模块的实现。EventLoop是事件驱动模型的核心组件,通过eventfd实现跨线程唤醒机制,结合Poller进行IO多路复用监控。关键特性包括:1) 使用eventfd创建非阻塞事件通知通道;2) 实现线程绑定的任务队列,确保所有IO操作在指定线程执行;3) 提供RunInLoop/QueueInLoop接口实现线程安全的任务调度。

本文实现 TCP 服务器框架的核心模块 Connection,对一条 TCP 连接进行全生命周期管理。Connection 封装了文件描述符、Socket、Channel、双缓冲区(输入/输出)以及四个业务回调(连接建立、消息到达、连接关闭、任意事件)。内部定义了 DISCONNECTED、CONNECTING、CONNECTED、DISCONNECTING 四种状态,并实现状态机的安全迁移。

本文介绍为高性能TCP服务器框架添加HTTP协议支持的模块设计。**Util模块**提供URL编解码、文件读写等工具函数。**HttpRequest**和**HttpResponse**分别保存解析后的请求信息与待发送的响应数据。**HttpContext**管理请求接收过程中的解析状态,处理TCP粘包/半包问题,确保能从不完整数据中逐步还原完整请求。**HttpServer**是对外暴露的门面类

本文介绍了在C++ TCP服务器框架中实现Util工具类的设计与实现。该工具类为HTTP服务器提供了一系列静态方法,包括字符串分割、文件读写、URL编解码、状态码与MIME类型映射、文件属性判断和路径安全性校验等功能。通过使用C++标准库实现,避免第三方依赖,采用unordered_map存储映射关系提高查询效率,并严格按照RFC3986规范处理URL编解码。工具类采用完全静态设计,所有方法无状态

本文介绍了一个从零手写的高性能C++ TCP服务器框架,重点实现了HTTP协议解析器HttpContext和HTTP服务器HttpServer。主要内容包括: 架构设计 采用解析与业务分离的设计,HttpContext负责协议解析,HttpServer处理业务路由和响应 基于状态机的增量解析机制,支持网络数据分片到达 正则表达式路由表,支持动态参数捕获 核心功能 HttpContext实现HTTP








