用C#自己動手寫個操作系統,爽!

自從C#的AOT編譯機制發布以來,有趣的項目越來越多,今天給大家推薦一個開源項目,用C#開發的64位操作系統

項目簡介

這是一個使用.NET Native AOT技術編譯的C# 64位操作系統,系統的基礎功能基本都已經支持:網卡、多處理、IP4、IP6、紅白機模擬器、鼠標、鍵盤、應用程序等。

開發操作系統,涉及的技術都比較底層,學習OS這些底層知識,對于我們程序員做開發,還是非常有幫助可以讓我們更輕松去理解背后高級的設計、理解系統的性能瓶頸、更多角度思考編程

項目源碼

c274a06be062f7ef15b5d13350e8c757.png

開發環境

以下是該項目開發環境配置要求:

1、VMware Workstation Player

2、Visual studio 2022?

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

4、Windows 10-11 x64或x86

5、8GB Ram

虛擬機與裸機硬件支持功能列表

以下是項目在虛擬機與運行在硬件,支持的功能列表,不同顏色代表如下:?

🟩已支持??🟥未支持??🟨開發中???未知?

906e2c5ee669ddfb2bdcfdd7a8eed5d7.png

c6d1433bd88658c299dc72d6c52f6a56.png

完善的編譯、安裝文檔

該項目的文檔非常詳細,按照文檔的指引,就可以把項目玩轉起來,項目文檔包含:

1、如何創建或編譯操作系統

2、如何編輯操作系統文件

3、如何制作操作系統ISO存儲在USB或CD

4、操作系統電源管理和休眠

d52b3a93b7e1d3ef95c7f617b6fabf88.png

操作系統界面

以下是操作系統運行桌面界面截圖:

676c04da9008b6576d7e9c2f0b6c3b1e.png

項目地址:

https://github.com/nifanfa/MOOS

文檔:

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

覺得好看 點個在看👇

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280390.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280390.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280390.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaFX 學習筆記——窗口與控件

前言 如今比較流行的桌面gui框架有WPF、WinForm、Qt、javafx等。其中WPF和WinForm目前還只能在運行Winsows上。Qt(widget)是一個很強大的跨平臺C框架(不只是UI),但用C寫界面實在有點蛋疼,且編譯出來的體積很大。 JavaFX是基于JAVA的開源桌面框架&#xf…

Linux 用戶名、主機添加背景色

文章參考:PS1應用之——修改linux終端命令行各字體顏色 Linux 用戶名、主機添加背景色,用于生產環境,這樣可以減少人為的誤操作。 1 [rootzhang ~]# tail /etc/bashrc 2 ……………… 3 export PS1"\[\e[37;40m\][\[\e[37;41m\]\u\[\e[3…

python 調用文件上傳圖片簡單例子

