#units #byte #no-std #memory #byte-size #pages

no-std os_units

提供用于编写OS的单元类型库

18个不稳定版本 (3个破坏性更新)

0.4.2 2021年6月14日
0.4.0 2021年4月28日
0.3.0 2021年3月20日
0.2.7 2020年12月29日
0.2.5 2020年10月30日

操作系统类别中排名#597

MIT/Apache

22KB
655

os_units

Crates.io docs.rs Rust

此crate提供字节大小的数据结构。使用x86_64 crate,您可以轻松地将物理内存页的大小转换为字节,将字节转换为物理内存页的数量。

示例

use os_units::Bytes;
use x86_64::structures::paging::{PageSize, Size4KiB};

let bytes_of_kernel = Bytes::new(314159);
let pages_of_kernel = bytes_of_kernel.as_num_of_pages::<Size4KiB>();
assert_eq!(pages_of_kernel.as_usize(), 77);

let bytes_of_pages = pages_of_kernel.as_bytes();
assert_eq!(bytes_of_pages.as_usize(), 315392);

许可证:MIT OR Apache-2.0


lib.rs:

此crate提供字节大小的数据结构。使用x86_64 crate,您可以轻松地将物理内存页的大小转换为字节,将字节转换为物理内存页的数量。

示例

use os_units::Bytes;
use x86_64::structures::paging::{PageSize, Size4KiB};

let bytes_of_kernel = Bytes::new(314159);
let pages_of_kernel = bytes_of_kernel.as_num_of_pages::<Size4KiB>();
assert_eq!(pages_of_kernel.as_usize(), 77);

let bytes_of_pages = pages_of_kernel.as_bytes();
assert_eq!(bytes_of_pages.as_usize(), 315392);

依赖项

~560KB
~11K SLoC