SerenityOS
适用于x86-64计算机的图形化类Unix操作系统。
关于
SerenityOS是对90年代用户界面的致敬,它拥有自定义的类Unix核心。它通过借鉴其他系统的优秀理念,以真诚的方式展现魅力。
大致来说,其目标是将90年代末生产力软件的美学与2000年代末*nix系统的高级用户可访问性相结合。这是一个由我们创造、为我们服务的系统,基于我们喜欢的元素。
你可以在YouTube上观看系统开发的视频:
截图
特性
- 现代x86 64位内核,支持抢占式多线程
- 浏览器支持JavaScript、WebAssembly等(查看JS、CSS和Wasm的规范兼容性)
- 安全特性(硬件保护、受限的用户空间功能、W^X内存、
pledge
和unveil
、(K)ASLR、抗OOM、网络内容隔离、最先进的TLS算法等) - 系统服务(WindowServer、LoginServer、AudioServer、WebServer、RequestServer、CrashServer等)和现代IPC
- 良好的POSIX兼容性(LibC、Shell、系统调用、信号、伪终端、文件系统通知、标准Unix实用工具等)
- 类POSIX虚拟文件系统(/proc、/dev、/sys、/tmp等)和ext2文件系统
- 网络栈和应用程序,支持IPv4、TCP、UDP;DNS、HTTP、Gemini、IMAP、NTP
- 性能分析、调试和其他开发工具(内核支持的性能分析、CrashReporter、交互式GUI游乐场、HexEditor、支持C++等语言的HackStudio IDE)
- 涵盖从密码学到OpenGL、音频、JavaScript、GUI、下棋等各个方面的库
- 支持众多常见和罕见文件格式(PNG、JPEG、GIF、MP3、WAV、FLAC、ZIP、TAR、PDF、QOI、Gemini等)
- 统一的风格和设计理念、灵活的主题系统、自定义(位图和矢量)字体
- 游戏(纸牌、扫雷、2048、国际象棋、康威生命游戏等)和演示(CatDog、Starfield、Eyes、曼德勃罗集、WidgetGallery等)
- 日常GUI程序和实用工具(支持JavaScript的电子表格、文本编辑器、终端、像素绘画、各种多媒体查看器和播放器、邮件、助手、计算器等)
...以上所有内容都在本仓库中,无需额外依赖,由我们从头开始构建 :^)
此外,还有超过三百个流行开源软件的移植,包括游戏、编译器、Unix工具、多媒体应用等。
如何阅读文档?
在线man页面可在man.serenityos.org查看。这些页面由Base/usr/share/man
中的Markdown源文件自动生成并更新。
运行SerenityOS时,可以使用man
查看终端界面,或使用help
查看GUI界面。
与代码相关的文档可在documentation文件夹中找到。
如何构建和运行?
请参阅SerenityOS构建说明或Ladybird构建说明。
构建系统支持在Linux、macOS、Windows(使用WSL2)和许多其他*nix系统上进行SerenityOS的交叉编译。默认的构建系统命令将启动一个运行该操作系统的QEMU实例,根据支持情况启用硬件或软件虚拟化。
Ladybird可在支持SerenityOS交叉编译的相同平台上运行,也可在SerenityOS本身上运行。
联系我们并参与!
加入我们的Discord服务器:SerenityOS Discord
在提出问题之前,请查看问题政策。
贡献的一般指南可在CONTRIBUTING.md
中找到。
作者
- Andreas Kling - awesomekling
- Robin Burchell - rburchell
- Conrad Pankoff - deoxxa
- Sergey Bugaev - bugaevc
- Liav A - supercomputer7
- Linus Groh - linusg
- Ali Mohammad Pur - alimpfard
- Shannon Booth - shannonbooth
- Hüseyin ASLITÜRK - asliturk
- Matthew Olsson - mattco98
- Nico Weber - nico
- Brian Gianforcaro - bgianfo
- Ben Wiederhake - BenWiederhake
- Tom - tomuta
- Paul Scharnofske - asynts
- Itamar Shenhar - itamar8910
- Luke Wilde - Lubrsi
- Brendan Coles - bcoles
- Andrew Kaster - ADKaster
- thankyouverycool - thankyouverycool
- Idan Horowitz - IdanHo
- Gunnar Beutner - gunnarbeutner
- Tim Flynn - trflynn89
- Jean-Baptiste Boric - boricj
- Stephan Unverwerth - sunverwerth
- Max Wipfli - MaxWipfli
- Daniel Bertalan - BertalanD
- Jelle Raaijmakers - GMTA
- Sam Atkins - AtkinsSJ
- Tobias Christiansen - TobyAsE
- Lenny Maiorani - ldm5180
- sin-ack - sin-ack
- Jesse Buhagiar - Quaker762
- Peter Elliott - Petelliott
- Karol Kosek - krkk
- Mustafa Quraish - mustafaquraish
- David Tuin - davidot
- Leon Albrecht - Hendiadyoin1
- Tim Schumacher - timschumi
- Marcus Nilsson - metmo
- Gegga Thor - Xexxa
- kleines Filmröllchen - kleinesfilmroellchen
- Kenneth Myhra - kennethmyhra
- Maciej - sppmacd
- Sahan Fernando - ccapitalK
- Benjamin Maxwell - MacDue
- Dennis Esternon - djwisdom
- frhun - frhun
- networkException - networkException
- Brandon Jordan - electrikmilk
- Lucas Chollet - LucasChollet
- Timon Kruiper - FireFox317
- Martin Falisse - martinfalisse
- Gregory Bertilson - Zaggy1024
- Erik Wouters - EWouters
- Rodrigo Tobar - rtobar
- Alexander Kalenik - kalenikaliaksandr
- Tim Ledbetter - tcl3
- Steffen T. Larssen - stelar7
- Andi Gallo - axgallo
- Simon Wanner - skyrising
- FalseHonesty - FalseHonesty
- Bastiaan van der Plaat - bplaat
- Dan Klishch - DanShaders
- Julian Offenhäuser - janso3
- Sönke Holz - spholz
- implicitfield - implicitfield
还有更多贡献者!点击这里查看完整的贡献者列表。上面列出的人在项目中提交了超过100次代码。:^)
许可证
SerenityOS 采用两条款 BSD 许可证授权。