一個紐西蘭人用了五年業餘時間開發了一個作業系統:Winix
一外國人竟然只用五年的業餘時間就開發了一個類似鴻蒙的作業系統:
Winix是用於Waikato RISC 架構微處理器 (WRAMP) 的 UNIX 風格作業系統,是一個業餘愛好、教育學習和 UNIX 風格的作業系統。它是一個兼顧可用性和效能的混合核心。點選標題見Github專案
Winix主要是受Minix1的啟發,作者大學時學的作業系統。這是一個業餘愛好專案,作者可能會每隔一週花 1-4 小時的時間來做。最難的部分是除錯併發和奇怪的排程錯誤。很難除錯,因為無法重現它,這很令人沮喪。隨著時間的推移,發現進行有根據的猜測,或者在大腦中執行程式碼,比除錯每一行程式碼高效得多。
Winix 包括具有程式和記憶體管理的全功能核心、記憶體檔案系統、異常控制和具有互動式命令列的使用者空間 bourne shell。是的,你甚至可以透過snake在命令列中輸入來玩蛇
特徵
- 核心記憶體管理:虛擬記憶體、頁面對映
- 程式管理:核心執行緒、程式建立
- 異常控制和中斷處理程式
- 支援大部分 POSIX api 的記憶體檔案系統
- 支援多個管道和重定向的 Bourne shell
- 使用者記憶體管理:malloc() free()
- ucontext.h支援的使用者協程
- 堆疊跟蹤轉儲,段錯誤分析
駭客新聞網友評論
作為一個想進入系統程式設計的人,這是非常鼓舞人心的。
在作業系統研究消亡的時代 ,唯一的優勢是用於作業系統管理改進的 Nix/Guix 和用於作業系統效能增強的 eBPF。就潛在的作業系統方向而言,Winix 作業系統是一股清新的空氣。
可能這個專案類似於蘋果的牛頓專案,裡面有很多東西,但還早了幾年。
Winix 以 RISC 架構為目標,在 RISC-V 飛速發展的當下,偏向 RISC 的作業系統肯定會為平臺提供優勢和優勢,類似於 x86 對 Linux 的怪癖,而 Linux 在 x86-32 和 x86-64 時佔據優勢起飛。
今年當 Linus 被問及與其他作業系統相比最好的 Linux 成就時,Linus 指出了基於 Linux 的創新無鎖檔案系統 。預設情況下,Winix 具有內建的創新 POSIX 相容記憶體檔案系統 (IMFS)。想象一個帶有 IMFS 的作業系統,它也與日益流行的 Arrow 和 TileDB 記憶體格式本機相容。隨著太位元組 (TB) RAM 計算機在不久的將來成為常態,這很容易成為擁有最先進檔案系統的最快作業系統。Fuschia 是另一個最新的作業系統,但透過專注於移動而不是桌面,它可能會針對前者進行最佳化,這與 Winix 不同。
作業系統研究比以往任何時候都更加重要。您應該檢視在 SOSP、OSDI、EuroSys 和 HotOS 等會議上發表的論文。你會看到很多來自行業巨頭的論文。我們現在正朝著專業化方向發展,為您的用例提供特定的作業系統架構。目前,作業系統研究遠不止 Linux。
21 年前,當 Rob 發表那次演講時,系統軟體研究正在消亡。
從那時起,系統軟體研究就變得非常重要,這在很大程度上要歸功於 Rob 本人;排名不分先後,自 Rob 的論文以來,系統軟體研究的相關發展包括 Golang、MapReduce、HTML5(包括 Web Workers、<canvas> 和 WebSockets)、Sawzall、Hadoop、Rust、wasm、Fuchsia、V8 、protobufs、Thrift、Docker、Xen、AWS、Azure、ZFS、btrfs、BitTorrent、Kafka,幾乎所有谷歌的“倉庫規模計算”的東西,memcached、OpenID、QEMU†、kvm、PyPy、SPARK、Julia 和幾乎所有自動微分的東西,Clojure,iOS,Swift,Factor,AMQP,RabbitMQ,ZeroMQ,Jupyter,AJAX 和 Comet 的主流使用,QUIC 和 HTTP/2,Valgrind,LLVM,Kotlin,比特幣,以太坊,OTR 和 Signal,Android , Dalvik, 可重複構建, seL4, Zig, Pony, CapnProto, Sandstorm.io, 等等等等。哦,是的,還有 eBPF。
5年是一段很長的時間。如果我沒記錯的話,Linus 花了一年時間來製作他的第一個可用的 Unix 克隆。我想知道為什麼這個專案花費了更多的時間。這不是批評,而是真正好奇為什麼基本作業系統專案如此昂貴,因為已經有這麼多。此外,Linus 在一年中每天花費大部分時間,而這對你來說可能只是一個副業。
相關文章
- 不到一個月用業餘時間擼了個AppAPP
- 自制作業系統(一) 第一個作業系統作業系統
- 作業系統(一):作業系統概述作業系統
- 第一次個人作業
- NZDGA:紐西蘭遊戲業收入在兩年內翻了一番遊戲
- [作業系統]訪問一個邏輯地址發生了什麼作業系統
- 個人作業
- 作業系統-1.1_2作業系統四個特徵作業系統特徵
- 微軟在Linux 作業系統中發現了兩個漏洞微軟Linux作業系統
- 解密《一個作業系統的實現》這本書解密作業系統
- 跟大神一起製作一個屬於自己的Linux作業系統!Linux作業系統
- 【一】作業系統原理作業系統
- 開發 3 年擁有 100 萬使用者,這個作業系統開源了作業系統
- “如果不能在一個月內寫出作業系統,那你就是個笨蛋!”作業系統
- Elementary OS 作業系統:PHP 開發環境配置 (一)作業系統PHP開發環境
- OSDev Wiki——作業系統開發入門基礎(一)dev作業系統
- YodaOS: 一個屬於 Node.js 社群的作業系統Node.js作業系統
- (GitChat)沉迷機器人作業系統的一個理由和四種修仙祕籍Git機器人作業系統
- 分享5款用了一段時間,個人覺得非常nice的軟體
- [2024SAU]第一次個人作業
- 軟體工程第一次個人作業軟體工程
- 第一次個人程式設計作業程式設計
- Blazor技術開發了一個訪客管理系統Blazor
- Linux作業系統受到開發者偏愛的5個理由!Linux作業系統
- 兩個半月的業餘時間用Flutter做了個app-技術篇FlutterAPP
- 紐西蘭醫療系統遭遇史上最大的網路攻擊
- 硬核!從零實現一個作業系統核心!畢設/專案經驗不愁了作業系統
- 從原始碼構建一個極簡的Linux作業系統原始碼Linux作業系統
- 一個故事看懂計算機作業系統的進化史計算機作業系統
- 配置《Orange's一個作業系統的實現》環境心得作業系統
- 這個國家棄用Windows作業系統?而我們的國產作業系統卻很少人用Windows作業系統
- 2024軟體工程第一次個人作業軟體工程
- 一週開發一個客服工單系統
- 一個作業系統的設計與實現——第23章 快速系統呼叫作業系統
- 統信桌面作業系統V20個人版(1011)釋出作業系統
- 製作一個報警系統
- 《經濟學人》:2021年世界最宜居城市排名 紐西蘭奧克蘭排名第一
- 瑞芯微3568開發板實時作業系統作業系統