Microsoft 宣布新的开源项目 eBPF for Windows
Microsoft 发布了新的开源项目 eBPF for Windows,以使 eBPF 在 Windows 10 和 Windows Server 2016 及更高版本上工作。
eBPF 是 kernel 3.15 中引入的新设计,将原先的 BPF 发展成一个指令集更复杂、应用范围更广的“内核虚拟机”,支持在用户态将 C 语言编写的一小段“内核代码”注入到内核中运行,以提供更多的可编程性、可扩展性和敏捷性。为了防止注入的代码导致内核崩溃,eBPF 会对注入的代码进行严格检查,拒绝不合格的代码的注入。
Microsoft 表示,ebpf for windows 采用了几个现有的 eBPF 开源项目,包括 IOVisor uBPF 和 PREVAIL 验证器,但并不是 eBPF 的分支。该项目旨在让开发者在现有版本的 Windows 之上使用熟悉的 eBPF 工具链和应用编程接口(API)开发 eBPF 程序,并允许 eBPF 程序在内核模式下执行或作为一个用户模式保护的服务运行。目前,该项目托管于 GItHub 仓库中。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Rust 2021 版本计划发布
Rust 开发团队宣布 Rust 语言的第三个版本 Rust 2021 计划于今年 10 月发布。 Rust 1.0 的发布确立了 "稳定前进(stability without stagnation)"作为 Rust 的更新原则。自 1.0 版本以来,一旦一个功能在稳定版上发布,Rust 就会承诺在未来的所有版本中支持该功能。然而,有些时候,必须对语言做一些不向后兼容的改动,比如引入一个新的关键字,这将使同名的变量无效。此时 Rust 将通过更新版本来解决这个问题。 文中列出了 Rust 2021 的主要改动,包括新的标准库内容、默认使用 Gargo 功能解析器、数组的 IntoIterator 实现、闭包捕获修改、panic 宏一致性修改、保留的语法、新的硬件警告、macro_rules 中的模式等内容。 此外,文中表示,版本升级不会分裂 Rust 生态系统,所有的 Rust 代码,无论哪个版本,最终都会被编译成编译器中相同的内部表示。并且,Rust 会提供自动迁移工具和版本迁移指南来为用户进行版本迁移。需要注意的是,自动迁移工具并不完美,有些细节仍需要用户手动解决。
- 下一篇
每日一博 | 分页机制是如何建立起来的,地址如何转换?
1、逻辑地址,线性地址,虚拟地址,物理地址傻傻分不清? (1)逻辑地址 在IA-32架构下,分段是必须的,而分页并不是必须的。不论分页与否,访问内存都必须采用“段基址:段内偏移地址”的策略。 因此访问内存需要16&32共48位的地址信息,这便是逻辑地址,高12位为段选择子,后面32位为段内偏移地址。 (2)线性地址 使用选择子索引到段描述符取得32位的段基址后与逻辑地址内的32位段内偏移地址相加后得到一个32位的地址信息,这便是线性地址。 (3)虚拟地址 如果不启用分页机制,线性地址就是物理地址,而如果启用分页机制的话,线性地址又叫做虚拟地址。 (4)物理地址 物理地址,不用多说,内存单元的真正地址 2、什么是分页? 分页本质上是将各种大小不同的内存段拆分成大小相同的内存块(通常4KB),以便进行内存管理的一种机制。 3、为什么要分页? 主要是便于内存管理,解决纯分段情况下应用程序过多,或者内存碎片过多而无法容纳新进程。又或者重新加载某内存段(之前交换出去的)时找不到合适的内存区域的问题。 造成这情况的原因:只分段的情况下,线性地址就是物理地址,两者都是连续的,不够灵活,不可能...
相关文章
文章评论
共有0条评论来说两句吧...