Update README
All checks were successful
Build and test / build (push) Successful in 1m38s

This commit is contained in:
apio 2024-04-20 15:57:01 +02:00
parent b59a787b9e
commit 646a15d295
Signed by: apio
GPG Key ID: B8A7D06E42258954

View File

@ -1,18 +1,18 @@
# Luna
A simple POSIX-based operating system for personal computers, written in C++.
A simple POSIX-based operating system for 64-bit computers, written in C++.
## Another UNIX clone?
[Yes, another UNIX clone](https://wiki.osdev.org/User:Sortie/Yes_Another_Unix_Clone).
## Features
- x86_64-compatible lightweight [kernel](kernel/).
- Simple round-robin [scheduler](kernel/src/thread/).
- Lightweight 64-bit [kernel](kernel/). Compatible with the x86_64 architecture.
- Basic threads/processes, using a 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).
- Can [load ELF executables](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).
- [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.
- Designed to be [portable](kernel/src/arch), no need to be restricted to x86_64.
- Everything is designed around [UTF-8](libluna/include/luna/Utf8.h).
- Support for [several third-party programs](ports/), including the [GNU binutils](ports/binutils/PACKAGE) suite of utilities and the [GCC](ports/gcc/PACKAGE) compiler.
- Designed to be [portable](kernel/src/arch), so that additional architectures can be added in the future with relatively low effort.
- Everything text-related is designed around [UTF-8](libluna/include/luna/Utf8.h).
- Environment-agnostic [utility library](libluna/), which can be used in both kernel and userspace.
- 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).