一个用C#开发的操作系统的开源项目

news2024/11/30 10:38:45

自从C#的AOT编译机制发布以来,有趣的项目越来越多,今天给大家推荐一个开源项目,用C#开发的64位操作系统

文章目录

  • 项目简介
  • 项目源码
  • 开发环境
  • 虚拟机与裸机硬件支持功能列表
  • 完善的编译、安装文档
  • 操作系统界面
  • 项目地址

项目简介

这是一个使用.NET Native AOT技术编译的C# 64位操作系统,系统的基础功能基本都已经支持:网卡、多处理、IP4、IP6、红白机模拟器、鼠标、键盘、应用程序等。

开发操作系统,涉及的技术都比较底层,学习OS这些底层知识,对于我们程序员做开发,还是非常有帮助可以让我们更轻松去理解背后高级的设计、理解系统的性能瓶颈、更多角度思考编程

项目源码

图片

开发环境

以下是该项目开发环境配置要求:

1、VMware Workstation Player

2、Visual studio 2022

3、QEMU 或 VMWare ( 注意,VMware不支持USB键鼠模拟。)

4、Windows 10-11 x64或x86

5、8GB Ram

虚拟机与裸机硬件支持功能列表

以下是项目在虚拟机与运行在硬件,支持的功能列表,不同颜色代表如下:

🟩已支持 🟥未支持 🟨开发中 ⬜未知

图片

图片

完善的编译、安装文档

该项目的文档非常详细,按照文档的指引,就可以把项目玩转起来,项目文档包含:

1、如何创建或编译操作系统

2、如何编辑操作系统文件

3、如何制作操作系统ISO存储在USB或CD

4、操作系统电源管理和休眠

图片

操作系统界面

以下是操作系统运行桌面界面截图:

图片

项目地址

项目地址:

https://github.com/nifanfa/MOOS

文档:

https://github.com/nifanfa/MOOS/wiki

- End -

推荐阅读

  • 一个Windows远程工具,小巧但实用,支持RDP、SSH、SFTP、FTP等多种协议

  • 推荐一个C#全文搜索支持Linq表达式的开源项目

  • 前端性能优化 - 静态资源合并与压缩减少HTTP请求

  • 一个基于EntityFrameworkCore+Lucene实现的全文搜索引擎库

  • 一套.NET Core +WebAPI+Vue前后端分离权限框架

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot SpringBoot 原理篇 2 自定义starter 2.2 IP计数业务功能开发【自定义starter】

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇2 自定义starter2.2 IP计数业务功能开发【自定义starter】2.2.1 大概看看别人…

阿里云服务器安装mysql8

1. 安装前准备 查看是否安装: rpm -qa | grep mysql移除不想要的版本: yum remove 名称查找关于mysql的所有文件(配置文件) find / -name mysql ##或者 whereis mysql删除配置文件 rm -rf 文件最后需要注意的是:卸载后…

配置iSCSI实现Linux的远程块存储

文章目录一 名词解释二 需求三 环境准备四 搭建流程1 服务端准备硬盘并分区2 服务端安装软件包,并启动服务3 服务端 5个create 操作3-1 定义块设备,创建后备存储。3-2 为目标创建IQN3-3 创建一个ACL来控制特定的客户端访问3-4 为每个后备存储创建一个LUN…

基于C#的校园闲置物品共享系统的开发和实现(Asp.net+Web)

目 录 摘 要 I Abstract II 第1章 绪论 1 1.1选题背景 1 1.1.1校园闲置物品共享系统的开发背景 1 1.1.2学生闲置物品交易活动的现状 1 1.2 校园闲置物品共享系统的研究方向和内容 1 1.2.1研究方向 1 1.2.2研究内容 2 1.3 校园闲置物品共享系统的设计目标 2 1.4 校园闲置物品共…

Visual Studio Code(vs code) 安装c# .net环境 solution

Visual Studio Code(vs code) 安装c# .net环境 solution 一、安装.net必要环境 1.安装环境 https://dotnet.microsoft.com/zh-cn/download 我这里选择的是 .net 6.0 ;版本 .net SDK x86 2.在vs code拓展 搜索.net 全名:.NET Core Extension Pack 作者&#xf…

操作系统的发展与分类

