24小时内活跃

PS

• UID:35164
综合评分 36
方向: 后端-C++ 、 操作系统-操作系统
乌鲁木齐市
300元/8h
1年经验
求职意愿:接单·考虑求职(1天内更新)

个人简介

操作系统底层开发 / C / C++ / Linux 内核驱动 / 自研文件系统与 UEFI 内核 / B+树与内存分配器 / NVMe 驱动 / QEMU 虚拟化测试

技能

核心技能: C++
其他技能: Linux Driver、Linux Kernel
交流语言: 普通话( 母语水平 ) 、 英语( 可口语交流 )
行业经验: 云计算

项目案例

自研操作系统内核
1、立项背景和目标 SparrowOS 是一个不依赖现成内核、不套用 Linux 代码的 x86-64 宏内核,从 UEFI 固件交接开始逐层自建。立项初衷是摆脱“调库式”的操作系统学习:不使用 libc/STL,不借用现成引导器与驱动框架,把引导、页表、内存、调度、驱动、调试全部亲手实现,让每一行代码都可解释、可观测、可复现;并以多核调度、NVMe 存储等现代先进计算机气氛底层能力为切入点,理解云计算基础设施。目标分三段:先打通真机启动与中断/调度运行时;再补齐 NVMe、键鼠、显示等设备与内核 Shell,使内核能在真实硬件上“自诊断”;最终接入文件系统与用户态,演进为可持续验证的操作系统实验平台。 2、软件功能、核心功能模块 - 引导与内存:init.elf 在 UEFI 阶段完成硬件探测、页表构建与 kernel.elf 加载,内核运行于高半区;实现四级页表、伙伴系统 BCB、空闲页分配器 FPA、kpoolmemmgr 池分配器、地址空间管理与 TLB shootdown。 - 调度与并发:per-CPU 调度器、任务池、内核线程、block_queue 阻塞队列(句柄化登记、出锁后批量唤醒)以及自旋锁/读写锁体系。 - 平台与中断:ACPI 表解析、LAPIC/IOAPIC、AP 多核启动、HPET/TSC/RTC 计时、异常与中断分发框架。 - 设备驱动:PCIe ECAM 枚举、NVMe(SQ/CQ、PRP、读写与完成中断)、DMAR/VT-d、i8042 键鼠、UART 串口、GOP 文本控制台与内嵌字库;NVMe 读写与 VT-d 关闭已真机验证。 - 观测与交互:printk 日志栈、KURD 五层错误模型、panic 取证、内核符号回溯;kshell_v2 将 Shell 核心与前端解耦,30 余条命令可运行在“键盘+屏幕”和“魔法断点+gdb(CI)”两种前端上。 - 规划中:RavenFS 文件系统(用户态原型已完成并通过用例)、用户态与网络通道。 3、业务流程、功能路径描述 启动路径:UEFI → init.elf 枚举 ACPI/PCIe/内存资源 → 建立页表 → 加载 kernel.elf 至高半区 → BSP 初始化内存、中断与调度 → 启动 AP → 探测 NVMe/DMAR/i8042/GOP → 创建内核线程并进入 kshell 会话。 命令路径:按键 → i8042 中断 → 输入事件环 → 前端行编辑 → kshell_v2 分词并在命令红黑树中查找 → 执行处理器把业务日志写入切片 → 前端渲染并归档到会话环;CI 前端只替换输入输出手法,不改动命令逻辑。 存储路径:块请求进入 block_queue 阻塞 → 提交 NVMe SQ → 完成中断 → 消费 CQ → 唤醒等待任务。
云计算
ravenfs文件系统工具链-ravenfs
一、立项背景和目标 RavenFS 是自研的 B+tree 块级文件系统,而是**自然成长于一片特定的设计空气**:单用户、富内存、NVMe SSD、盘少工况好、CPU 并发上限高。设计高度讨好快路径:元数据走内存分片缓存、分配器按CPU分片,以富余换简洁与吞吐。代价诚实说明:初版设计时作者是新手,未引入日志等容灾技术,容错存在系统性忽视——定位实验性FS,勿承载真实数据。目标:学习用尽可能简洁的设计满足高并发,并把"能跑"推进到"可部署、可维护"。ravendsrv 用户态服务器企划已被否决,仅保证 Linux ko 挂载运行,远期移植自研 SparrowOS。 二、软件功能、核心功能模块 **总纲**:全模块以统一磁盘布局契约(SB/位图/inode 面/B+tree)为最大公约数——契约唯一、实现独立、互不链接,杜绝共因失效。 **三个同量级独立模块**: 1. **上帝类** — 用户态 C++ 全功能原型,所有算法核心思想的验证场:B+tree、按 CPU 分片的块分配器、分片元数据缓存、direct/extent 双形态 inode 均先在此跑通,是生态算法母本; 2. **ravenfs.ko** — 基于上帝类逐模块移植(I/O 层换 bio/私有 buffer cache),pacman+DKMS 交付,内核升级自动重编; 3. **audit** — 顶替 fsck 生态位。不做 fsck:fsck 是不良定义问题,遇足够多真实故障前写不出,也无长期场景;audit 逐一断言盘上契约不变量,带 trace 档位呈现数据块分布,作行为调优凭据。刻意不链接核心库,避免继承上帝类 bug。 **构建与运维小工具**(不同量级):**mkfs.ravenfs**(格式化,兼容双布局);**sbinfo**(SB 只读查看器,类 dumpe2fs,秒开)。 **用户态离线维护工具**(基于上帝类二次开发):**rfs_compact**(碎片压实,extent 收敛整域并降级 direct);**rfs_freeruns / rfs_slice_fr**(空闲区间与分片视图 dump,回收决策凭据);**rfs_cachectl**(元数据缓存在线控制)。 ## 三、业务流程、功能路径 **生命周期主线**:mkfs 格式化 → ko 挂载 → rfs_cachectl 调优 → sbinfo/rfs_freeruns 巡检 → rfs_compact dry-run 报告、apply 压实 → audit 全盘校验(+trace 看数据块分布)。 **排障路径**:SB 层找 sbinfo;SB 之下找 audit;空间/碎片依次用 rfs_freeruns、rfs_slice_fr、rfs_compact 分级修复。
云计算

工作经历

自由开发
  
5人以下
独立开发者
2025.08 - 2026.10
1.从零自研 SparrowOS(x86_64 UEFI 内核,416 commits)与 RavenFS(B+tree 块级文件系统工具链,8 万行):内核侧完成启动链路/中断体系/双层内存管理/抢占式调度器/NVMe 驱动/内核 Shell;文件系统侧交付 Linux 内核模块(DKMS)+ 用户态原型 + 独立校验器 + 运维工具链,以磁盘布局契约为最大公约数、原型驱动 + AI 辅助开发。QEMU 全链路验证 + 实体机灰测。 2.

教育经历

石河子大学
2024.09 - 2028.06
软件工程niit
本科
相似推荐
银川市
前端-Web前端、后端-C++
技能:C++
深圳市
后端-C++、后端-C#
技能:C#、C++、WPF、WinForms、Qt、ONNX Runtime、OpenCV
成都市
后端-C++
技能:C++、Qt
丹东市
后端-C++、前端-Web前端
技能:C++、Java、Python、C、SQL
西安市
桌面端-Qt、后端-C++
技能:Qt
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服