linux
文章平均质量分 96
天上飞的粉红小猪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多路转接select&&poll&&epoll
本文系统介绍了Linux下的三种I/O多路复用技术:select、poll和epoll。select使用位图管理文件描述符,存在数量限制和性能问题;poll采用数组结构解决了数量限制,但仍需遍历所有描述符;epoll通过红黑树和就绪链表实现了高效事件通知,支持边缘触发和水平触发模式。文章详细分析了各技术的工作原理、接口使用和性能特点,重点阐述了epoll的ET/LT模式差异及非阻塞I/O的必要性。最后介绍了Reactor模式和OneThreadOneLoop架构,探讨了如何通过事件驱动模型实现高并发服务器。原创 2026-03-04 20:18:01 · 443 阅读 · 0 评论 -
IO模型与非阻塞IO
五种IO模型与高级IO概念 本文通过钓鱼的生动比喻,系统阐述了五种IO模型的特点:阻塞IO(持续等待)、非阻塞IO(轮询检查)、信号驱动IO(信号通知)、IO多路转接(同时监控多个描述符)和异步IO(内核完成全部工作)。其中IO多路转接效率最高,因其能重叠等待时间。 文章区分了同步/异步通信(调用者是否主动等待结果)和阻塞/非阻塞(线程状态)两个重要概念。同步IO包括前四种模型,异步IO则由内核完全负责。最后介绍了通过fcntl设置非阻塞IO的方法,并验证了终端缓冲区的存在。 核心观点:高效IO的关键在于减原创 2026-02-25 09:49:24 · 681 阅读 · 0 评论 -
数据链路层
本文介绍了以太网技术标准和相关网络协议。以太网是一种包含数据链路层和物理层内容的技术标准,规定了网络拓扑、传输速率等参数。文章详细阐述了MAC地址的作用(48位硬件地址)、MTU(最大传输单元)概念及其对IP、UDP、TCP协议的影响(数据分片与重组)。同时讲解了ARP协议的工作原理,包括IP与MAC地址的映射机制、请求/应答流程以及ARP缓存表管理。此外还简要提及了ARP欺骗这种中间人攻击方式。全文系统性地介绍了以太网通信过程中各层协议的协同工作机制。原创 2026-02-21 21:26:28 · 713 阅读 · 0 评论 -
网络层ip
摘要:本文系统介绍了IP协议的核心概念与技术要点。首先阐述了IP协议的基本功能——实现跨网络数据传输,但本身不保证可靠性。随后详细解析了IP协议头格式的各个字段含义,包括版本号、服务类型、生存时间等关键参数。重点讨论了CIDR网段划分方案及其优势,对比了传统的IP地址分类方法。此外,还介绍了特殊IP地址、IP地址数量限制及解决方案(动态分配、NAT、IPv6)、私有与公网IP的区别,以及NAT技术的实现原理。文章还涉及路由机制、分片组装过程,并简要概述了公网架构中各参与方的角色。最后通过示例说明了路由表的实原创 2026-02-19 22:01:45 · 660 阅读 · 0 评论 -
传输层UDP&&TCP
本文详细介绍了TCP和UDP两种传输层协议的核心机制。UDP是无连接、不可靠的协议,通过端口号标识应用进程,采用固定长度的报头结构,具有发送缓冲区但无接收缓冲区限制。TCP则是面向连接的可靠协议,通过三次握手建立连接、四次挥手断开连接,采用序列号、确认应答、超时重传等机制保证可靠性,并通过滑动窗口、流量控制、拥塞控制等策略提高性能。文章还分析了粘包问题、全连接队列、TCPdump抓包工具等内容,比较了TCP和UDP的适用场景,指出TCP适用于可靠传输,UDP更适合实时性要求高的应用。原创 2026-02-11 10:59:44 · 600 阅读 · 0 评论 -
HTTPS
HTTPS安全通信机制解析 HTTPS通过引入加密层(TLS/SSL)在HTTP基础上实现安全传输,解决了明文传输易被篡改的问题。其核心机制包含: 加密方式:结合对称加密(高效)和非对称加密(安全),先通过非对称加密协商对称密钥,后续通信使用对称加密。 证书体系:CA机构颁发包含服务器公钥的数字证书,通过数字签名(CA私钥加密的证书摘要)验证证书真实性,防止中间人攻击。 工作流程:客户端验证证书有效性→用证书公钥加密随机生成的对称密钥→服务器用私钥解密获取对称密钥→建立安全通信通道。 该机制通过三组密钥协作原创 2026-01-30 20:30:42 · 636 阅读 · 0 评论 -
应用层协议HTTP
HTTPCookie(也称为WebCookie、浏览器Cookie或简称Cookie)是服务器发送到用户浏览器并保存在浏览器上的一小块数据,它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态、记录用户偏好等。HTTP Session是服务器用来跟踪用户与服务器交互期间用户状态的机制。由于HTTP协议是无状态的(每个请求都是独立的),因此服务器需要通过Session来记住用户的信息。原创 2026-01-29 16:49:46 · 765 阅读 · 0 评论 -
应用层自定义协议与序列化
本文主要介绍了网络应用层协议设计、TCP通信机制以及进程管理与守护进程的实现。在应用层协议方面,重点阐述了结构化数据的序列化与反序列化方法,以网络版计算器为例说明了JSON序列化方案的实际应用。详细分析了TCP全双工通信机制,解释了缓冲区工作原理及粘包问题。在系统编程方面,深入讲解了进程组、会话、控制终端等概念,并介绍了作业控制的方法。最后提供了守护进程的实现方案,包括信号处理、会话创建、文件描述符管理等关键技术,使进程能够脱离终端独立运行。文章结合具体代码示例,系统性地介绍了从网络通信到系统进程管理的完整原创 2026-01-22 20:28:37 · 687 阅读 · 0 评论 -
Socket编程TCP
本文介绍了网络编程中TCP协议的核心接口及其应用。主要内容包括:1)socket()创建通信端口,bind()绑定地址端口,listen()设置监听状态,accept()接受连接请求;2)客户端connect()建立连接的过程及TCP/UDP协议差异;3)Echo服务器从单进程到多线程、线程池的演进实现;4)TCP字节流特性带来的数据完整性问题及解决方案;5)Windows环境下TCP编程注意事项。文章还探讨了UDP与TCP在数据传输方式上的本质区别,并提供了远程执行、断线重连等实用功能的实现思路。原创 2026-01-19 20:21:25 · 976 阅读 · 0 评论 -
Socket UDP编程
本文介绍了UDP网络编程的基础知识和实践应用。主要内容包括:1)网络通信基础,如IP地址、端口和UDP全双工特性;2)常用网络命令如ping、netstat、watch和pidof的使用方法;3)UDP编程接口详解,包括socket创建、bind绑定、recvfrom/sendto收发数据等;4)实践案例:Echo服务器实现数据回显、DictServer实现英汉翻译功能;5)Windows客户端适配要点,包括Winsock库初始化、编码转换等注意事项。文章通过具体代码示例,展示了如何实现跨平台的UDP网络通原创 2026-01-16 16:35:23 · 1047 阅读 · 0 评论 -
网络基础概念
本文系统介绍了计算机网络的基本概念和协议体系。主要内容包括:1.网络发展历程,从独立计算机到局域网、广域网的演进;2.网络协议的分层结构,重点解析了OSI七层模型和TCP/IP五层模型;3.网络传输流程,详细说明了数据封装解包、局域网通信原理和跨网络传输;4.Socket编程基础,包括IP地址、端口号、TCP/UDP协议等核心概念;5.网络字节序和Socket API接口规范。文章通过类比生活中的通信方式,深入浅出地解释了复杂的网络协议原理,强调协议分层设计的必要性和优势,为理解现代计算机网络通信机制提供了原创 2026-01-03 23:02:39 · 971 阅读 · 0 评论 -
线程同步与互斥
本文摘要: 本文深入探讨了Linux线程同步机制,重点分析了互斥锁、条件变量和读写锁的实现原理与应用场景。首先介绍了临界资源、临界区等基本概念,详细讲解了互斥锁(mutex)的接口使用和底层实现机制,包括原子交换指令的应用。随后阐述了条件变量的工作原理,并结合生产者消费者模型展示了线程同步的实际应用。文章还对比了POSIX信号量与互斥锁的差异,并介绍了环形队列的实现。在高级应用部分,重点讨论了线程池的设计与实现,包括任务队列管理、线程安全处理和日志系统的集成。最后分析了线程安全与可重入性的区别,以及死锁的预原创 2025-12-31 21:35:46 · 945 阅读 · 0 评论 -
线程概念&&控制
Linux线程与进程管理机制解析 摘要: 本文深入探讨了Linux系统中线程与进程的实现机制。Linux采用轻量级进程(LWP)模拟线程,通过复用进程管理结构(task_struct)实现线程功能,与Windows采用独立线程数据结构的设计形成对比。文章详细分析了线程概念、分页式存储管理、物理内存管理机制,包括页表、页目录结构和TLB快表等核心组件。同时阐述了线程控制方法,包括创建(pthread_create)、终止(pthread_exit)、等待(pthread_join)和分离(pthread_de原创 2025-12-07 21:43:58 · 864 阅读 · 0 评论 -
linux进程信号
本文系统介绍了Linux系统中的信号机制。主要内容包括:1. 信号概念:信号是进程间异步通信的软中断方式,与信号量无关。系统定义了32种信号,每种信号有编号和默认处理动作。2. 信号产生方式:包括终端按键、系统命令、函数调用、软件条件和硬件异常等。3. 信号处理:进程可以忽略信号、执行默认动作或自定义处理函数。通过signal()和sigaction()函数设置处理方式。4. 信号存储:内核使用pending位图记录未决信号,block位图记录被阻塞信号。5. 信号捕捉流程:涉及4次用户态与内核态切换.原创 2025-11-28 20:47:34 · 946 阅读 · 0 评论 -
进程间通信
本文系统介绍了进程间通信(IPC)的多种机制。首先阐述了IPC的目的包括数据传输、资源共享、事件通知和进程控制,并指出需要操作系统提供共享空间作为通信基础。文章重点分析了管道通信,包括匿名管道(pipe)和命名管道(FIFO),详细说明了其创建方式、工作原理和使用规则,特别强调了匿名管道只能在有血缘关系的进程间通信的特性。随后介绍了System V IPC机制,包括共享内存、消息队列和信号量,着重讲解了共享内存的高效性和使用方法。文章还探讨了信号量在资源保护和进程同步中的重要作用。最后分析了内核如何统一管理原创 2025-11-16 19:31:23 · 1144 阅读 · 0 评论 -
动静态库的原理与简单制作
学习笔记原创 2025-11-01 19:35:12 · 929 阅读 · 0 评论 -
linux的文件系统
学习笔记原创 2025-10-25 20:28:45 · 1109 阅读 · 0 评论 -
基础的IO
学习笔记原创 2025-10-18 19:20:41 · 919 阅读 · 0 评论 -
进程的控制
学习笔记原创 2025-10-10 20:10:37 · 763 阅读 · 0 评论 -
进程的概念(下)
对进程概念的进一步学习原创 2025-10-02 20:41:42 · 1020 阅读 · 0 评论 -
进程的概念(上)
进程相关概念学习原创 2025-09-25 18:33:23 · 851 阅读 · 0 评论 -
linux基础开发工具
学习记录原创 2025-09-06 21:14:10 · 954 阅读 · 0 评论 -
Linux入门(部分基础相关知识+常用命令+权限)
本文简要介绍了计算机和操作系统的发展历史,重点讨论了Linux操作系统的特点、目录结构、文件权限、用户管理、常用命令等内容。文章首先回顾了计算机的起源,从ENIAC到硅谷模式,再到Unix操作系统的诞生及其后续发展,特别是Linux的开源特性及其广泛应用。接着,详细解释了Linux的目录结构、文件权限管理、用户分类及权限控制,包括root用户和普通用户的区别。文章还列举了Linux中常用的命令,如ls、cd、等,并介绍了文件操作、压缩解压、日志管理、硬件信息查看等实用功能。原创 2025-05-23 17:12:16 · 971 阅读 · 0 评论
分享