Update README.md with new features
This commit is contained in:
parent
1e96a45f33
commit
55808d5cc4
10
README.md
10
README.md
@ -6,12 +6,12 @@ Not so much at the moment.
|
||||
|
||||
- x86_64-compatible [kernel](kernel/).
|
||||
- Keeps track of which [memory](kernel/src/memory/) is used and which memory is free, and can allocate memory for itself and [user programs](kernel/src/sys/mem.cpp).
|
||||
- Can [load files](kernel/src/fs/) from an [initial ramdisk](initrd/), no disk support yet.
|
||||
- Can load files from a [virtual file system](kernel/src/fs/) supporting an initial ramdisk, device pseudo-filesystems... but no hard disks yet.
|
||||
- Basic preemptive multitasking, round-robin [scheduler](kernel/src/thread/) that can switch between tasks.
|
||||
- Can [load userspace ELF programs](kernel/src/sys/elf/) from the initial ramdisk as user tasks.
|
||||
- [System call](kernel/src/sys/) interface and bare-bones [C Library](libs/libc/).
|
||||
- Some very simple [example programs](apps/), written in C, that the kernel then loads from the initial ramdisk.
|
||||
- UNIX-like [multitasking primitives](kernel/src/sys/exec.cpp).
|
||||
- Can [load userspace ELF programs](kernel/src/sys/elf/) from the file system as user tasks.
|
||||
- [System call](kernel/src/sys/) interface and simple [C Library](libs/libc/), aiming to be POSIX-compatible.
|
||||
- Some very simple [example programs](apps/), written in C, that then can get loaded and executed by the kernel.
|
||||
- UNIX-like [multitasking primitives](kernel/src/sys/exec.cpp), which allow user tasks to spawn other tasks.
|
||||
|
||||
## Setup
|
||||
To build and run Luna, you will need to build a [GCC Cross-Compiler](https://wiki.osdev.org/Why_do_I_need_a_Cross_Compiler%3F) and cross-binutils for `x86_64-luna`. (Yes, Luna is advanced enough that it can use its own [OS-Specific Toolchain](https://wiki.osdev.org/OS_Specific_Toolchain), instead of a bare metal target like `x86_64-elf`. It is the first of my OS projects to be able to do so. The patches for Binutils and GCC are [binutils.patch](tools/binutils.patch) and [gcc.patch](tools/gcc.patch)).
|
||||
|
Loading…
Reference in New Issue
Block a user