来自瑞典的程序员AndreasKling在不久前发表了一篇文章《I quit my job to focus on SerenityOS full time》,其中提到从2021年5月28日开始,他结束了自己作为“工作者”的职业生涯,专注于在自己创建的操作系统上工作.半年后,我从零开始写了操作系统——SerenityOS,SerenityOS是一个用于x86计算机的图形类UNIX操作系统。同时,带着喜爱和喜欢,这个系统结合了传统操作系统的一些特性,比如1990年代的GUI和20年代后期的UNIX命令行。近日,缘美发现SerenityOS已经在Github周榜上排名第二。让我们来看看这个操作系统是怎样的。SerenityOS具有以下特性:抢占式多任务和多线程复合窗口服务器IPv4网络支持ARP、TCP、UDP和ICMPext2文件系统类Unixlibc和用户空间POSIX信号支持管道和IO重定向Shellmmap()/proc文件系统NativesocketsVirtual终端(带有/dev/pts文件系统)事件循环库(LibCore)高级GUI库(LibGUI)可视化GUI设计工具PNG格式支持文本编辑器IRC客户端DNS查询桌面游戏:Minesweeper和Snake端口系统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:添加了佛ntEditor和Clock,移植的GNUbc:2019-02-08:壁纸支持,“顶级”程序等:2019-02-11:菜单的第一个实现!也是一个非常早期的FileManager:2019-02-28:早期版本的ProcessManager(今天称为SystemMonitor):2019-04-11:VisualBuilder的第一个屏幕截图,受VisualBasic启发的GUI设计工具:2020-10-10:制作此网页!最后附上SerenityOS项目地址:https://github.com/SerenityOS/serenity
