一位来自瑞典的程序员 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
来源: http://os.51cto.com/art/202108/679099.htm