文章目录世界上第一台通用电子计算机操作系统的发展阶段1. 手工操作阶段(无操作系统的计算机系统)2. 批处理阶段:同时处理多道程序3. 分时操作系统(Time Sharing System)4. 实时操作系统(Real Time System&…

毫米波传感器原理介绍:测距

因为本篇是第一篇关于毫米波雷达传感器设备的介绍,我便多啰嗦两句。近几年随着无人驾驶等领域在国内的火热,做支撑实现无人驾驶的智能设备也多了起了,首当其冲的便是无人驾驶的眼睛“摄像头”,同样作为一种辅助手段的雷达技术也被…

HTMLDOM中的API之btoa和atob

btoa() btoa() 方法可以将一个二进制字符串(例如,将字符串中的每一个字节都视为一个二进制数据字节)编码为 Base64 编码的 ASCII 字符串。 示例: let encodedData window.btoa("Hello, world"); // 编码 let decode…

【C++笔试强训计划】第一天

遇事不决,可问春风,春风不语,即随本心 欢迎来到我的笔试强训计划专栏,这是计划正式开始的第一天。另外,我想说的是:博主本身水平有限,本专栏只作为学习笔记分享记录使用,对于一些题目…

Linux中如何获得进程的运行时堆栈

关于这个话题,我们一般是为了处理一下生产环境中程序出现死循环或者死锁等问题。我们一般想到的方法就是gdb attach上一个运行中的进程。但是这个需要手动交互。通过网上查找和实践,可以有以下几种选择: 第一种:pstack 进程ID …

【电商】管理后台--采购管理(执行层)

采购,从表面上看是公司花钱的部门,实则担负了寻找、管理供应商的重任,确保公司绝大部分的供应链成本可以保质、保量的完成。 现在很多电商企业,都不自己生产产品,产品的来源基本上都是从供应商那里采购,所以…

【服务器搭建】教程四:域名怎样进行备案?快来看~

前言 购买一台服务器,再来个域名,搭建一个自己的个人博客网站,把一些教程、源码、想要分享的好玩的放到网站上,供小伙伴学习玩耍使用。我把这个过程记录下来,想要尝试的小伙伴,可以按照步骤,自己…

你好,法语!A2知识点总结(1)

1.语式及时态 语式: 1.1直陈式: -直陈式现在时 1)动词变位: 以er结尾的动词为第一组动词 变位规则: 去er,得到词根,加上相应词尾 e es e ons ez ent 第二组动词变位 以ir结尾为第二组动词…

LeetCode 图解 | 141.环形链表

141.环形链表题目描述思路分析快慢指针思想代码实现题目描述 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内…

Nuxt 3.0.0正式发布,集成Element Plus和Ant Design Vue脚手架

发布说明 Nuxt 是使用简便的 Web 框架,用于构建现代和高性能的 Web 应用,可以部署在任何运行 JavaScript 的平台上。 Nuxt 3.0 11天前正式发布了稳定版,3.0 基于 Vue 3,为 TypeScript 提供了 “一等公民” 支持,并进行…

【Unity3D】卷轴特效

1 原理 当一个圆在地面上沿直线匀速滚动时,圆上固定点的运动轨迹称为旋轮线(或摆线、圆滚线)。本文实现的卷轴特效使用了旋轮线相关理论。 以下是卷轴特效原理及公式推导,将屏幕坐标 (x) 映射到纹理坐标 (u)。 注意:屏…

Controller Area Network(CAN)简介

文章目录前言-什么是通讯?一、CAN是什么?二、CAN的应用示例CAN网络细分三、CAN发展历史四、汽车网络汇总总结前言-什么是通讯? “通讯是两个或两个以上参与者之间交换信息的有意识活动,目的是通过符号和语义规范的共享系统来发送…

微服务系列之初探“微服务架构”

随笔 有时你必须对你想得到的东西充满敬畏。 参考书籍: “凤凰架构”“微服务架构设计模式” 在了解微服务架构之前我们有必要解答“什么是架构”、“什么是架构的风格”这两个问题,同时需要带着“架构并不是被发明出来的,而是持续演进的…

[AI] LRTA*ls(k)搜索算法

LRTA*LS[K]一、LRTA*(K)算法的缺点二、LRTA∗LS(k)LRTA*_{LS}(k)LRTA∗LS​(k)算法1、选择局部空间2、更新局部空间论文在这里! 一、LRTA*(K)算法的缺点 LRTA*(K)算法每次要更新队列Q里的state,但有三点缺陷: 如果state y进入 Q&#xff0c…

【网络工程】6、防火墙介绍及配置实操

接上篇《5、路由器介绍及配置实操》 之前我们讲解了网络设备路由器的介绍,以及完成了路由器的相关配置实操。本篇我们来讲解防火墙的基础知识以及相应的实操案例。 一、什么是防火墙? 防火墙是一个安全产品,它可以把安全的内网和不安全的外网…