首页 Home.
-
走读 Ollama 源码:从 ollama run 一条命令理清 client/server/model 三层架构,解析 cobra 命令分发、Go build tag 多平台编译、Setpgid 后台进程、推理引擎子进程通信等关键实现。
2026年5月29日 7 次浏览 -
自制操作系统(33):Ext2文件系统驱动——inode解析,打开、读取文件 我们来实现inode的解析和打开、读取文件。 inode解析 上一节我们已经解析好inode了,这一节我们要实现一个把inode对应的数据块读出来的函数。 读取inode对应的数据内容是一件比较麻烦的事,因为会涉及到块对齐、偏移、多级指针、跨级读取这些事情…我们有必要细细想好,再来做这件事情。 难题 读取这样的文件,以下是我能想到的最棘手的情况:用户给出了一个偏移,在二级指针的某块的中间,而用户给出的长度,又卡在了三级指针的某块的中间… 这个时候,我们不仅要先去定位这两个左右端点对应的是哪 […]
2026年5月29日 7 次浏览 -
「我这张显卡能跑多大的模型?」要回答这个问题,得先搞懂显存被什么占用。本文从零讲起注意力机制——把 Query 理解成"提问"、Key 理解成每个词的"回答能力"、Value 理解成"词的特性",再延伸到多头注意力(MHA)和分组查询注意力(GQA)。在打好概念基础后,我们推导出 KV Cache 的显存占用公式,并用 Llama-3 和 Qwen2.5 的真实参数,手把手估算单请求显存、并发上限,以及为什么长上下文如此昂贵。读完你将能凭一份 config.json 估算任意模型的显存预算——这是推理工程师的基本功。
2026年5月28日 10 次浏览 -
大语言模型推理的吞吐量瓶颈在哪里?答案是 KV Cache 引发的内存碎片。vLLM 团队借鉴操作系统的虚拟内存与分页机制,提出 PagedAttention,将 KV Cache 分块管理并支持共享与写时复制,吞吐量较 SOTA 提升数倍。本文从 OS 视角解读这一设计。
2026年5月26日 18 次浏览 -
自制操作系统(32):Ext2文件系统驱动——Ext2挂载,超级块解析 上一节我们直接把块设备的数据给了挂载点,其实这是不够的,我们应该多封装一层: struct ext2_data { block_device* dev; ext2_super_block sb; }; 然后我们用这样的方式去挂载包装: if (bdev_list[i]->fs == file_system::EXT2) { ext2_data* data = (ext2_data*)kmalloc(sizeof(ext2_data)); data->dev = bdev_list[i]; mounting_po […]
2026年5月25日 15 次浏览 -
自制操作系统(31):Ext2文件系统驱动——ATA PIO驱动读写扇区,块设备抽象 我们已经厌倦了只读的世界,是时候进入一个可以挂载可读写文件系统的世界了。 我选择了EXT2,是因为它比较亲近linux,而且不算简单也不算难,有很多与EXT4相近的地方,适合用来作为对现代文件系统的进一步理解。 首先我们来看看怎么识别设备,并从我们的设备读取一个指定的扇区。 创建并挂载镜像 我们制作一个4M的镜像,并把它格式化为EXT2,再挂载上我们的系统,把SYSROOT下面的文件复制到该镜像内,再卸载: aoverb@BA:~/lolios$ dd if=/dev/zero of=disk.img bs= […]
2026年5月18日 33 次浏览 -
自制操作系统(29):UDP 今天我们来写UDP,并用UDP来适配DNS协议。 UDP UDP其实就是简化版的TCP,没有状态机,但还是会有一个哈希表来关联socket和网络数据。 报文 0 15 16 31 +-----------------+-----------------+ | Source Port |Destination Port | +-----------------+-----------------+ | | | | Length | Checksum | +-----------------+-----------------+ | | | data octets . […]
2026年5月14日 19 次浏览 -
在 WSL 下打开 VSCode 时,Cline、Roo Code 等 AI 编程插件无法访问 Windows 端 Qdrant 服务器和远端 DeepSeek API。本文记录了排查思路,并给出解决方案:进入 VSCode 设置关闭(或开启)代理支持选项(Http: Proxy Support),即可恢复插件的正常网络连接。
2026年5月12日 56 次浏览 -
自制操作系统(28):TCP(五)——HTTP、TELNET TCP栈这么有用的东西,不好好利用岂不是浪费了? HTTP源码获取 我们可以获取HTTP源码!现在有了TCP框架的加持,HTTP协议本身的支持并不是什么特别难的事情。 while(1) { int ret = poll(fds, 2, -1); // -1 = 无限等待 if (ret < 0) { break; } if (fds[0].revents & POLLIN) { int n = read(0, buff, sizeof(buff)); buff[n - 1] = '\0'; if (n <= 0) […]
2026年5月10日 51 次浏览
-
博客历经半年沉寂再度复活!因服务器到期及备案波折,虽遭遇数据库丢失惨剧,终靠老备份与AI辅助完成重构。
2026年2月5日 -
记录端午期间赴高松、直岛及男木岛的《Summer Pockets》圣地巡礼,分享与同好不期而遇的惊喜及男木岛“口袋猫基地”的感动体验。
2025年6月6日 -
记录意外通过 JLPT N1 考试的心路历程。在备考有限、估分胶着的情况下压线过级,感叹运气之余,也重新审视了语言学习的门槛与价值。
2024年9月5日 -
记一次在富士山下的听觉旅程。当经典的旋律在现实景观中响起,音乐与风景交织成一份独特的旅行感悟。
2024年5月2日 -
韩国真的是“美食荒漠”吗?作者通过亲身经历,从10元的便利店泡面到600元的炭火烤肉,全方位测评首尔饮食文化,带你体验真实的韩国味道。
2023年12月22日 -
记录《原神》枫丹剧情后的感慨,通过一系列游戏精美截图表达对角色芙宁娜(Furina)的喜爱与致敬:“芙芙值得。”
2023年11月17日
