从源码构建Linux内核 本文基于WSL2,Debian13发行版。 环境准备 WSL配置 请确保您使用了Windows11或Windows10的较高版本,以保证对WSL2有完善的支持。 在本文编写时(2026 05 17),该命令会下载D...
阅读全文Appearance
从源码构建Linux内核 本文基于WSL2,Debian13发行版。 环境准备 WSL配置 请确保您使用了Windows11或Windows10的较高版本,以保证对WSL2有完善的支持。 在本文编写时(2026 05 17),该命令会下载D...
阅读全文传统的面向对象设计中,继承机制带来了很多不必要的复杂性。继承层级复杂后,往往伴随着代码耦合性高、难以修改等情况。新兴语言中,比较保守的如Kotlin、仓颉等不再默认允许类被继承,而是需要通过 open 关键字显示声明;比较激进的语言如go、...
阅读全文背景 最近许多客户投诉设备定时升级失败。和客户沟通后收集了部分的日志,发现其升级失败的共同原因都是 connect 超时。我是负责维护客户端升级模块的,但短时间内大量曾经正常的用户出相同网络问题,我觉得应该找服务器那头,所以找了服务器那头开...
阅读全文什么是ELF ELF,全称 E xecutable and L inkable F ormat,即可执行可链接格式,是Unix首次提出的一种二进制接口标准,如今已经成为Unix与Linux世界中最重要的文件格式。这些系统中,二进制可执行文件...
阅读全文僵尸进程是什么 程序的状态 为了方便管理程序,操作系统为程序设置了不同的状态。这些状态代表了程序的运行情况。在Linux中,用户态程序有 R S D T t Z X 七种状态。每个状态代表的意义如下。 字符 含义 R 正在运行,程序当前正在...
阅读全文TCP的正常情况 TCP的正常连接情况,本文不再赘述。三次握手与四次挥手有大把八股可以看。这里会放一个TCP状态机的图片,用于在下方出现错误时参考。 一些前置知识 TCP状态由内核维护 TCP 协议栈是由操作系统内核负责实现和维护的。内核负...
阅读全文C语言的类型及其转换一直是一个基础但又容易出错的场景,本文以C11标准为基础,为读者提供C语言类型转换的重要知识和最佳实践。 C是目前活跃的编程语言中历史最久的,自然积攒了相当多的历史遗留问题,这篇文章中尽可能指出C中常见的不明确点,避免读...
阅读全文TLS层 TLS(Transport Layer Security)传输层安全,为网络流量提供了一种通用可行的加密方案。大量应用的网络连接加密方案均使用TLS,包括HTTPS、SMTPS、Open VPN、MySQL等常见应用,且开发者也可...
阅读全文原子操作 原子操作在不同的语境下有不同的含义。在CPU中,原子操作是一种不会被打断的操作,CPU的任何一条指令都是原子操作。在编程语言中,原子操作通常用来操作内存中的值,而此时原子形容的是读写内存时以一个整体进行操作,不会因为其他核心或硬件...
阅读全文iptables 是Linux中的网络工具,其工作在用户空间,可以用来操作内核空间的 netfilter 模块,以自由控制经过该主机的包。它替换了老版的 ipchains ,提供了更多的功能。而其后继者是 nftable ,它比 iptab...
阅读全文