使用方法: python.exe .\test.py "fileD:\img\mark_1080.png" "matchWordListRUN" "urlhttp://192.168.0.37:8081/templateMatch" test.py import requests import sysif __name__ "__main__":print(參數個數為:, len(s…

解決網站在負載均衡環境下SESSION丟失的問題

在WEB場中,動態網頁往往會因為幾臺主機做了負載而產生SESSION丟失的問題,網上也有很多的介紹,我這里只將我經歷的過程給大家分享一下: 系統要運行在負載平衡的 Web 場環境中,而系統配置文件web.config中的Session狀態卻設置為InPr…

如何從手機或PC將游戲下載到PlayStation 4

PlayStation 4 games can be huge, and take hours to download. Thankfully, you can start downloading games even when you’re away from home. All you need is Sony’s official smartphone app, or a web browser on any PC. PlayStation 4游戲可能非常龐大&#xff0c…

CML更新 | 新增百度小程序、支付寶小程序

祝所有工程師小伙伴開工大吉,Beatles 團隊已經開始忙碌起來了。 幾個事情要向諸位匯報一下: 一、新增百度小程序、支付寶小程序 發布alpha版本支持百度小程序、支付寶小程序,已有項目可以無縫直接運行在新增平臺,歡迎安裝試用&…

C#中4種深拷貝方法介紹

概述為什么要用到深拷貝呢?比如我們建了某個類Person,并且實例化出一個對象,然后,突然需要把這個對象復制一遍,并且復制出來的對象要跟之前的一模一樣,來看下我們一般會怎么做。1、利用反射實現public stat…

kaggle入門項目:Titanic存亡預測(三)數據可視化與統計分析

---恢復內容開始--- 原kaggle比賽地址:https://www.kaggle.com/c/titanic 原kernel地址:A Data Science Framework: To Achieve 99% Accuracy Step 4: Perform Exploratory Analysis with Statistics 使用描述性與圖表分析數據,重點在于數據可…

docker遇到問題歸納

/bin/sh^M: bad interpreter #在win下編輯的時候,換行結尾是\n\r , 而在linux下 是\n,所以才會有 多出來的\r #可以用以下方式解決先在控制臺cd到報錯的目錄#編輯報錯的那個文件 vi xxx.sh#利用如下命令查看文件格式 :set ff 或 :set filef…

faster rcnn訓練過程講解

http://blog.csdn.net/u014696921/article/details/60321425

firefox 擴展_如何檢查您的擴展程序是否將停止與Firefox 57一起使用

firefox 擴展With Firefox 57, scheduled for release in November 14, 2017, Mozilla will end support for legacy extensions, and only support newer WebExtensions. Here’s how to check if your extensions will stop working—and how to keep using them after Novem…

《構建之法》 讀書筆記

《構建之法》 讀書筆記 婁雨禛 PB16060356 第一部分 關于結對編程的體悟與實踐 在結對編程這一部分我曾講過很多的注意點,比如代碼變量命名風格、縮進風格、注釋風格,前后語句次序風格,等等。然而這里還有一些新的東西。代碼風格這個老掉牙的…

邊緣服務網格 osm-edge

本文篇幅稍長,閱讀本文將了解以下內容:?什么是 osm-edge 及其產生背景?邊緣計算與中心云計算的差異,以及帶來的挑戰?osm-edge 的設計及采用的技術?5 分鐘快速體驗邊緣服務網格關于 osm-edgeosm-edge 是針對邊緣計算環境設計的服務網格&am…

powershell獲取exe文件返回值

一、目的 1.powershell能簡單寫一些小腳本,不需要exe開發這么笨重。 2.在windows實現某個特定功能,做成一個exe能方便查看管理。 二、實現 1.C# code 運行結束加入返回值 Environment.ExitCode 1; //自定義數字 2.powershell 調用并獲取 需要增加…

自定義ViewGroup實現仿微信圖片選擇器

先求一個windows版本的gif制作工具!!! 這個代碼只是做了簡單的選擇功能,圖片的壓縮與展示沒做。可以自己在接口的方法中去實現。 寫這個自定義view的初衷是為了學習LayoutParams,參考博客:http://www.jians…

[PHP] 多表外連接性能測試及優化

原文:https://blog.csdn.net/tang_huan_11/article/details/41925639 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!轉載于:https://www.cnblogs.com/0616--ataozhijia/p/10364188.html

活水亭觀書有感其一_如何將iPad置于“信息亭”模式,將其限制為單個應用程序...

活水亭觀書有感其一An iPad makes a great “kiosk” device–a tablet restricted to one specific app for your home or small business. You can create a makeshift kiosk using the Guided Access feature, or enable Single App Mode for a true kiosk environment. iPa…

Shell字符串

一 介紹 shell程序的字符串可以用單引號,也可以用雙引號,也可以不用,字符串是最有用的數據類型。 二 單引號 單引號字符串的限制: 》單引號內的內容原樣輸出,單引號字符串的變量是無效的。 》單引號內不能出現單引號&a…

powershell 特殊符號處理

顯示字符串有雙引號 “ 兩個雙引號產生一個雙引號,這里不包括最外層的雙引號。 $a"PowerShell" """My name is $a"",this program said." 使用轉義字符 轉義序列由反引號定義,也就是鍵盤F1下面與波浪線同鍵…

如何使用 System.Text.Json 序列化 DateTimeOffset 為 Unix 時間戳

在 .NET 中,日期和時間通常使用 DateTime 或 DateTimeOffset 來表示。這兩種數據類型都可以表示日期和時間,但它們之間有一些明顯的區別。DateTime 是不帶時區信息的,而 DateTimeOffset 是帶時區偏移量的,可以用來表示一個特定的時…