本月 Rust OSDev(2021 年 8 月)
项目更新
- acpi - 包含用于解析 ACPI 表的 crate - 现代计算机的固件用于将有关硬件的信息传递给操作系统的数据结构。
已将处理器 UID 和本地 APIC ID 的表示更改acpi::platform::Processor为u32,以支持 X2APIC 用于支持更多处理器的更广泛的 ID。 - uefi-rs - 该uefi箱提供了安全,高性能包装UEFI。
- x86_64 - 提供了用于各种抽象x86_64系统,包括包装为CPU指令,访问处理器的专用寄存器,和抽象类型体系结构的特定结构,如页表和描述符表。
- bootloader - 实现了64位ELF可执行文件便于装载基于rust定制引导程序。
- multboot2 - 提供一个抽象类型multiboot2引导程序的引导信息。
- pic_8259 - 提供了用于8259个8259A可编程中断控制器(PICS)的抽象。
ReadMore:https://rust-osdev.com/this-month/2021-08/
为什么 Rust 需要 Pin 和 unpin
- 什么是Futures
- 什么是自引用类型
- 为什么他们不安全
- Pin/Unpin 如何使它们安全
- 使用 Pin/Unpin 编写复杂的futures
ReadMore:https://blog.cloudflare.com/pin-and-unpin-in-rust/
htmlq
像 jq,但用于 HTML。使用 CSS 选择器从 HTML 文件中提取部分内容。
例子:
$ curl --silent https://www.rust-lang.org/ | htmlq '#get-help'
<div class="four columns mt3 mt0-l" id="get-help">
<h4>Get help!</h4>
<ul>
<li><a href="https://doc.rust-lang.org">Documentation</a></li>
<li><a href="https://users.rust-lang.org">Ask a Question on the Users Forum</a></li>
<li><a href="http://ping.rust-lang.org">Check Website Status</a></li>
</ul>
<div class="languages">
<label class="hidden" for="language-footer">Language</label>
<select id="language-footer">
<option title="English (US)" value="en-US">English (en-US)</option>
<option title="French" value="fr">Français (fr)</option>
<option title="German" value="de">Deutsch (de)</option>
</select>
</div>
</div>
ReadMore:https://github.com/mgdm/htmlq
社区学习交流平台订阅:
- Rustcc论坛: 支持rss
- 微信公众号:Rust语言中文社区