自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux系统编程01:进程概念(万字图文解析)

本文系统介绍了Linux进程的核心概念与工作机制。主要内容包括:1)进程定义与实体组成,指出进程由PCB、程序段和数据段构成;2)详细解析进程控制块task_struct的四大模块功能;3)进程状态转换机制,特别分析了僵尸进程和孤儿进程的形成原理;4)进程优先级管理,解释了PRI与NI值的关系及调整方法。文章通过命令示例和状态转换图,全面阐述了Linux进程的资源分配、调度执行和状态管理等核心机制,为深入理解操作系统进程管理提供了系统化的知识框架。

2025-10-11 19:00:00 895

原创 Linux网络编程05:IO多路转接(万字图文解析)

本文介绍了五种网络IO模型及其数据传输过程,重点分析了阻塞/非阻塞与同步/异步的区别。详细讲解了IO多路转接原理,包括select、poll、epoll等机制,并提供了fcntl函数的使用示例。文章还阐述了多路IO转接服务器的优势,即通过内核监控文件描述符实现高效并发处理,相比传统多线程/多进程模型具有更低资源消耗。核心内容涵盖IO模型分类、系统调用实现原理及性能优化方法,为网络编程提供了理论基础和实践指导。

2025-09-29 19:00:00 833

原创 Linux网络编程04:网络基础(万字图文解析)

本文补充了计算机网络基础知识和Linux网络命令。主要内容包括:1)传输层相关知识,如端口绑定规则(一个进程可绑定多个端口,但一个端口不能被多个进程同时绑定);2)常用网络命令的使用,包括netstat查看网络状态、pidof获取进程ID、ifconfig显示网卡信息;3)协议报头的结构化特性;4)网络IO接口实际是数据拷贝接口,数据在内核缓冲区和用户层之间传输的机制。文章还提及TCP可靠传输的实现原理,适合作为计算机网络基础知识的补充阅读。

2025-08-31 19:00:00 778

原创 Linux网络编程03:HTTP和HTTPS(万字图文解析)

本文介绍了HTTP和HTTPS基本概念。HTTP基于C/S模型,采用无状态设计,通过TCP/IP提供可靠性,是一种文本协议易于阅读但效率较低。文章详细比较了HTTP/1.0的非持续连接和HTTP/1.1的持续连接两种工作方式。同时解析了HTTP请求报文和响应报文的格式,包括常见请求头和状态码。最后提供了基于C++的HTTP服务器代码示例,展示了socket创建、绑定、监听等核心实现。此外,文章还简要提及HTTPS通过TLS/SSL加密增强安全性。

2025-08-28 19:00:00 481 1

原创 Linux网络编程02:协议与序列化

本文介绍了网络协议和序列化的基本概念。网络协议是控制对等实体通信规则的集合,而序列化是将数据结构转换为可传输格式的过程,反序列化则是其逆过程。文章通过一个简易网络计算器的实现示例,展示了如何使用自定义协议进行网络通信。代码示例包含了请求/响应类的序列化与反序列化方法,支持JSON和简单文本格式,并提供了报文长度处理函数。

2025-08-20 19:00:00 573

原创 Linux系统编程02:进程控制(万字图文解析)

本文围绕 Linux 进程控制展开解析,涵盖进程创建、终止、等待及替换四大核心内容。在进程创建部分,阐述了 fork () 函数的使用方法与原理,包括上下文复制、写时拷贝技术等,并通过示例说明父子进程执行特性。进程终止部分介绍了正常终止与异常终止的实现方式。进程等待环节对比了 wait () 与 waitpid () 的功能差异,详解了状态参数解析方法及阻塞 / 非阻塞等待示例。最后讲解进程替换原理,以 execve () 为核心,介绍了 exec 函数簇的分类与使用场景,通过实例展示不同函数的应用效果。

2025-08-14 19:00:00 958

原创 C++11:内存泄露与智能指针

本文主要介绍C++内存泄露问题与智能指针方案。

2025-08-08 19:00:00 661

原创 递归函数设计基础题合集

本文介绍了递归函数设计的5个基础题和3个经典题。基础题包括"路飞吃桃"问题(计算能吃n天的桃子数量)和"弹簧板"问题(计算小球弹出次数)。经典题包含三种枚举类型:指数型(求所有子集)、组合型(求固定长度的子集)和排列型(求全排列),均采用递归回溯方法实现。此外还介绍了LeetCode上的3道递归题:合并有序链表、两两交换链表节点、快速幂运算。这些题目展示了递归在解决分治问题、枚举问题和链表操作中的应用,涵盖了递归的基本设计思路和常见解题模式。

2025-07-21 19:00:00 230

原创 《计算机网络》第五章:传输层

本文主要介绍了传输层的UDP和TCP协议。重点介绍了TCP协议连接管理、可靠传输、流量控制、拥塞控制等内容。

2025-07-15 19:00:00 207

原创 Linux系统编程06:多线程

