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编写的操作系统的更多相关文章

  1. Mixing x86 with x64 code (混合编写x86和x64代码)

    几个月前我小小的研究了在WOW64下的32位进程中运行native x64代码. 第二个设想是在64位进程下运行x86代码.它们都是可以的,如我google的一样, 已经有人在使用这两种方法了: ht ...

  2. CPF 使用C#的Native AOT 发布程序

    微软已经将AOT的包移到Nuget了,之前是在实验测试服务器上的.并且由之前的alpha版本改成了preview版本. C#的开发效率,接近C++的运行效率,而且可以防止反编译,可以支持大部分反射功能 ...

  3. UDP代码编写、操作系统发展史、多道技术、进程理论与代码层面创建、进程join方法与进程对象方法

    昨日内容回顾 socket基本使用 # 内置的模块 import socket s = socket.socket() # 默认是TCP协议 也可以切换为UDP协议 s.bind((ip,port)) ...

  4. Win7 VS2015 x64 MASM汇编语言编写DLL文件

    有点坑记录一下. 首先创建工程时选控制台类型工程,Win32估计就应该选Win32的,反正我测试用的控制台. 然后选DLL类型,除了Empty其他全都去掉. 工程属性,masm勾上. Linker & ...

  5. 用React Native编写跨平台APP

    用React Native编写跨平台APP React Native 是一个编写iOS与Android平台实时.原生组件渲染的应用程序的框架.它基于React,Facebook的JavaScript的 ...

  6. 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的

    译者注:这是Michal Strehovský大佬的一篇文章,他目前在微软.NET Runtime团队工作,主要是负责.NET NativeAOT功能的开发.我在前几天看到这篇文章,非常喜欢,虽然它的 ...

  7. SpringBoot3.x原生镜像-Native Image尝鲜

    前提 Spring团队致力于为Spring应用程序提供原生映像支持已经有一段时间了.在SpringBoo2.x的Spring Native实验项目中酝酿了3年多之后,随着Spring Framewor ...

  8. SharePoint 2010在win7 x64 安装

    转:http://kaneboy.blog.51cto.com/1308893/328000 关于<SharePoint 2010应用程序开发指南>,我和杜伟同学正在撰写中,希望下半年早点 ...

  9. .NET Core单文件发布静态编译AOT CoreRT

    .NET Core单文件发布静态编译AOT CoreRT,将.NET Core应用打包成一个可执行文件并包含运行时. 支持Windows, MacOS and Linux x64 w/ RyuJIT ...

  10. Native开发与JNI机制详解

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 文/李森 博主导读:博主不是代码大师,研究什么都很深,Java除外,所以无论什么问题,方案可以提供, ...

随机推荐

  1. windows系统应急

    Windows系统的应急响应主要关注在发生安全事件或攻击后,如何迅速采取措施恢复系统的正常运行并确保数据的安全性.应急响应的目标是减少系统受到攻击的损害.恢复操作以及防止类似事件的再次发生. 应急响应 ...

  2. 使用Logback实现不同微服务输出各自的日志文件

    找到logback-spring.xml配置文件,在里面使用如下配置 <!--定义策略日志文件的存储地址--><property name="logStrategy.pat ...

  3. kubernetes之RBAC介绍

    一.RBAC简单说明 在kubernetes中,授权有6种模式: ABAC(基于属性的访问控制) RBAC(基于角色的访问控制) Webhook Node AlwaysDeny(一直拒绝) Alway ...

  4. 记录.Net 8 发布增加 PublishTrimmed 裁剪选项,调用WMI 的ManagementObject 异常

    最近在做OTA的功能,需要获取到sn做一些业务的逻辑.我们自己实现的库里边的,大部分都是调用 System.Management 的 ManagementObjectSearcher 获取 Bios ...

  5. HyperWorks使用六面体和三棱柱单元进行实体网格剖分

    本节将演示如何使用 solid map 功能对一个复杂的几何实体进行网格剖分.剖分的思路是:首先对该实体进行适当的切割,以使其各个部分均处于 mappable 的状态:然后分别对各个子块进行 soli ...

  6. [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\)表示 ...

  7. Blazor学习之旅(5)数据绑定

    大家好,我是Edison. 本篇,我们来了解下在Blazor中数据是如何绑定的. 关于数据绑定 如果希望 HTML 元素显示值,可以编写代码来更改显示内容.如果值发生更改,则需要编写额外的代码以更新显 ...

  8. vant封装城市/联系人等选择器

    封装成组件 <template> <div class="common-ibar"> <van-search class="search&q ...

  9. Windows Server 2016 - 关闭windows defender后台服务

    因为我的服务器的CPU仅仅是一个AMD的速龙3000G,所以计算能力有限.虚拟机的黑群晖和CentOS7还没开的时候,我发现CPU的占用率已经有点起来了,一看windows defender服务占用了 ...

  10. MapTest java 核心编程

    简介 类似c++map code /* * @Author: your name * @Date: 2020-10-27 21:15:06 * @LastEditTime: 2020-10-27 21 ...