1
0
Fork 0
ExectOS Operating System
Go to file
Jozef Nagy 592261310c
Added test multiboot2 module for XTLDR and relevant XTLDR configuration
2024-01-17 15:35:43 +01:00
.github Add agreement to pull request template 2024-01-09 19:02:10 +01:00
bootdata Added test multiboot2 module for XTLDR and relevant XTLDR configuration 2024-01-17 15:35:43 +01:00
sdk Cleanup of ELF structures and typo fixes 2024-01-12 21:33:46 +01:00
xtldr Added test multiboot2 module for XTLDR and relevant XTLDR configuration 2024-01-17 15:35:43 +01:00
xtoskrnl Implement RtlTrimLeftString(), RtlTrimRightString() and RtlTrimString() routines 2023-12-09 20:18:02 +01:00
.clangd Suppress error caused by including recursively when building a preamble 2023-01-05 19:55:17 +01:00
.gitignore Added test multiboot2 module for XTLDR and relevant XTLDR configuration 2024-01-17 15:35:43 +01:00
CMakeLists.txt Enable ASM, C and CXX compilers 2023-11-20 23:52:49 +01:00
CONTRIBUTING.md Add missing contributing information 2023-10-25 19:01:05 +02:00
COPYING.md Import readme and license 2022-07-27 07:25:19 +02:00
ExectOS.code-workspace Add VSCode workspace 2022-08-17 19:19:57 +02:00
IDEAS.md Update XTOS ideas 2023-11-22 19:22:51 +01:00
KNOWN_ISSUES.md Rewrite core of the XTLDR boot loader 2024-01-09 18:51:04 +01:00
README.md Take advantage of the 'xbuild' command (requires XTChain 2.8.5) 2023-11-14 15:01:51 +01:00
configure.sh Prefer xbuild over ninja 2023-11-14 15:35:07 +01:00

README.md

GIT Repository Commits Build Status CI/CD Artifacts License Codeium Sponsor Discord


ExectOS Operating System

ExectOS is an open-source, general purpose operating system written from scratch. It aims to be modular, maintainable and compatible with existing software. It implements a brand new XT architecture and features own native application interface. On the backend, it contains a powerful driver model between device drivers and the kernel, that enables kernel level components to be upgraded without a need to recompile all drivers.

XT Architecture

ExectOS is a preemptive, reentrant multitasking operating system that implements the XT architecture which derives from NT architecture. It is modular, and consists of two main layers: microkernel and user modes. Its' kernel mode has full access to the hardware and system resources and runs code in a protected memory area. It consists of executive services, which is itself made up on many modules that do specific tasks, a kernel and drivers. Unlike the NT, system does not feature a separate Hardware Abstraction Layer (HAL) between the physical hardware and the rest of the OS. Instead, XT architecture integrates a hardware specific code with the kernel. The user mode is made up of subsystems and it has been designed to run applications written for many different types of operating systems. This allows to implement any environment subsystem to support applications that are strictly written to the corresponding standard (eg. DOS, or POSIX).

Features

  • Modern, EFI enabled operating system
  • Runs on x86 and x86_64 architectures
  • Portable to other architectures
  • Modular design, open-source project
  • Own drivers for commonly used devices
  • NT drivers compatibility layer

Requirements

ExectOS is in very early development stage, thus its requirements have been not specified yet. However according to its design, it requires a modern EFI enabled hardware. It is not possible currently to boot ExectOS on a legacy BIOS.

Source structure

Directory Description
bootdata default configuration and data needed to boot XTOS
drivers XT native drivers source code
sdk/cmake Host toolchain configuration and build-related functions
sdk/xtdk XT Software Development Kit headers
services integral subsystems services source code
subsystems environment subsystems source code
xtoskrnl XTOS kernel source code
xtldr XTOS boot loader source code

Build

XTOS can be built only by using XTChain, a special toolchain prepared for compiling XT software. Currently, there is only a Linux version available, so a Linux distribution or WSL is needed. If XTChain is already installed and available, then building ExectOS is quiet easy. First, open a terminal or WSL console and type the following command to launch XTChain build console:

xtchain

While the console is already running, navigate to the directory containing ExectOS source code and use the following commands to first set target build architecture and configure the sources:

charch [i686|amd64]
chbuild [DEBUG|RELEASE]
./configure.sh

Once the sources are configured, enter the build directory and compile the source code:

cd build
xbuild

It is also possible to build a disk image ready to use with QEMU with the following command:

xbuild diskimg

Contributing

There is a ton of work to do in ExectOS and we appreciate any help. If you are interested in writing features, porting drivers, fixing bugs, writing tests, creating documentation, or helping out in any other way, we would love the help. More details on how to contrubite can be found it CONTRIBUTING.md file.

Licensing

ExectOS is licensed to the public under the terms of the GNU General Public License, version 3. For more detailed information check the COPYING.md file.

GIT Mirrors

Contact