尝试用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
.NET玩转音视频操作 FFmpeg.NET Conf China 2022 .NET玩转音视频操作 FFmpeg 周杰 (来自长沙) Handshakes by DC Frontiers https://github.com/sdcb/Sdcb.FFmpeg 扫码下载代码示例和PPT 命令行 优点:容易学习、入门方便、不与GPL开源协议冲突 基于进程互操作,依赖于标准流重定向管理状态 输入和输出依赖于文件,很难精细控制0 码力 | 14 页 | 1.43 MB | 1 年前3
2.3 用golang写一个操作系统系 统 复睿:李四保 ⽤用Golang ⾃自我介绍 l 开发过银⾏行设备 l 同花顺移动证券 l 前后参与创⽴立过多家公司 l ⽤用Golang写了⼀一个云操作系统 电⼒力、⽯石化、银⾏行、证券、⼲⼴广电、电商 研发、产品、运营、公司运营 l 多种职业 l 喜欢各种宗教 l 喜欢在虚⽆无中创造⼀一个世界 l 多个⾏行业 ⾃自我介绍 说⼀一万句,不如做⼀一件事:⽤用Golang写⼀一个操作系统 来份硬菜:⽤用Golang写⼀一个操作系统 l 操作系统 相对完整的控制系统资源,有应⽤用体系 Unix,CP/M,dos、windows, l ⽣生态操作系统 在原有操作系统内核基础上,构建新的应⽤用体系及应⽤用⽣生态 ios、android l 云操作系统 chrome chrome os和阿⾥里云os。在上⼀一层操作系统基础之上和⾃自家的云系统进⾏行整合 l 去中⼼心化的云操作系统 Leither 架构基本和chrome os类似,只是将后端的云系统去中⼼心化,使之脱离巨头的控制 操作系统历史 l 互联⺴⽹网正在整合各个⾏行业,对各个传统⾏行业进⾏行重构 l 互联⺴⽹网的格局正在固化 ⾏行业巨头垄断互联⺴⽹网资源,全⾯面压制创新空间0 码力 | 33 页 | 1014.12 KB | 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
ThinkJS 2.2 中文文档} } 上面的代码我们使用了 ES6 里的 class , export , let 以及 ES7 里的 async/await 等特性,虽然 查询数据库和写入 Session 都是异步操作,但借助 async/await ,代码都是同步书写的。最后 使用 Babel 进行编译,就可以稳定运行在 Node.js 的环境中了。 支持 TypeScript TypeScript 是 的一个超集,向这个语言 添加了可选的静态类型,在大型项目里非常有用。 ThinkJS 2.1 开始支持了创建 TypeScript 类型的项目,并且开发时会自动编译、自动更新,无需手 工编译等复杂的操作。具体请见这里。 断点调试 从 ThinkJS 2.2.0 版本开始,支持对 ES2015+ 和 TypeScript 项目的断点调试,并且报错信息也会定 位到源代码下,这样可以给开发和调试带来巨大的便利,具体请见断点调试。 不同的配置,满足在不同环境下的配置需求,同时还可以基于项目需要进行扩展。 支持丰富的数据库 ThinkJS 支持 mysql , mongodb , sqlite 等常见的数据库,并且封装了很多操作数据库的接口, 无需手动拼接 SQL 语句,还可以自动防止 SQL 注入等安全漏洞。同时支持事务、关联模型等高级 功能。 代码自动更新 ThinkJS 内置了一套代码自动更新的机制,文件修改后立即生效,不用重启0 码力 | 277 页 | 3.61 MB | 1 年前3
Go Web编程md 11.3.md。 代码文件 代码文件 代码文件置于src目录之下。每小节代码按目录存放。如第11章的第3节的代码保存于src/11.3/ src/11.3/目录下。在正文中按 需要添加代码。 格式规范 格式规范 正文 正文 请参看已有章节的规范,要注意的是,每个章节在底部都需要有一个links节,包含“目录”,“上一节”和“下一 节”的链接。 代码 代码 代码要go 使用beedb库进行ORM开发 5.6 NOSQL数据库操作 5.7 小结 6.session和数据存储 6.1 session和cookie 6.2 Go如何使用session 6.3 session存储 6.4 预防session劫持 6.5 小结 7.文本文件处理 7.1 XML处理 7.2 JSON处理 7.3 正则处理 7.4 模板处理 7.5 文件操作 7.6 字符串处理 7.7 小结 8 量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生 了。 在本章中,我们将讲述Go的安装方法,以及如何配置项目信息。 目录 目录 links links 目录 下一节: Go安装 6 1.1 Go 安装 1.1 Go 安装 Go的三种安装方式 Go的三种安装方式 Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:0 码力 | 295 页 | 5.91 MB | 1 年前3
CmlPHP v2.x 开发手册
5 1.6.1.6 1.6.1.7 1.6.2 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.5.1 1.6.5.2 目录 Introduction CmlPHP简介 初始化一个项目 入口文件 项目目录说明 开发指引 配置 normal.php common.php plugin.php route.php 其它配置项 配置的获取 动态修改配置 分页查询 数据添加 获取上一次插入的id 数据更新 获取上一次更新影响的行数 数据删除 简单的单字段自增(多字段参考update) 简单的单字段自减(多字段参考update) 聚合操作 事务 调用存储过程 原生/子查询/union 快捷方法 通过某字段值获取数据 添加数据 通过某字段值更新数据 通过字段值删除数据 获取总数 获取列表 1.6.6.15.7 1 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务 器、虚拟主机、VPS等多种环境,绝大部分开发环境可直接运行,无 需配置伪静态规则(部分低版本server只要修改框架URL配置即可,框 架会自动处理),快速上手开发。线上环境对SEO有要求时再配置伪静 态即可。 初始化一个项目 为了方便开发人员初始化框架所需的目录结构及文件,cmlphp提供了 项目推荐目录骨架(demo项目)。按照readme下载即可。0 码力 | 245 页 | 720.67 KB | 1 年前3
FISCO BCOS 1.3 中文文档CPU 1.5GHz 2.4GHz 内存 2GB 4GB 核心 2核 4核 带宽 1Mb 5Mb 操作系统 CentOS (7.2 64位)或Ubuntu(16.04 64位) JAVA Java(TM) 1.8 && JDK 1.8 程序部署 获取代码 新建一个目录,例如/mydata sudo mkdir -p /mydata sudo chmod 777 /mydata /mydata clone 源码 git clone https://github.com/FISCO-BCOS/FISCO-BCOS.git 安装FISCO-BCOS 切换到FISCO-BCOS目录下,执行FISCO-BCOS安装脚本。脚本自动下载并安 装程序。 cd FISCO-BCOS && git checkout master-1.3 bash build.sh #若需要源码编译安装 -o 根证书生成的目录 bash generate_chain_cert.sh -o /mydata 配置机构证书 生成机构(agency)证书,假设生成机构test_agency cd /mydata/FISCO-BCOS/tools/scripts/ #bash generate_agency_cert.sh -c 生成机构证书所需的根证书所在目录 -o 机构证书 生成目录 -n 机构名 bash0 码力 | 491 页 | 5.72 MB | 1 年前3
共 541 条
- 1
- 2
- 3
- 4
- 5
- 6
- 55













