尝试用RUST写教学操作系统尝试用RUST写教学操作系统 向勇、陈渝 清华大学计算机系 20181123 1 背景 • 用什么语言写操作系统? – 汇编 – C – C++ – GO – RUST – … 2 3 各位老师所教的课程信息统计 计算机组成原理 编译原理 操作系统 其他 A B C D 提交 多选题 1分 此题未设答案 我们的尝试-教学操作系统ucore 7 我们的尝试-系统类课程的协调 8 用RUST写操作系统: 2018年春季操作系统课 http://os.cs.tsinghua.edu.cn/oscourse/OS2018spring/projects#A.2Bi.2F56C4u.2Bi6FbnpqMkAli6Q- 9 用RUST写操作系统: 2018年秋季操作系统专题训练课 18 RUST对Linux安全漏洞的安全性增强(2) 19 正在进行的工作 • 形成一组基于RustOS的操作系统课实验 https://rucore.gitbook.io/rust-os-docs/bootloader 20 后续工作 • 适合操作系统开发的语言剪裁 – 汇编 – C – Rust – … – 什么是适合内核开发的语言特征? 21 220 码力 | 23 页 | 1.53 MB | 1 年前3
Rust原子操作高性能实践 Rust Atomic Deep Dive - 王璞第三届中国Rust开发者大会 Rust Atomic Deep Dive Pu Wang @ DatenLord 2023/06/17 Rust原子操作高性能实践 What are atomic operations in Rust? What Why need atomic operations? Why How 01 02 03 Memory order in atomic operations0 码力 | 19 页 | 1.88 MB | 1 年前3
Rust OS 开源操作系统训练营的教与学-0615-李明第三届中国Rust开发者大会 Rust OS 开源操作系统训练营的教与学 李明 清华大学 2023-6-17 Rust China Conf 2023 Rust OS 开源操作系统训练营的教与学 1 Rust OS 开源训练营的起因和发展 Title Title Title 开源操作系统训练营的起源(2020年) 陈渝老师 向勇老师 OS Tutorial Summer 训练营的愿景和目标 目标 愿景 核心产出 探索新一代安全高性能操作系统的设计与构建 影响并培养更多的人学会写操作系统 每年为高校和企业培养1000名操作系统开发人才 参加训练营要回答的三个问题 你为什么要来参加这个活动? 为什么要以开源 的方式来参与? 我们如何能把这些 知识技能学到? Rust OS 开源操作系统训练营的教与学 2 开源训练营的总体规划和教学实践 教什么?怎么学? RISC-V体系结构 一阶段 完成94道Rustlings编程题 (2周) OS 大实验 rCore/uCore 内核 二阶段 完成5个OS编程大实验 (2周) ArceOS 组件化 操作系统 三阶段 Hypervisor 虚拟化技术 四阶段 完成1个OS组件或驱动 (4周) 完成1个硬件虚拟化适配 (4周) 台阶式向上迈进 训练营的教学/实习安排 • 春夏季训练营0 码力 | 26 页 | 2.62 MB | 1 年前3
在Solana合约链实现IBC协议跨链互操作 - 苏胤榕第三届中国Rust开发者大会 @DaviRain 在Solana合约链 实现IBC协议跨链互操作 简单介绍下IBC协议是什么,及其生态 简介 > 介绍IBC协议和其在跨链互操作中的作用 IBC协议中的角色和参与者 1. 客户端 2. 连接 3. 通道 4. 包 4. 中继器 解释为什么选择在Rust合约链中实现IBC协议 - I Hermes的开发实现: https://github.com/DaviRain-Su/hermes 展望IBC协议在跨链互操作中的未来发展 1. 基于IBC协议的全链去中心化交易所(已经有了), 衍生资产市场等。 2. 基于IBC协议的全链应用(类似WeChat 或许会出 现) 3. 更加高效的支持跨链互操作,随着协议的不断发展 与进化。 4. 更多的区块链平台的支持。(例如这里的这套方案, 可以将任何链的共识看作0 码力 | 29 页 | 3.05 MB | 1 年前3
Rust 语言学习笔记感谢 RustPrimer 和 Rust 程序设计语言简体中文版 bradyjoestar@gmail.com 目录 序............................................................................................... 语言的读者。在学习过程中我对二份开源书籍进行了适 合的整理,又加入了一些自己学习过程中新添加的内容,于是就有了这份学习 笔记。这份学习笔记的主要贡献在于涵盖了所有工程上基于 Rust 进行开发需要 掌握的基础知识,并且重新调整了目录结构。 我个人对 Rust 语言设计的看法主要是:重大创新,却又博采众长。 Rust 为了解决内存安全问题重新设计了类型系统,提出了所有权的概念,同时 为了能够解决当前大多数语言无法检测到的运行时错误,rust 的包管理系统和 go 的包管理系统以及 java 的包管理系统大大不同,很容 易给人造成困惑。 最主要原因是: 1.Rust 的模块支持层级结构,但这种层级结构本身与文件系统目录的层级结构 是解耦的。 因为 Rust 本身可用于操作系统的开发。 开发者需要自己去定义路径,定义 mod 的层级关系,配合 rust 的默认约定。这 点和 java,go 开发完全不同,在面向 vm 的语言中这些都不需要考虑。0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0Rust 程序设计语言 简体中文版Rust 程序设计语言 简体中文版 目录 Rust 程序设计语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 语言设计本身会自然而然地引导你编写出 可靠的代码,并且运行速度和内存使用上都十分高效。 已经在从事编写底层代码的程序员可以使用 Rust 来提升信心。例如,在 Rust 中引入并行是相 对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 应用、 和内联错误信息功能。 通过使用 Rust 生态系统中丰富的工具,开发者在编写系统级代码时可以更加高效。 学生 Rust 适合学生群体,也适合有兴趣学习系统概念的人。许多人通过 Rust 学习了操作系统开发 等主题。社区对学生问题非常欢迎并乐于回答。通过类似这本书以及其他内容的努力,Rust 团队希望使系统概念能为更多人所易于理解,特别是编程新手。 公司 数百家大小规模的公司在生产环境中使用0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版Rust 程序设计语言 简体中文版 Rust 程序设计语言 简体中文版 目录 Rust 程序设计语言 ...................................................................................................................... 5 前言 ....................... 语言设计本身会自然而然地引导你编写出 可靠的代码,并且运行速度和内存使用上都十分高效。 已经在从事编写底层代码的程序员可以使用 Rust 来提升信心。例如,在 Rust 中引入并行是相 对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 应用、 内联错误信息功 能。 通过使用 Rust 生态系统中丰富的工具,开发者在编写系统级代码时可以更加高效。 学生 Rust 适合学生群体,也适合有兴趣学习系统概念的人。许多人通过 Rust 学习了操作系统开发 等主题。社区对学生问题非常欢迎并乐于回答。通过类似这本书以及其他内容的努力,Rust 团队希望使系统概念能为更多人所易于理解,特别是编程新手。 公司 数百家大小规模的公司在生产环境中使用0 码力 | 600 页 | 12.99 MB | 1 年前3
Comprehensive Rust(简体中文) 202412Comprehensive Rust Martin Geisler 目录 欢迎来到 Comprehensive Rust 10 1 授课 12 1.1 课程结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2 键盘快捷键 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 36 日志记录 205 37 互操作性 207 37.1 与 C 的互操作性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 37.1.1 使用 Bindgen 2.12Building in Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 37.3 与 Java 的互操作性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 38 习题 219 X Chromium 2200 码力 | 359 页 | 1.33 MB | 10 月前3
秘猿先锋-文愿-Axon 应用链框架的 Rust 开发实践I ? 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 1. 应用链框架 2. 高性能 3. 互操作(Interoperability) 互操作(Interoperability) 4. EVM 兼容 5. Rust What is Axon What is Axon 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 1. Mempool(交易池) 2. Consensus (Overlord) 3. P2P (Tentacle) 大型项目的开发难点 ■ 抽象 ■ 便于协作开发 ■ 易于测试 优点 Mempool Traits 实现 实现 测试代码 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 • 直接调用 Prometheus API • AOP(面向切片) • LLVM IR • … 如何优雅地在代码中加入埋点0 码力 | 32 页 | 3.63 MB | 1 年前3
Rust HTTP 协议栈在终端通信场景的实践 - 胡凯第三届中国Rust开发者大会 Rust HTTP 协议栈在终端通信场景的实践 胡凯 hukai45@huawei.com 华为 公共开发部 嵌入式软件能力中心 什么是 HTTP 协议? ⚫ HTTP 协议介绍 目录 终端场景下 HTTP 协议的主要使用场景,以及需要思考的问题。 ⚫ 终端 HTTP 通信场景浅析 我们当前结合 Rust 和终端通信场景的实践的简单介绍。 ⚫ Rust 与终端 HTTP 通信场景结合 Shanghai, China Rust 与 HTTP 协议 Rust 对于 HTTP 协议有良好支持: HTTP 协议是以 TCP\TLS\UDP 等各种连接为基础的,非常依赖于高性能的 IO 操作。 利用 Rust 异步实现 HTTP 协议和各种应用程序能得到十分可观的性能提升,并且能降低用户编码的难度。 Rust China Conf 2022 – 2023, Shanghai, China HTTP 通信场景结合 针对弱网环境的处理举例: ➢ 支持上层自定义 DNS 解析逻辑:利用 Rust 的 trait 实现继承关系,方便用户根据自身需求自定义 DNS 解析器。DNS 操作也是 IO 操作,可以使用 Rust 异步 IO 逻辑来提升性能。 ➢ 支持高版本的 HTTP 协议,如 HTTP/2、 HTTP/3。利用 IO 复用机制或 UDP 连接可以提高弱网环境下的 传输性能。0 码力 | 26 页 | 1.25 MB | 1 年前3
共 33 条
- 1
- 2
- 3
- 4













