自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多路转接之epoll

本文梳理多路转接演进:select、poll 线性扫描;epoll 保存关注集合和就绪队列,避免传递 fd。区分 LT 与 ET:LT 在仍就绪时重复通知,ET 只依赖状态变化,必须配合非阻塞 I/O,并循环读写直到 EAGAIN。epoll 只负责通知,应用仍要管理缓冲区、协议边界和连接生命周期。

2026-09-14 15:43:22 214

原创 IO 多路转接 select

本章以"把'等'外包给内核"为主线讲透 select:从多路转接"一次盯一批 fd"的总纲入手,拆解函数原型、返回值、以及 1024 格位图 fd_set 的内核真相;随后落地 select 版 Echo 服务器,理清辅助数组与临时集合的档案/考勤分工;再把代码升华为"通知—派发—处理"四角色的 Reactor 事件模型;末了两章钻进内核看清 poll() 与双重循环的代价,结清六笔账,指出 epoll 何以取而代之。

2026-09-06 20:48:20 337

原创 五种 IO 模型与非阻塞 IO

IO的本质是“等待 + 拷贝”,高效IO的关键在于减少“等待”的比重。五种IO模型(阻塞、非阻塞、信号驱动、IO多路复用、异步IO)的核心差异在于“等待就绪”的方式不同。其中,IO多路复用通过一次等待多个文件描述符,在高并发场景下最具工程优势。需注意区分:阻塞/非阻塞关注调用时进程的状态,同步/异步关注结果的返回方式。

2026-09-05 15:36:31 352

原创 NAT、内网穿透

NAT通过将私有IP转换为公网IP,让海量内网主机共享少量公网地址,解决了IPv4枯竭问题。其核心是维护一张转换表,记录内网与公网端口的映射关系,实现双向翻译。但NAT也带来“外部无法主动连接内网”的限制。为绕过这一限制,发展出内网打洞(两端直连)和内网穿透(通过公网中转机暴露服务)两种技术。NAT是地址复用的核心机制,也是网络分层与边界设计的经典体现。

2026-09-05 12:11:09 301

原创 数据链路层:以太网与 ARP 协议详解

内容主要介绍数据链路层,以太网标准,MAC帧格式,以及IP与MAC地址的对比,和ARP的作用。本文详解数据链路层核心:以太网作为技术标准,定义MAC帧格式,解决相邻设备间“逐跳”传输。帧内同时存在MAC与IP地址,前者负责每站接力,后者指向最终目的地。当主机只知下一跳IP时,需ARP协议解析出对应MAC地址,为后续通信铺路。

2026-09-04 20:06:44 404

原创 网络层:IP 协议详解

IP协议头、网段划分、特殊的IP地址、私有IP和公网IP、分片和组装

2026-09-04 13:52:52 473

原创 传输层协议——TCP

TCP协议段格式、确认应答、超时重传、连接管理(三次握手、四次挥手)、流量控制、滑动窗口、拥塞控制、延迟应答、捎带应答、面向字节流、数据粘包、TCP异常情况

2026-09-03 15:21:40 405

原创 进程间关系与守护进程

守护进程,Daemon,进程组,作业,会话

2026-08-05 22:19:03 330

原创 传输层协议UDP

为什么port是16位的 报头和有效载荷如何分离 有效载荷分用问题 UDP不存在数据包粘包问题 如何理解UDP协议报头 如何理解封装过程 如何理解报文?重新理解封装过程解包过程

2026-08-04 22:21:42 523

原创 应用层协议http

http, 请求格式,应答格式,cookie,session,服务路由

2026-08-04 16:00:43 368

原创 应用层自定义协议与序列化

网络层缓冲区,jsoncpp,实现通过网络进行简单计算器计算

2026-07-29 00:28:31 341

原创 socket编程TCP

tcp listen connect accept popen 模拟实现ssh

2026-07-23 20:02:12 266

原创 socket编程UDP

socket编程,socket,recvfrom,sendto,udp,聊天室

2026-07-22 13:26:36 398

原创 Linux网络基础

协议、局域网传输、跨网络传输、有效载荷、sockaddr、socket

2026-07-19 10:56:25 422

原创 线程同步与互斥

摘要:Linux线程同步与互斥的核心问题 互斥锁 条件变量 POSIX信号量

2026-07-16 11:12:06 332

原创 线程池(单例线程安全 C++实现)

线程池概念,日志,策略模式,线程池实现,单例模式,饱汉饿汉,线程安全

2026-07-15 23:58:44 226

原创 线程概念与控制

线程概念,轻量级进程,pthread原生库,分页式存储管理,线程传参,C++封装线程

2026-07-08 23:59:53 586

原创 Linux进程信号