本文围绕 Linux 多线程编程展开,首先介绍线程概念,它是 CPU 调度的基本单位,Linux 用进程 PCB 模拟线程。线程具有创建代价小、切换快等优点,但存在健壮性降低等缺点。接着阐述线程控制,包括创建、终止、等待和分离等操作。然后讲解线程互斥,通过互斥锁解决临界资源访问问题,分析死锁的四个必要条件及避免方法。还介绍了条件变量与同步,实现线程按特定顺序访问资源。最后介绍信号量、基于环形队列的生产消费模型、线程池以及可重入与线程安全的概念。

2025-07-08 19:00:00 455

原创 《计算机网络》第四章:网络层

本文主要介绍网络层的核心内容,包括网络层的功能(异构网络互联、路由转发与拥塞控制)、IPv4协议(数据报格式、分片机制、分类编址与子网划分、CIDR无分类编址及路由聚合)、关键协议(ARP地址解析、DHCP动态主机配置、ICMP差错控制)以及IPv6的改进(128位地址、简化首部、即插即用)。同时涵盖动态路由协议(如RIP基于跳数、OSPF基于链路状态、BGP用于自治系统间路由)和IP多播技术(D类地址、IGMP组管理、硬件多播映射)的实现原理与应用场景。最后简要说明移动IP和路由器转发机制。

2025-07-01 19:00:00 1669

原创 Linux系统编程05:信号

本文介绍 Linux 信号,可通过多种途径产生,有忽略、默认、捕捉三种处理方式。信号存在产生、未决、递达状态,进程能阻塞信号。其保存依赖特定内核数据结构与信号集操作,在核态转用户态时处理,可用 sigaction 设置动作。文中还提及可重入函数、volatile 关键字,以及 SIGCHLD 信号对处理子进程状态变化的作用。

2025-06-24 19:00:00 1007

原创 Linux网络编程01:网络套接字

该文档围绕网络套接字展开,先介绍 pid 与端口、网络字节序、sockaddr 结构等预备知识;接着阐述 socket、bind 等网络编程 API 的功能与用法;随后给出简单的 UDP、TCP 网络程序示例,包括通用的 UDP 服务器和客户端,以及不同场景下的 UDP、TCP 程序实现;还介绍了守护进程相关内容,如概念、模型及代码实现,整体呈现了网络套接字编程的关键要点与实践应用 。

2025-06-17 19:00:00 923

原创 《计算机网络》第三章:数据链路层

本文介绍数据链路层的核心功能与技术要点,包括组帧(字符计数、字节填充、零比特填充、违规编码)、差错控制(奇偶校验、CRC、海明码)、流量控制与可靠传输机制(停止-等待、GBN、SR)、介质访问控制(ALOHA、CSMA/CD/CA)、局域网技术(以太网、VLAN、无线LAN)以及广域网PPP协议。

2025-06-10 19:00:00 1061

原创 Linux系统编程04:进程间通信

本文围绕进程间通信展开,介绍通信包括数据传输、资源共享等,因进程需协同而产生,本质是操作系统提供 “内存空间” 或公共资源,实现方式有 POSIX 和 System V 标准规范,具体通信方式含管道等。重点阐述匿名管道,其基于文件系统,通过fork实现父子进程通信,pipe函数创建,具有特定读写特征、生命周期等属性,并展示了用其实现进程池的代码;同时说明命名管道可用于不相关进程通信,介绍了其创建及使用方法 。

2025-06-02 19:00:00 782

原创 《计算机网络》第二章:物理层

本文围绕计算机网络物理层展开。先阐述数据通信基本概念,包括信源、信宿、信号、码元及速率等;接着介绍信道极限容量相关的奈奎斯特定理和香农定理;随后讲解编码调制技术与常见编码、调制方式;再说明传输介质分类及特性;最后介绍物理层设备中继器和集线器的功能与特点,整体系统梳理了物理层关键知识要点 。

2025-05-27 19:00:00 1653

原创 Linux系统编程03:基础IO

本文讲解基础 IO 知识,涵盖文件基础概念、C 语言及系统文件操作接口,阐述文件描述符、重定向、缓冲区原理与应用,介绍文件系统结构、inode 作用,分析软硬链接差异,以及动静态库制作与使用要点。

2025-05-20 19:00:00 686

原创 《计算机网络》第一章:计算机网络体系结构

本文梳理计算机网络体系结构。介绍计算机网络、互连网、互联网概念及相关设备功能;阐述数据通信、资源共享等核心功能;分析电路、报文、分组三种交换技术的优缺点;从分布范围、传输技术等多维度对网络分类;说明速率、带宽等性能指标;讲解网络分层结构中实体、协议等概念及 OSI、TCP/IP 两种参考模型 。

2025-05-14 17:48:09 802

原创 C++STL库:string类及其模拟实现

本文简要介绍了C++STL库中string类相关接口及其模拟实现

2024-04-17 15:43:31 1113

空空如也

空空如也

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

TA关注的人

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