跳到主要内容

GO 内存模型

· 阅读需 20 分钟
OneCastle5280
Back-end Engineer @ SHOPLINE

与需要主动申请和释放内存的 C/C++ 不同,GO 实现了自动内存分配、逃逸分析和自动垃圾回收(GC),极大地解放了开发者的双手。在这篇文章中,我将为大家介绍 GO 语言的内存管理模型,深入了解 GO 在进行内存申请时是如何快速分配内存的。您将了解到 GO 语言在内存管理方面的独特设计和实现原理,帮助您更好地理解和应用 GO 语言进行高效编程。

有关于软盘控制器

· 阅读需 23 分钟
wjc133
Back-end Engineer @ SHOPLINE

在阅读李忠老师的《x86汇编:从实模式到保护模式》时,我遇到了一个关于硬盘读取的示例。由于实验环境的限制,我将示例改为读取软盘,但原程序无法正常运行。为了深入理解软盘的读取机制,我展开了一系列探索,并在这篇文章中记录了相关的研究过程和解决方案。本文不仅介绍了软盘控制器的相关寄存器作用,还分别展示了使用 BIOS 中断和不使用 BIOS 中断的方法来读取软盘数据。希望通过这篇文章,能帮助大家更好地理解软盘控制器的工作原理和实际应用。

远程使用 Linux Server 上的 Bochs

· 阅读需 4 分钟
wjc133
Back-end Engineer @ SHOPLINE

我手里有一台 M1 芯片的 MBP,学习 x86 汇编需要一个 x86 的机器,恰好我有一台实验机,安装的是 ubuntu server 24.04 版本。由于 Server 本身没有图形界面,也没有连接任何显示器。就想试试能不能通过远程的方式运行 bochs。

什么是黏包,半包又是什么?

· 阅读需 11 分钟
OneCastle5280
Back-end Engineer @ SHOPLINE

最近在学习如何手写一个 tiny-mq,其中在写网络通讯模块的时候,了解到黏包和半包的概念,并且需要对其进行处理;这篇文档就简单聊一聊什么是黏包、半包,产生的原因是什么,对我们有什么影响,我们应该如何来处理

计算机架构

· 阅读需 2 分钟
wjc133
Back-end Engineer @ SHOPLINE

我一直现在很多人对于软件开发的认知太过浮于表面了,很多人可能开发了好多年程序,但对计算机到底是怎么运行的一点都不关心,甚至觉得电子计算机能够执行程序是理所当然的。为什么计算机用就能执行各种各样的逻辑?如果搞不清这个最最基础的问题,不管是学习高级语言还是汇编,还是嵌入式开发等等,你总是有一种隔着窗户纸的感觉。

《穿越计算机的迷雾》这本书是我在大四那一年看的,第一次通读完这本书有一种醍醐灌顶的感觉。我才明白为什么我们要学什么数电、模电、信号与系统、通信原理等一大堆我听起来就头痛的学科。我觉得这个是大学教育里比较缺失的,这本书其实很适合当做一门导论的教材来学习。我也在很多场合给很多人都推荐过这本书,希望他们比我少走一些弯路。这段时间我又把书里的内容重新整理了一下,并加上了很多自己的理解和拓展知识,内容如下: