置顶文章
精选分类
机器学习
操作系统
思考与沉淀
杂项
科研
文章列表
GDB+QEMU调试Linux内核与内核模块
debug是定位并解决代码开发过程中问题的最好方法,本篇文章讲解如何利用QEMU和GDB来搭建linux kernel内核及内核模块的调试环境,以及如何结合VSCode实现带UI的调试。
more...从零实现FS | 最简单的存储结构与格式化工具
本篇文章是从零实现文件系统的第三篇文章,主要内容为设计并实现磁盘上的数据存储格式和为simplefs实现一个简单的文件系统创建工具mkfs.simplefs。
more...Linux 文件系统模型与VFS入门
Linux 利用VFS抽象出了通用的文件系统模型,进而可以借助VFS的转换来快速方便的兼容各种不同的文件系统格式,同时给上层应用提供统一的操作接口,屏蔽实际文件系统格式的差异。本篇文章将从整体架构和实现细节两个层面介绍Linux文件系统模型以及VFS的设计和实现,方便想要理解Linux 文件系统实现原理或入门相关领域的读者学习研究。
more...“C/C++找不到头文件”解决方案大全
在编写c/c++项目时经常会遇见头文件找不到的问题,如果是使用IDE进行开发的话,多半是因为没有在IDE中配置好include path,命令行编译的话则是没有给好编译参数,这里给出“找不到头文件问题”的解决方案大全。
more...从零实现FS | 最简单的内核模块
本篇文章是从零实现文件系统的第一篇文章,主要内容为内核模块开发环境搭建以及编写一个Hello world级别的内核模块并装载在内核,很适合作为深入linux内核的第一步。
more...从零实现FS | 最简单的文件系统
本篇文章是从零实现文件系统的第二篇文章,主要内容为利用VFS提供的API实现一个最简单的文件系统并可以正确挂载/卸载,其中会开始涉及一些linux文件系统的相关知识和实现原理。
more...论文阅读| Fuzzing File Systems via Two-Dimensional Input Space Exploration
该论文是一篇有关Linux文件系统fuzz的论文,作者提出可以通过同时变异image元数据和syscall的方式来对文件系统进行测试,同时使用了LKL来加速重启时的时延。
more...文件系统详解 | FAT32
FAT 文件系统起源于1980年左右,是MS-DOS首次支持的文件系统。它最初是一个简单的文件系统,适用于容量小于500k字节的软盘。随着时间的推移,它的规格不断扩大,支持的介质也越来越多,容量也越来越大。本篇文章着重讲解FAT32详细结构,穿插一些FAT12/16的内容,力图能让读者完全搞懂FAT文件系统的运行方式。
more...CLion构建远程CMake开发环境
本篇文章记录了从一台纯净的Ubuntu云主机开始配置C/C++开发环境的全过程,最终效果是可以使用CLion在本机远程开发和调试云主机中的CMake项目。
more...