用.NET X64 Native AOT编写的操作系统
https://blog.csdn.net/sd7o95o/article/details/133191160
1.前言
很多人想学习下.Net前沿技术和核心技术,这里推荐一个适合大家学习的案例,用.NET X64 Native AOT编写一个操作系统。
2.概述
MOOS(To Make My Own Operating System Project)是一个采用
.NET x64 Native AOT技术编写的一个操作系统。
系统界面:
3.特性(实现的功能)
Applications .mue.系统的可执行文件
Error Throwing/Catching异常处理
GC垃圾回收
USB键盘
USB鼠标
IPV4
IPV6
DHCP
TCP
IDE编译器
DNS等等
4.编译要求
一:VMware Workstation Player
https://www.vmware.com/products/workstation-player.html
二:Visual Studio 2022
https://visualstudio.microsoft.com/
三:QEMU - https://www.qemu.org/download 或 VMWare(注意-USB不适用于VMWare,如果要运行VMware,则需要x64,不支持32位)
windows 10-11 x64 或 x86
四:至少 2012 年或更高版本的 CPU,或者基本意义上的Ivy Bridge CPU或更高版本
五:4GB 内存,但建议使用 8GB 内存
5.构建和编译MOOS
步骤 1

为了编译MOOS,您需要运行Windows 10或更高版本。您还需要Visual Studio,您可以在此处下载:https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false
步骤 2

安装程序安装完成后,您将看到此窗口,您将需要使用C++进行桌面开发,很可能还需要.NET桌面开发,您将需要这些工具,以便我们可以编译MOOS
步骤 3
单击安装,完成后它将开始安装重新启动您的PC
步骤 4

启动VS 2022并打开.sln文件,然后在加载所有内容后单击“构建>构建解决方案”选项
步骤

在构建下拉菜单中选择 MOOS,然后单击 QEMU 或 VMware,完成后,您可以更改代码并继续构建 MOOS,享受!
6.项目地址:
https://github.com/nifanfa/MOOS
用.NET X64 Native AOT编写的操作系统的更多相关文章
- Mixing x86 with x64 code (混合编写x86和x64代码)
几个月前我小小的研究了在WOW64下的32位进程中运行native x64代码. 第二个设想是在64位进程下运行x86代码.它们都是可以的,如我google的一样, 已经有人在使用这两种方法了: ht ...
- CPF 使用C#的Native AOT 发布程序
微软已经将AOT的包移到Nuget了,之前是在实验测试服务器上的.并且由之前的alpha版本改成了preview版本. C#的开发效率,接近C++的运行效率,而且可以防止反编译,可以支持大部分反射功能 ...
- UDP代码编写、操作系统发展史、多道技术、进程理论与代码层面创建、进程join方法与进程对象方法
昨日内容回顾 socket基本使用 # 内置的模块 import socket s = socket.socket() # 默认是TCP协议 也可以切换为UDP协议 s.bind((ip,port)) ...
- Win7 VS2015 x64 MASM汇编语言编写DLL文件
有点坑记录一下. 首先创建工程时选控制台类型工程,Win32估计就应该选Win32的,反正我测试用的控制台. 然后选DLL类型,除了Empty其他全都去掉. 工程属性,masm勾上. Linker & ...
- 用React Native编写跨平台APP
用React Native编写跨平台APP React Native 是一个编写iOS与Android平台实时.原生组件渲染的应用程序的框架.它基于React,Facebook的JavaScript的 ...
- 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的
译者注:这是Michal Strehovský大佬的一篇文章,他目前在微软.NET Runtime团队工作,主要是负责.NET NativeAOT功能的开发.我在前几天看到这篇文章,非常喜欢,虽然它的 ...
- SpringBoot3.x原生镜像-Native Image尝鲜
前提 Spring团队致力于为Spring应用程序提供原生映像支持已经有一段时间了.在SpringBoo2.x的Spring Native实验项目中酝酿了3年多之后,随着Spring Framewor ...
- SharePoint 2010在win7 x64 安装
转:http://kaneboy.blog.51cto.com/1308893/328000 关于<SharePoint 2010应用程序开发指南>,我和杜伟同学正在撰写中,希望下半年早点 ...
- .NET Core单文件发布静态编译AOT CoreRT
.NET Core单文件发布静态编译AOT CoreRT,将.NET Core应用打包成一个可执行文件并包含运行时. 支持Windows, MacOS and Linux x64 w/ RyuJIT ...
- Native开发与JNI机制详解
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 文/李森 博主导读:博主不是代码大师,研究什么都很深,Java除外,所以无论什么问题,方案可以提供, ...
随机推荐
- windows系统应急
Windows系统的应急响应主要关注在发生安全事件或攻击后,如何迅速采取措施恢复系统的正常运行并确保数据的安全性.应急响应的目标是减少系统受到攻击的损害.恢复操作以及防止类似事件的再次发生. 应急响应 ...
- 使用Logback实现不同微服务输出各自的日志文件
找到logback-spring.xml配置文件,在里面使用如下配置 <!--定义策略日志文件的存储地址--><property name="logStrategy.pat ...
- kubernetes之RBAC介绍
一.RBAC简单说明 在kubernetes中,授权有6种模式: ABAC(基于属性的访问控制) RBAC(基于角色的访问控制) Webhook Node AlwaysDeny(一直拒绝) Alway ...
- 记录.Net 8 发布增加 PublishTrimmed 裁剪选项,调用WMI 的ManagementObject 异常
最近在做OTA的功能,需要获取到sn做一些业务的逻辑.我们自己实现的库里边的,大部分都是调用 System.Management 的 ManagementObjectSearcher 获取 Bios ...
- HyperWorks使用六面体和三棱柱单元进行实体网格剖分
本节将演示如何使用 solid map 功能对一个复杂的几何实体进行网格剖分.剖分的思路是:首先对该实体进行适当的切割,以使其各个部分均处于 mappable 的状态:然后分别对各个子块进行 soli ...
- [abc313 h/ex] Group Photo
Ex - Group Photo 很牛的题 设\(A_0=A_{n+1}=INF\),那么对于每个\(B_i\)有\(B_i>\min(A_{i-1},A_i)\),所以考虑设\(C_i\)表示 ...
- Blazor学习之旅(5)数据绑定
大家好,我是Edison. 本篇,我们来了解下在Blazor中数据是如何绑定的. 关于数据绑定 如果希望 HTML 元素显示值,可以编写代码来更改显示内容.如果值发生更改,则需要编写额外的代码以更新显 ...
- vant封装城市/联系人等选择器
封装成组件 <template> <div class="common-ibar"> <van-search class="search&q ...
- Windows Server 2016 - 关闭windows defender后台服务
因为我的服务器的CPU仅仅是一个AMD的速龙3000G,所以计算能力有限.虚拟机的黑群晖和CentOS7还没开的时候,我发现CPU的占用率已经有点起来了,一看windows defender服务占用了 ...
- MapTest java 核心编程
简介 类似c++map code /* * @Author: your name * @Date: 2020-10-27 21:15:06 * @LastEditTime: 2020-10-27 21 ...