11层存储上一篇中演示了数据在11个存储层级中的流转。
分层存储思想
由冯诺依曼(总架构顾问)、戈德斯坦(项目协调主管)、博克斯(逻辑设计工程师)在1946年联名提出,源自EDVAC项目:二战时美军想要快速进行大量弹道计算,想把计算程序和数据一起存计算机里,从而让计算机自动计算数据。
目标是为高速存储成本高而大容量存储速度慢提供最优方案 ,实现更快+更低成本处理存储器中的更多数据。
这个思想不仅被现代工程沿用设计出了11层存储,还可以用来优化程序性能。
不同岗位的开发者需要关注的层级各有侧重,大多只需要关注3层存储。
细分各岗位应用场景
| 开发者类型 | 主要关注层 | 工作场景 |
|---|---|---|
| 嵌入式驱动 | L1(寄存器、SFR) | 直接操作硬件寄存器,控制外设(GPIO、中断、DMA等) |
| 编译器开发 | L1-3(寄存器、缓存) | 寄存器分配优化、指令调度、缓存局部性优化 |
| OS 内核 | L4-5(L3、虚拟内存) | 内存管理、进程调度、虚拟内存、页表、缓存一致性 |
| 游戏引擎 | L2-3 + L6(缓存 + 显存) | 图形渲染管线优化、GPU显存管理、CPU缓存行优化 |
| 量化交易 | L1-4(极低延迟) | 高频交易系统、纳秒级延迟优化、缓存命中率优化 |
| AI/ML 工程师 | L5-6 + L10(RAM + VRAM + 云) | 模型训练/推理、GPU显存管理、大数据集加载、云存储 |
| 后端工程师 | L5-7(RAM + SSD) | 应用内存管理、数据库查询优化、文件I/O、缓存策略 |
| DBA | L7-9 + L11(SSD/HDD/归档) | 数据库索引优化、备份恢复、存储容量规划、归档策略 |
| 数据工程师 | L7-10(SSD/HDD/网络/云) | ETL流程、大数据处理、分布式存储、云数据仓库 |
| 前端工程师 | L5(RAM) + 浏览器存储 | JavaScript内存管理、DOM优化、HTTP缓存、Service Worker |
| 移动端开发 | L5(RAM) | App内存优化、OOM崩溃预防、图片/资源加载优化 |
| DevOps / SRE | L4 + L7-10(监控 + 多层) | 系统监控、性能调优、容量规划、分布式存储运维 |
| 基础设施 | L4-10(系统全景) | 全栈存储架构设计、跨层性能优化、技术选型 |
| 备份工程师 | L8-11(HDD + 磁带) | 数据备份策略、磁带库管理、灾难恢复、归档存储 |
| 嵌入式 Linux | L5 + L7-8(RAM + SSD/HDD) | 嵌入式系统内存管理、文件系统优化、存储驱动开发 |
各岗位主要工作流程详解
1. 嵌入式驱动工程师
核心工作流程:
- 硬件寄存器配置:通过内存映射I/O(MMIO)直接读写特定地址的寄存器,配置外设工作模式。
- 中断服务程序(ISR)编写:响应硬件中断,快速处理外设事件,确保实时性。
- DMA控制器配置:设置直接内存访问通道,实现外设与内存间的高速数据传输。
- GPIO控制:配置通用输入输出引脚的电平、方向、上拉/下拉电阻。
- 外设驱动开发:为UART、SPI、I2C、USB等接口编写驱动程序。
- 注:加粗部分为存储相关场景
2. 编译器开发工程师
核心工作流程:
- 词法分析与语法分析:将源代码转换为抽象语法树(AST)。
- 中间代码生成:生成与平台无关的中间表示(IR)。
- 寄存器分配:使用图着色算法等策略,将虚拟寄存器映射到物理寄存器。
- 指令调度:重排指令顺序以利用CPU流水线,减少数据依赖导致的停顿。
- 缓存局部性优化:调整数据布局和访问模式,提高缓存命中率。
3. OS内核开发工程师
核心工作流程:
- 内存管理:实现虚拟内存系统,管理页表、TLB,处理缺页异常。
- 进程调度:设计调度算法(如CFS、实时调度器),管理进程上下文切换。
- 缓存一致性维护:通过MESI等协议确保多核CPU缓存数据一致性。
- 系统调用实现:提供用户态与内核态的接口,处理文件、网络、进程等系统调用。
- 设备驱动框架:提供统一的设备驱动模型和接口。
4. 游戏引擎开发工程师
核心工作流程:
- 图形渲染管线优化:减少Draw Call,优化着色器编译,使用实例化渲染。
- GPU显存管理:实现纹理、缓冲区等资源的动态加载与释放,避免显存碎片。
- CPU缓存行优化:调整数据结构布局,确保常用数据在同一缓存行。
- 多线程渲染:使用Command Buffer、Worker Threads实现并行渲染。
- 资源流式加载:根据摄像机位置动态加载/卸载游戏资源。
5. 量化交易工程师
核心工作流程:
- 市场数据接收:通过FPGA或专用网卡接收交易所行情数据。
- 策略信号生成:运行高频交易算法,生成买卖信号。
- 订单路由:以纳秒级延迟向交易所发送订单。
- 风险控制:实时监控仓位、盈亏,执行风控规则。
- 性能分析:分析延迟瓶颈,优化缓存命中率、分支预测。
6. AI/ML工程师
核心工作流程:
- 数据预处理:加载大规模数据集到RAM,进行数据增强、归一化。
- 模型训练:将模型参数、优化器状态加载到GPU VRAM,进行前向传播、反向传播。
- 显存优化:使用梯度检查点、混合精度训练、模型并行等技术减少显存占用。
- 模型推理:将训练好的模型部署到生产环境,优化推理延迟和吞吐量。
- 云存储集成:将训练数据、模型检查点存储到S3等云对象存储。
7. 后端工程师
核心工作流程:
- 应用内存管理:监控JVM堆内存、Go GC、Python引用计数,防止内存泄漏。
- 数据库查询优化:分析慢查询,创建合适索引,优化JOIN顺序。
- 文件I/O优化:使用异步I/O、内存映射文件提高读写性能。
- 缓存策略设计:实现Redis/Memcached缓存层,设计缓存失效、更新策略。
- 连接池管理:管理数据库连接池,避免频繁创建连接的开销。
8. DBA(数据库管理员)
核心工作流程:
- 索引优化:分析查询模式,创建复合索引、覆盖索引,定期重建索引。
- 备份恢复:制定全量/增量备份策略,定期测试恢复流程。
- 存储容量规划:监控表空间使用情况,预测未来存储需求。
- 归档策略:将历史数据迁移到冷存储,减少主库压力。
- 性能调优:调整缓冲区大小、日志文件配置等数据库参数。
9. 数据工程师
核心工作流程:
- ETL流程开发:从多个数据源提取数据,进行转换清洗,加载到数据仓库。
- 大数据处理:使用Spark/Flink处理PB级数据,优化Shuffle、序列化。
- 分布式存储管理:维护HDFS、S3等分布式文件系统,确保数据可靠性。
- 云数据仓库优化:在Snowflake、BigQuery等平台上优化查询性能、控制成本。
- 数据流水线监控:监控数据质量、处理延迟,设置告警机制。
10. 前端工程师
核心工作流程:
- JavaScript内存管理:避免内存泄漏,及时解除事件监听,释放不再使用的对象。
- DOM优化:减少DOM操作,使用虚拟DOM,批量更新DOM。
- HTTP缓存策略:设置合适的Cache-Control头,利用浏览器缓存。
- Service Worker开发:实现离线缓存、后台同步、推送通知。
- 资源加载优化:使用懒加载、预加载、代码分割等技术。
11. 移动端开发工程师
核心工作流程:
- App内存优化:监控内存使用,避免内存泄漏,及时释放大对象。
- OOM崩溃预防:使用LeakCanary等工具检测内存泄漏,优化图片加载。
- 图片/资源加载优化:使用图片压缩、WebP格式、懒加载技术。
- 后台任务管理:合理使用后台服务、JobScheduler,避免耗电。
- 存储优化:使用SQLite、Realm等本地数据库,优化查询性能。
12. DevOps/SRE工程师
核心工作流程:
- 系统监控:部署Prometheus、Grafana监控系统资源使用情况。
- 性能调优:分析系统瓶颈,调整内核参数、文件系统配置。
- 容量规划:预测存储、计算资源需求,进行扩容规划。
- 分布式存储运维:维护Ceph、MinIO等分布式存储系统,确保高可用。
- 自动化部署:使用CI/CD流水线自动化部署存储相关服务。
13. 基础设施工程师
核心工作流程:
- 全栈存储架构设计:设计从L1到L11的完整存储架构方案。
- 跨层性能优化:分析应用在各级存储的表现,提出优化建议。
- 技术选型:评估不同存储技术(NVMe SSD、对象存储、磁带库)的适用场景。
- 容量与成本平衡:在性能、容量、成本之间找到最佳平衡点。
- 灾难恢复设计:设计跨地域、跨层级的容灾备份方案。
14. 备份工程师
核心工作流程:
- 数据备份策略制定:设计全量备份、增量备份、差异备份策略。
- 磁带库管理:管理磁带机械手、驱动器,执行磁带轮换策略。
- 灾难恢复演练:定期测试备份数据的可恢复性。
- 归档存储管理:将不常访问的数据迁移到归档存储,降低成本。
- 合规性检查:确保备份策略符合行业法规要求。
15. 嵌入式Linux工程师
核心工作流程:
- 嵌入式系统内存管理:配置CMA(连续内存分配器)、ION内存分配器。
- 文件系统优化:选择适合嵌入式设备的文件系统(如SquashFS、JFFS2)。
- 存储驱动开发:为eMMC、UFS、SD卡等存储设备编写驱动程序。
- 启动优化:优化U-Boot启动流程,减少启动时间。
- 功耗管理:实现存储设备的电源管理,延长电池寿命。
参考来源
- 小孩也能看懂的算法笔记,排序day3-图解快速排序内存流转
- 深入解析Cortex-M4F编程模型:从寄存器到内存映射的嵌入式开发核心
- AM64x/AM243x硬件防火墙配置实战:从寄存器解析到多核安全隔离
- 2026年VIVO嵌入式岗位高频面试题(含参考答案)
- 2026年小米嵌入式岗位面试题带详细答案
- 2026年黑芝麻嵌入式岗位高频面试题带参考答
@fivebliss

299

被折叠的 条评论
为什么被折叠?



