logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

UDP底层与守护进程化-报头结构体skbuff指针移动与自成会话

本文系统梳理了UDP底层机制与网络服务守护进程化的内在逻辑:从8字节UDP报头结构体出发,揭示内核通过sk_buff指针移动实现封装/解包;剖析file→socket→sock三层包装如何统一文件与网络操作;详解硬中断到软中断的数据上行路径,阐明操作系统由中断驱动的本质;最终落脚于守护进程化——通过fork+setsid自成会话,确保网络服务脱离终端生命周期,实现长期稳定运行。全篇贯通内核数据流转

#udp#驱动开发#网络协议
从HTTPS到MySQL-会话保持的攻防与数据库的真面目

HTTP 快但不安全,GET/POST 传参都不安全;代理能帮你也能劫持你(木马就是进程级劫持+代理);:出网卡前必加密;应用层进程内受操作系统进程隔离保护——加密在"最后一道受保护的层"落地;会话保持两代方案:Cookie(凭证在客户端,可被盗号)→ Session ID(账本在服务端,id+IP 环境双验证);秘密越往服务端收越安全;MySQL = mysqld 守护进程 + mysql 客户

#数据库#https#mysql
协议为什么存在-协议栈IP与MAC和缓冲区里的生产者消费者

协议是通信的约定,确保数据正确传输与处理。协议栈如栈般层层封装与拆解报头,每层负责分离数据与定向交付。IP地址为全局目标,MAC地址则逐跳更换,实现跨网络接力。网络层屏蔽底层差异,使“一切皆IP”。发送接收缓冲区采用生产者消费者模型,由操作系统异步管理,用户无法直接控制刷写时机。手搓协议后方懂:协议 = 报文格式 + 解析规则 + 行为约定,具备可拓展性。理解这些,才能真正读懂HTTP。

#tcp/ip#macos#网络协议
依据OSI分层写服务器-回调解耦与InAddr封装

本文基于OSI模型,阐述优秀服务器的设计核心:上三层由代码实现,下四层依赖操作系统。通过“回调解耦”与“两层循环解析”结构,实现数据收发、协议解包与处理的清晰分离。利用回调机制解耦协议逻辑,支持灵活切换JSON、HTTP等应用层协议。结合InAddr封装,统一处理网络地址转换,适配服务端与客户端场景。最终揭示:文件与网络均为字节流,序列化/反序列化通用于配置与通信,体现分层抽象的复利价值。

#服务器#驱动开发#运维
C语言多态与内核缓冲区的本质-VFS的两个底层设计

本文通过两页笔记,揭示了C语言实现多态与内核级缓冲区的本质。C语言通过结构体嵌套(模拟继承)与函数指针表(替代虚表),在无类机制下实现多态,Linux VFS 的 f_op 即为典范。内核级缓冲区本质是“有文件身份的共享内存”:同一物理页被多个进程映射,实现零拷贝、预读命中与延迟写,极大优化IO效率。二者皆源于基础数据结构的巧妙组合,展现了操作系统设计的朴素智慧。

#linux
SystemV-IPC-共享内存为什么最快信号量为什么是票

共享内存是System V IPC中最快的方式,因进程直接映射同一物理内存,无拷贝、无系统调用,数据即时可见。其必须由操作系统创建,确保资源全局可见与安全。通过key与shmid双层设计实现跨进程定位与内核管理,生命周期随内核存在,需显式删除。信号量则如“票务系统”,以计数器形式实现资源访问控制,配合共享内存完成互斥(二元信号量)或并发限制(多元信号量),其P/V操作原子性依赖底层锁机制,避免竞态

#linux
虚拟地址的第二次重构-_start与PLT-GOT的完整由来

本文以“偏移量”为核心,揭示虚拟地址的本质:从ELF节段到mm_struct的构建,依赖基地址与偏移量的叠加;通过PLT/GOT实现动态链接的惰性绑定,避免修改只读代码段;写时拷贝保障进程间数据独立性;而.got作为可修改的数据后门,支撑动态加载的灵活性。最终,所有机制皆围绕“偏移量坐标系”展开,构成现代操作系统内存管理的底层逻辑。

#linux
从磁盘硬件到Ext文件系统-Linux磁盘级文件系统学习笔记

本文系统梳理了从磁盘物理结构到Ext文件系统的底层原理:磁盘以磁性存储实现持久化,通过CHS与LBA实现寻址;操作系统以4KB块为单位管理磁盘,通过分区与块组组织空间;文件由独立的inode(属性)与data blocks(内容)构成,通过inode中的i_block[]关联;删除仅修改位图,数据残留可恢复;内核通过page与缓冲区高效管理块。全程揭示了“文件未打开时”的本质——是磁盘上由块、位图

#linux#运维#服务器 +2
到底了