diff --git a/README.md b/README.md index 89230671..f8d65f8d 100644 --- a/README.md +++ b/README.md @@ -6,20 +6,19 @@ A simple POSIX-based operating system for personal computers, written in C++. [! ## Features - x86_64-compatible lightweight [kernel](kernel/). -- Preemptive multitasking, with a round-robin [scheduler](kernel/src/thread/). -- [Virtual file system](kernel/src/fs/) with a simple [tmpfs](kernel/src/fs/tmpfs/) and read-only [ext2](kernel/src/fs/ext2/) support. +- Simple round-robin [scheduler](kernel/src/thread/). +- Read-only [ext2](kernel/src/fs/ext2/) filesystem. - Can [load ELF programs](kernel/src/binfmt/ELF.cpp), [shebang scripts](kernel/src/binfmt/Script.cpp) or [arbitrary binary formats](kernel/src/binfmt/BinaryFormat.h) (registered through kernel modules, which are not supported yet =D). -- Boots from an [ext2](apps/preinit.cpp) root filesystem (a bit slow for now). -- [System call](kernel/src/sys/) interface and [C Library](libc/), aiming to be almost POSIX-compatible. +- [C Library](libc/), aiming for POSIX compatibility, with many features such as local domain sockets, signals, and shared memory. - Support for [several third-party programs](ports/), including the [GNU binutils](ports/binutils/PACKAGE) suite of utilities. -- POSIX [signal](libc/src/signal.cpp) support. - Designed to be [portable](kernel/src/arch), no need to be restricted to x86_64. -- Everything is [UTF-8](libluna/include/luna/Utf8.h). -- [UNIX local domain sockets](kernel/src/net/UnixSocket.cpp), allowing for local IPC. -- [POSIX shared memory](libc/include/sys/mman.h) support. +- Everything is designed around [UTF-8](libluna/include/luna/Utf8.h). - Environment-agnostic [utility library](libluna/), which can be used in both kernel and userspace. -- Return-oriented [error propagation](libluna/include/luna/Result.h), inspired by Rust and SerenityOS. No exceptions here :). - An extensive set of [standard Unix utilities](apps/), from [ls](apps/ls.cpp) to [uname](apps/uname.cpp) to [base64](apps/base64.cpp). Written in modern C++ and very small amounts of code, using Luna's practical [OS library](libos/). +- A simple and efficient [windowing system](wind/), providing a lightweight GUI environment (still in development, not many GUI apps exist). + +## Screenshot +![Screenshot as of 0.6.0](docs/screenshots/screenshot-0.6.0.png) ## Setup diff --git a/docs/screenshots/screenshot-0.6.0.png b/docs/screenshots/screenshot-0.6.0.png new file mode 100644 index 00000000..545a0d04 Binary files /dev/null and b/docs/screenshots/screenshot-0.6.0.png differ