Linux 进程信号,signal,信号产生、保存、捕捉,中断,coredump,信号的三种状态即对应表,block、pending、handler,内核态和用户态,中断向量表,操作系统的本质,sigaction,可重入函数,volatile,SIGCHLD

2026-06-23 15:17:26 2454

原创 进程间通信:管道、System V

进程间通信、IPC、匿名管道、命名管道、进程池实现、SystemV共享内存、消息队列、信号量、内核如何管理IPC资源

2026-06-20 02:27:41 396

原创 Linux文件系统

本文是一篇对Linux Ext文件系统工作原理的深度指南。文章从硬盘的LBA逻辑寻址出发,层层揭示了文件系统如何将分区划分为块组,并详细解析了其核心组件:超级块、位图以及最重要的inode。

2026-03-18 16:22:24 424

原创 文件基础IO

本文围绕基础 IO 展开,从文件的构成(内容与属性)、Linux 下文件分类及进程与文件的交互逻辑切入,详解 C 语言文件打开模式、open/close/write/read 等系统调用接口,剖析文件描述符的本质、分配原则及 dup2 重定向实现,深入阐释 “一切皆文件” 理念,聚焦内核级与 C 语言用户级缓冲区的特性、刷新策略及典型现象,最终落脚于简易 libc 库的设计思路。

2025-11-15 18:41:23 801 5

原创 进程控制:进程创建|进程终止|进程等待|进程替换

进程创建依赖 fork 函数,通过写时拷贝共享资源,常规用于父子进程分工,失败多因资源不足;进程终止分正常与异常,退出码反馈状态,错误码记录函数失败原因;进程等待通过 wait/waitpid 回收资源、获取 status 状态,支持阻塞与非阻塞模式;进程替换借 exec 函数簇实现,以 execve 为底层,可结合 fork 启动新程序,支持数组传参、PATH 查找及自定义环境变量。

2025-11-08 17:33:18 1042 5

原创 C++11:智能指针

本文本文围绕智能指针展开展开,从 RAII 设计思路出发,详细讲解了 unique_ptr、shared_ptr、weak_ptr 的特性、使用、实现及删除器相关内容,全面剖析了智能指针在资源管理中的核心机制与应用。

2025-10-29 17:04:45 923 1

原创 C++11:可变参数模板,lambda,function包装器

可变参数模板,包的展开方式,Lambda表达式,function包装器,bind

2025-10-21 20:15:38 1013

原创 C++11:右值引用

左值和右值,左值引用和右值引用,引用折叠,万能引用,forward,完美转发

2025-10-15 17:21:09 795

原创 多态及其原理

多态,虚函数,纯虚函数,虚表,多态原理

2025-09-19 21:34:53 1094

原创 Linux进程地址空间、写时拷贝

进程地址空间,虚拟地址,物理地址,写时拷贝

2025-04-19 19:59:59 657

原创 Linux环境变量

Linux环境变量,PATH,getenv

2025-04-17 20:43:35 887

原创 进程优先级、进程调度以及Linux2.6内核进程调度队列

进程优先级、进程调度、Linux2.6内核进程调度队列

2025-02-27 00:33:26 743

原创 进程状态(R|S|D|t|T|X|Z)、僵尸进程及孤儿进程

进程状态,运行、浅睡眠、深睡眠、暂停、死亡、僵尸状态,僵尸进程,孤儿进程

2025-02-25 23:11:10 1311

原创 进程概念、PCB及进程查看

进程概念,PCB进程控制块,fork,

2025-02-23 12:24:44 1523

原创 冯·诺依曼体系结构、理解操作系统管理

冯诺依曼体系结构,操作系统管理,系统调用

2025-02-21 20:43:05 1102

原创 C++:继承

C++继承、多继承、菱形继承与虚拟继承

2025-02-21 13:29:01 795

原创 stack、queue(priority_queue)的模拟实现和deque的简单介绍

stack,queue,priority_queue,deque

2024-04-23 22:31:22 998

原创 栈的应用-四则运算表达式求值

利用栈进行四则运算表达式求值

2024-04-16 18:58:05 776

原创 C++:list容器(非原生指针迭代器的实现)

文章的重点为非原生指针迭代器的实现

2024-02-27 21:03:26 1122

原创 C++:vector容器(memcpy浅拷贝问题、迭代器失效问题)

文章简要介绍了vector容器,重点分析了memcpy浅拷贝和迭代器失效问题

2024-01-26 18:58:47 2174

原创 Linux开发工具:yum、vim、gcc/g++、makefile

文章主要介绍了Linux基础开发工具

2024-01-17 16:38:56 1712 1

原创 C++: String类接口学习

文章简单根据文档学习了String类的相关接口

2023-11-28 16:44:01 1759 3

原创 Linux权限

文章主要讲解了Linux文件权限管理

2023-11-19 15:08:44 483 7

空空如也

空空如也

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

TA关注的人

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