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