洛佳 组件化驱动、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 年前3
新一代分布式高性能图数据库的构建 - 沈游人新一代分布式高性能图数据库的构建 北京海致星图科技有限公司 2023-06-18 沈游人 数据库与大数据专场 海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 专注于数据智能技术赋能中国数字经济发展 海致高性能图计算院士专家工作站 郑纬民 - 海致科技首席科学家 中国工程院院士、清华大学计算机科学与技术系教 授、中国计算机学会前理事长,中国计算机系统结构 的学科带头人,我国高性能计算和存储系统等方面的 泰斗和先行者。 2021 年 3 月 25 日,海致科技与清华大学计算机科学与技术系共同建设高性能图计算院士专家工作站 。 高性能图计算是高性能计算、图计算两项技术融合产生的新的技术方向,满足人们对更大规模、更复 术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 生态体系,保持对全球科技竞争的战略均衡。 海致高性能图计算院士专家工作站 海致获得“ 2021 年 CCF 科学技术奖科技进步卓越奖” CCF 科学技术奖被认为是计算机科学与技术领域最具影响力的专业奖项之一,0 码力 | 38 页 | 24.68 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0在栈上。右侧则是堆 上存放内容的内存部分。 s1 name value ptr len 5 capacity 5 indexvalue 0 h 1 e 2 l 3 l 4 o 图 4-1:将值 "hello" 绑定给 s1 的 String 在内存中的表现形式 长度表示 String 的内容当前使用了多少字节的内存。容量是 String 从分配器总共获取了多少 字节的内存。 ptr len 5 capacity 5 indexvalue 0 h 1 e 2 l 3 l 4 o s2 name value ptr len 5 capacity 5 图 4-2:变量 s2 的内存表现,它有一份 s1 指针、长度和容量的拷贝 这个表现形式看起来并不像图 4-3 中的那样,如果 Rust 也拷贝了堆上的数据,那么内存看起 来就是这样的。如果 Rust 5 capacity 5 indexvalue 0 h 1 e 2 l 3 l 4 o 图 4-3:另一个 s2 = s1 时可能的内存表现,如果 Rust 同时也拷贝了堆上的数据的话 之前我们提到过当变量离开作用域后,Rust 自动调用 drop 函数并清理变量的堆内存。不过图 4-2 展示了两个数据指针指向了同一位置。这就有了一个问题:当 s2 和 s1 离开作用域,它们 都会尝试释放相同的内存。这是一个叫做0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版以了解 String 的底层会发生什么。String 由三部分组成,如图左侧所示:一个 指向存放字符串内容内存的指针,一个长度,和一个容量。这一组数据存储在栈上。右侧则是 堆上存放内容的内存部分。 图 4-1:将值 "hello" 绑定给 s1 的 String 在内存中的表现形式 76/600 Rust 程序设计语言 简体中文版 长度表示 String 的内容当前使用了多少字节的内存。容量是 4-2 所 示。 图 4-2:变量 s2 的内存表现,它有一份 s1 指针、长度和容量的拷贝 这个表现形式看起来 并不像 图 4-3 中的那样,如果 Rust 也拷贝了堆上的数据,那么内存看起 来就是这样的。如果 Rust 这么做了,那么操作 s2 = s1 在堆上数据比较大的时候会对运行时 性能造成非常大的影响。 77/600 Rust 程序设计语言 简体中文版 图 4-3:另一个 s2 s2 = s1 时可能的内存表现,如果 Rust 同时也拷贝了堆上的数据的话 之前我们提到过当变量离开作用域后,Rust 自动调用 drop 函数并清理变量的堆内存。不过 图 4-2 展示了两个数据指针指向了同一位置。这就有了一个问题:当 s2 和 s1 离开作用域, 它们都会尝试释放相同的内存。这是一个叫做 二次释放(double free)的错误,也是之前提 到过的内存安全性 bug0 码力 | 600 页 | 12.99 MB | 1 年前3
简谈 Rust 与国密 TLS - 王江桐椭圆曲线可使用更少的运算位数来达成与RSA相等的 安全性 • 椭圆曲线与RSA的安全性都依赖于离散对数问题的复 杂程度 • 离散对数问题:已知数A,B,且A = B^n,求数 n SM2 加解密算法:流程图 Flowchart of SM2 Encrypt and Decrypt Algorithm Rust China Conf 2022 – 2023, Shanghai, China SM3 Introduction 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 年前3
Comprehensive Rust(简体中文) 202412的使用。课程内容 包括在 Chromium 的 gn 编译系统中使用 Rust,引入第三方 crate,以及与 C++ 的互操作性。 您需要能够构建 Chromium。为了提高速度,建议使用调试、组件构建方式,其他构建方式也可以使用。确 保所构建的 Chromium 浏览器可以正常运行。 裸机 Rust 深入探究裸机 Rust 课程为期一天,旨在介绍如何使用 Rust 进行裸机(嵌入式)开发。其中涵盖了微控制 chrome out/Debug/chrome # or on Mac, out/Debug/Chromium.app/Contents/MacOS/Chromium (建议使用调试 build 组件,以缩短迭代时间。这是默认值!) 如果您不具备这点,请参阅如何构建 Chromium。注意:设置 build Chromium 需要花些时间。 此外,我们还建议您安装 Visual Studio 通道的优势在于,我们能够将它们与其他 future 结合起来,从而创建复杂的控制流。 331 第 64 部分 Futures Control Flow 可以将很多 Future 组合在一起生成并发计算流图。我们已经介绍过用作独立线程的任务类型。 • 联接 • 选择 64.1 加入 联接操作会等待一组 Future 全部就绪,然后返回它们的结果集合。这类似于 JavaScript 中的 Promise0 码力 | 359 页 | 1.33 MB | 11 月前3
Rust 语言学习笔记通过其所有权机制,严格控制拥有和借用关系,来保证程序的安全,并且 这种安全是在编译期可计算、可预测的。但是这种严格的控制,有时也会带来 灵活性的丧失,有的场景下甚至还满足不了需求。 因此,Rust 标准库中,设计了这样一个系统的组件:Cell, RefCell,它们弥 补了 Rust 所有权机制在灵活性上和某些场景下的不足。同时,又没有打破 Rust 的核心设计。它们的出现,使得 Rust 革命性的语言理论设计更加完整, 更加实用。 }", error); } }); } 10.1.2 unwrap 与 expect match 能够胜任它的工作,不过它可能有点冗长并且不总是能很好的表明其意 图。Result类型定义了很多辅助方法来处理各种情况。其中之一叫 做 unwrap,如果 Result 值是成员 Ok,unwrap 会返回 Ok 中的值。 如果 Result 是成员 Err,unwrap 0 码力 | 117 页 | 2.24 MB | 1 年前3
Hello 算法 1.1.0 Rust版艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 . . . . . . . . . . . . . . . . . 192 第 9 章 图 194 9.1 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 9.3 图的遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.4 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 . . . . . . . . . . . . . . . . . 192 第 9 章 图 194 9.1 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 9.3 图的遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.4 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版. . . . . . . . . . . . . . . . . 191 第 9 章 图 193 9.1 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 9.3 图的遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.4 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同0 码力 | 383 页 | 17.61 MB | 1 年前3
共 27 条
- 1
- 2
- 3













