程序員辭職開發操作系統,在Github上火了!
一位來自瑞典的程序員Andreas Kling,前不久他發表了一篇《I quit my job to focus on SerenityOS full time》文章,里面提到自己從2021年5月28日起,他結束了“打工人”的職業生涯,專注于自己一手創建的操作系統工作。
歷經半年時間,從頭開始寫操作系統——SerenityOS,SerenityOS是一款適用于x86計算機的圖形類UNIX操作系統。與此同時,基于熱愛和喜歡,這款系統結合了一些傳統操作系統的特性,如20世紀90年代的GUI和20年代末的UNIX命令行。
近日,猿妹發現SerenityOS已經登上Github周榜第二,一起來看看這個操作系統具體如何吧。
SerenityOS具有以下特性:
- 搶占式多任務
- 多線程
- 合成窗口服務器
- IPv4 網絡支持 ARP, TCP, UDP 和 ICMP
- ext2 文件系統
- 類 Unix 的 libc 和 userland
- POSIX 信號
- 支持管道和 IO 重定向的 Shell
- mmap()
- /proc 文件系統
- 本機 sockets
- 虛擬終端 (with /dev/pts filesystem)
- 事件循環庫 (LibCore)
- 高級 GUI 庫 (LibGUI)
- 可視化 GUI 設計工具
- PNG 格式支持
- 文本編輯器
- IRC 客戶端
- DNS 查詢
- 桌面游戲:掃雷和貪吃蛇
- 端口系統
Serenity操作系統,一開始有四個組成部分:
- AK實用程序庫
- 一個ELF可執行加載器
- 一個ext2文件系統解析器
- 基于SDL的簡單 GUI 工具包
Serenity開發路線如下:
2018-10-10:Serenity的第一個截圖
2018-11-08:在虛擬機中運行的 Serenity:
2019-01-09:SDL 幀緩沖區中的“Widgets”測試程序:
2019-01-10:Serenity 首次啟動到 GUI:
2019-01-21:測試生成多少個“guitest”進程:
2019-02-03:添加了 FontEditor 和 Clock,移植了 GNU bc:
2019-02-08:壁紙支持、“頂級”程序等:
2019-02-11:第一次實現菜單!還有一個非常早期的 FileManager:
2019-02-28:ProcessManager 的早期版本(今天稱為 SystemMonitor):
2019-04-11:VisualBuilder 的第一個屏幕截圖,Visual Basic 啟發的 GUI 設計工具:
2020-10-10:制作這個網頁!
最后附上SerenityOS的項目地址:https://github.com/SerenityOS/serenity