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