洛佳 组件化驱动、ROM运行环境与RustSBI
第三届中国Rust开发者大会 组件化驱动、ROM运行环境与RustSBI 洛佳 华中科技大学 网络空间安全学院 2023年6月 本次演讲…… 关于我…… • 笔名洛佳 • 华中科技大学网络空间安全学院研一 在读(导师:周威老师) • 研究方向:物联网安全、系统安全 • 热爱开源,乐于尝试新技术 • RustSBI项目维护者 • 致力于向科研、教学和产业界推广 Rust语言 Rust语言 汲取Rust嵌入式和操作系统生态经验,总 结而成的新一代驱动开发方法。动、静态 基地址结合,高灵活性;一次开发,同时 复用于嵌入式、固件和内核中。 # 组件化驱动 合理利用嵌入式、桌面和服务器芯片片内 ROM代码,构造零开销的运行环境。进一 步地,可完成安全引导、安全镜像分发和 通常的嵌入式开发等功能。 # ROM运行环境 # 2023年的RustSBI 作为RISC-V 作为RISC-V SBI固件的RustSBI,2023年 将与UEFI、LinuxBoot擦出火花。在驱 动、环境和SBI接口的基础上,提供快速 实现具体引导流程的解决方案。 目录 组件化驱动 第 01 部分 什么是组件化驱动? 运 用 生 命 周 期 、可 变 性 等 最 新 的 编 程 语 言 理 论 成 果 ,构 造 适 应 开 发 需 求 的 驱 动 程 序 。可 结 合 过 程 宏 等 工0 码力 | 21 页 | 3.12 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . 88 5. 使用结构体组织相关联的数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.1. 结构体的定义和实例化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2. 结构体示例程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.2. match 控制流结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 9 天前3Rust OS 开源操作系统训练营的教与学-0615-李明
2 开源训练营的总体规划和教学实践 教什么?怎么学? 在读本科生 在读研究生 已工作 52% 18% 30% Rust 语言编程 RISC-V 体系结构 rCore/uCore 大实验 ArceOS 组件化OS Rust for Linux Hypervisor 虚拟化 面向高校和企业 工程师开放报名 (2周) 四个阶段的培训课程 逐级培养选拔 (12周) 训练营的四阶段培养目标和要求 Rust 语言编程 RISC-V体系结构 一阶段 完成94道Rustlings编程题 (2周) OS 大实验 rCore/uCore 内核 二阶段 完成5个OS编程大实验 (2周) ArceOS 组件化 操作系统 三阶段 Hypervisor 虚拟化技术 四阶段 完成1个OS组件或驱动 (4周) 完成1个硬件虚拟化适配 (4周) 台阶式向上迈进 训练营的学习情况统计 是否学习过OS课程? 是否学习过Rust编程? 90%以上是初学Rust 75%以上是初学OS 训练营培养 Rust OS 人才的三个方向 Rust for Linux 驱动开发 组件化OS 内核开发 多核异构处理器 虚拟化开发 Rust OS 产学研用生态建设 用 研 学 产 智能网联汽车操作系统,工业安全操作系统, 机器人操作系统,物联网AIoT等 鹏城实0 码力 | 26 页 | 2.62 MB | 1 年前3Rust 程序设计语言简体中文版
............................... 91 5. 使用结构体组织相关联的数据 ............................................................................................ 101 5.1. 结构体的定义和实例化 ................................. ................................................................ 102 5.2. 结构体示例程序 ............................................................................................................ 109 5.3. 方法语法 ................................................................................ 123 6.2. match 控制流结构 ..................................................................................................0 码力 | 600 页 | 12.99 MB | 1 年前3Comprehensive Rust(简体中文) 202412
Comprehensive Rust Martin Geisler 目录 欢迎来到 Comprehensive Rust 10 1 授课 12 1.1 课程结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2 键盘快捷键 . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 10 用户定义的类型 48 10.1 结构体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 10.2 元组结构体 . . . . . . . . . . . . . . . . . . . . . . . . . . 23 结构体生命周期 128 23.1 生命周期注解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 23.2 函数调用中的生命周期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 23.3 数据结构中的生命周期0 码力 | 359 页 | 1.33 MB | 10 月前3Rust在Substrate 开发框架中的使用
Substrate 开发框架 中的使用 内容 ● Rust 简介 ● Rust 特性 ● Why blockchain ● 什么是Substrate ● Substrate Runtime 组件 ● Substrate 应用开发 Bugs from Chrome Rust 简介 Performance Safety C, C++ Java JS, Python Rust 简介 ● DHT ● 自驱动 ● 数据存储、索引 Chain-less Vs blockchain 协议: ● Bitcoin ● Ethereum ● Polkadot 特点: ● 区块结构,链式存储 ● 激励机制 ● 数据交易 特点: ● Gas 费用 ● 沙盒环境 ● 链上存储租赁 ● 状态回滚 Smart contract smart contract 特点: app chain特点: ● Runtime 安全有开发者完全负责 ● 获取链上所有状态 ● 高度定制化,包括共识,通证,交易 方式 一个开源、模块化、可扩展的区块链开 发框架,涵盖了区块链的核心组件: ● Database layer ● P2P ● PoS ● Transaction pool ● Full / light client ● Runtime modules Substrate简介0 码力 | 37 页 | 967.22 KB | 1 年前3KCL: Rust 在编译器领域的实践与探索
LSP 极大的提升了用户体验 端到端响应时间: 6s -> 100 ms 04 更多的探索 CompilerBase: 通用编译器组件 IDE 友好的编译器架构 RustCodeBook: Rust源码解读 Compiler Base: 更通用的编译器组件 KCL Source Code AST LLVM IR Native/WASM Smart Contract Source 错误恢复: 不完整代码的编译 • 代码补全 • 错误代码的语义分析 2. 增量编译 • 大规模场景下的编译优化和 IDE 性能提升 • 编译粒度: 项目 -> 文件 -> 函数/定义 3. 结构化语义模型(Structured Semantic Model) • Using the tree as a store for semantic info is convenient in traditional0 码力 | 25 页 | 3.50 MB | 1 年前3简谈 Rust 与国密 TLS - 王江桐
算法具有相同的密钥长度和分组长度,均为 128 位。对长消息进行加解密 时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。 • 加密算法与密钥扩展算法都采用 32 轮非线性迭代结构,解密算法与加密算法的结构相同,只 是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。 SM7 Introduction of SM7 Rust China Conf 2022 – 2023, Shanghai Shangmi Protocols Rust China Conf 2022 – 2023, Shanghai, China • 提供通用 / 国密 / 混合 TLS 实现; • TLS 配置结构图,从 SetCipher 开始,增 加国密/通用/混合设置接口,并校验已有配 置,预先告警,避免错误。 使用 Rust 实现国密 TLS Use Rust to Implement Shangmi Shangmi Protocols Rust China Conf 2022 – 2023, Shanghai, China • 接口与 OpenSSL 对比:兼容 OpenSSL,便与 C 与其他语言组件切 换迁移使用 Ylong Rust 国密算法性能对比 Performance Comparison of Ylong Rust Shangmi Cryptography Framework Rust0 码力 | 44 页 | 3.70 MB | 1 年前3Rust 语言学习笔记
38 3.4.2 涉及到函数和结构体的借用检查器 ........................................... 39 第四章 面向对象编程 ............................................................................... 43 4.1 面向对象数据结构 ................ 4.1.2 结构体 .............................................................................. 43 4.1.3 结构体的方法...................................................................... 44 4.1.4 再说结构体中引用的生命周期 语言的读者。在学习过程中我对二份开源书籍进行了适 合的整理,又加入了一些自己学习过程中新添加的内容,于是就有了这份学习 笔记。这份学习笔记的主要贡献在于涵盖了所有工程上基于 Rust 进行开发需要 掌握的基础知识,并且重新调整了目录结构。 我个人对 Rust 语言设计的看法主要是:重大创新,却又博采众长。 Rust 为了解决内存安全问题重新设计了类型系统,提出了所有权的概念,同时 为了能够解决当前大多数语言无法检测到的运行时错误,rust0 码力 | 117 页 | 2.24 MB | 1 年前3使用Rust与ClickHouse构建高效可靠的日志系统
属于腾讯专有云PaaS平台(TCS) • 承接TCS底座日志 • 从Loki=>Menicus • 提供日志的搜索/报警/处理等功能 系统介绍 • 为什么放弃 Loki • 资源占用过大 • 统计/计算能力比较弱 • 组件过多,排查问题比较困难 • 商业使用不友好的开源协议 • 为什么选择Mencius+ClickHouse • 存储计算与业务分离 • 计算/统计能力更强 • 资源占用更小,性能更好 • 更友好的开源协议 为什么? • LogQL=>Token=>AST=>SQL • 测试 • Fuzz testing 处理层 • Processor • 初始化 • 静态/动态 • 执行 • 读/写 • 结构 • prediccate • process(&self, streams: Streams) -> Streams • 类型 • 修改原始数据 • 抽取原始数据字段 • Json/LogFmt0 码力 | 19 页 | 2.66 MB | 1 年前3
共 28 条
- 1
- 2
- 3