posts

数字电路知识点记录

  • TL;DR 最近太无聊,重新拾起cs61c课程,开始有些痛苦的数字电路学习。 我的仓库 这个博客就用来记录一下各种硬件的引脚和电路设计等知识。 Warm up Bssic 在更高抽象的程序中,一般情况下都是串行的。 但是在硬件视角中,都是并行的。(电路很快,所以要有负反馈/回授等 …

动态调试xv6内核,复习OS知识

  • TL;DR 很早之前,我就做完了xv6内核的实验,也算是入门了操作系统 xv6小而精的设计思路的确适合初学者入门这样一个复杂的计算机分支 今天经过一定时间的沉淀后,重新来看看当时没有被完全理解,还有一些被一笔带过的知识 固件代码 过去,我们只关注到了内核被加载之后的内容,每次调试 …

分析musl libc 1.2.0 malloc实现

  • musl libc 最近决定着手malloc的实现,一方面是比较感兴趣,另一方面可以加强对内存管理的理解,同时也可以推进对堆安全的理解。 相对于glibc的复杂,或许应该先抛开复杂的性能优化,从最简单的开始学习 所以我选择了musl libc 1.2.0版本 musl libc的 …

Rust实现MOS 6502 CPU模拟器

  • TL;DR 从零用 Rust 实现 MOS 6502 CPU,再到完整的 NES 模拟器:两周时间,247 个 opcode,一个 8-bit 的世界。 项目地址 前言 本人对系统底层和CPU有着浓厚的兴趣,恰好看到喜欢的Youtuber Tsoding 制作了有关MOS …

有关CTF的思考

  • 前言 首先非常高兴各位可以点开这个博客,无论你是否打算走 网络安全/信息安全 这个方向,我有一些小小的感悟在这里分享。 这篇文章我决定放在这里,也是想和其他一起学习网络安全的师傅们共勉。 写下这篇博客的时候,我也只是一个马上进入大二的计算机专业学生,对这些事物有理解偏差,还望谅解 …

Hardware Knowledge You Have to Know Before Assembly

  • Summary After leaving the abstract world of high-level programming languages, you plan to start with assembly. In assembly, you need to …

CS144 Lab2

  • 具体实现细节请参考 我的实现 Lab2 Start 这个实验要求实现一个TCPReceiver类 这个类是基于前两个实验,所以要熟悉前两个实验完成的接口 越靠后的实验,越是在封装上进行编程,如果忘记了,记得回去看接口 从这个实验开始,我们就真正设计到tcp协议中的内容,包括但不限 …

CS144 骨架代码分析

  • 序列化 序列化:将结构化信息转化为大端序的二进制序列 Sponge和Minnow在这里处理有差异,Sponge是解析后直接返回string,Minnow是通过序列化一个Serializer类处理 class Serializer { …

CS144 Lab0

  • cs144是计算机网络中一个比较硬核的项目,十分利于学习现代c++和软件架构的初步理解 现在最新是Stanford Minnow版本使用了c++ 20的标准 Sponge版本 Minnow版本 我的实现 两者都可以选择去做,但更推荐Minnow版本,它更新,并且会涉及一些更高级的 …

CS144 Lab1

  • 具体实现细节请参考 我的实现 Lab1 Start 这一个实验要实现两个功能 Wrapping Integers 这里要实现32位seqno和64位abs_seqno进行相互转换 这里有一个很形象的比喻 32位seqno就像是一圈400米跑道,它只能精确到当前400米中的某个位置 …

个人博客

  • 关于 I’m TuxNode, a computer science major student. Passionate and interested in free software. fsf My Github 自由软件的拥护者 I have to admit …
recent-work

数字电路知识点记录

TL;DR 最近太无聊,重新拾起cs61c课程,开始有些痛苦的数字电路学习。 我的仓库 这个博客就用来记录一下各种硬件的引脚和电路设计等知识。 Warm up Bssic 在更高抽象的程序中,一般情况下都是串行的。 但是在硬件视角中,都是并行的。(电路很快,所以要有负反馈/回授等 …

Read more →

动态调试xv6内核,复习OS知识

TL;DR 很早之前,我就做完了xv6内核的实验,也算是入门了操作系统 xv6小而精的设计思路的确适合初学者入门这样一个复杂的计算机分支 今天经过一定时间的沉淀后,重新来看看当时没有被完全理解,还有一些被一笔带过的知识 固件代码 过去,我们只关注到了内核被加载之后的内容,每次调试 …

Read more →