Initial import
This commit is contained in:
parent
83270c38d4
commit
ac2d4e4dd9
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
public/
|
||||
.hugo_build.lock
|
@ -1 +1,2 @@
|
||||
## ExectOS Web Site
|
||||
This repository contains the entire content of the ExectOS Website, powered by the Hugo Static Site Generator.
|
||||
|
73
config.toml
Normal file
73
config.toml
Normal file
@ -0,0 +1,73 @@
|
||||
baseURL = "https://exectos.eu.org/"
|
||||
title = "ExectOS Operating System"
|
||||
theme = "exectos"
|
||||
languageCode = "en-us"
|
||||
defaultContentLanguage = "en"
|
||||
paginate = 10
|
||||
|
||||
[menu]
|
||||
|
||||
[[menu.main]]
|
||||
name = "About"
|
||||
weight = 1
|
||||
[[menu.main]]
|
||||
parent = "About"
|
||||
name = "About ExectOS"
|
||||
url = "/about-exectos"
|
||||
weight = 11
|
||||
[[menu.main]]
|
||||
parent = "About"
|
||||
name = "FAQ"
|
||||
url = "/faq"
|
||||
weight = 12
|
||||
|
||||
[[menu.main]]
|
||||
name = "Development"
|
||||
weight = 2
|
||||
[[menu.main]]
|
||||
parent = "Development"
|
||||
name = "Architecture"
|
||||
url = "/xtos-architecture"
|
||||
weight = 21
|
||||
[[menu.main]]
|
||||
parent = "Development"
|
||||
name = "Contributing"
|
||||
url = "/contributing"
|
||||
weight = 22
|
||||
[[menu.main]]
|
||||
parent = "Development"
|
||||
name = "Source Code"
|
||||
url = "https://git.codingworkshop.eu.org/xt-sys/exectos"
|
||||
weight = 23
|
||||
|
||||
[[menu.main]]
|
||||
name = "Downloads"
|
||||
weight = 3
|
||||
[[menu.main]]
|
||||
parent = "Downloads"
|
||||
name = "ExectOS"
|
||||
url = "https://artifacts.codingworkshop.eu.org/ExectOS"
|
||||
weight = 31
|
||||
[[menu.main]]
|
||||
parent = "Downloads"
|
||||
name = "ToolChain"
|
||||
url = "https://github.com/xt-sys/xtchain/releases"
|
||||
weight = 32
|
||||
|
||||
[[menu.main]]
|
||||
name = "Discord"
|
||||
url = "https://discord.com/invite/zBzJ5qMGX7"
|
||||
weight = 4
|
||||
|
||||
[[menu.main]]
|
||||
name = "Donate"
|
||||
url = "https://github.com/sponsors/xt-sys/"
|
||||
weight = 5
|
||||
|
||||
[params]
|
||||
defaultKeywords = ["ExectOS", "XT", "XTOS", "efi", "gpl3", "kernel", "nt", "open source", "os", "osdev", "uefi boot", "win32"]
|
||||
defaultDescription = "ExectOS Operating System"
|
||||
|
||||
[taxonomies]
|
||||
author = "author"
|
||||
tag = "tags"
|
46
content/about-exectos.md
Normal file
46
content/about-exectos.md
Normal file
@ -0,0 +1,46 @@
|
||||
+++
|
||||
title = 'About Exectos'
|
||||
date = 2024-06-16T12:12:40+02:00
|
||||
draft = true
|
||||
+++
|
||||
## About
|
||||
ExectOS aims to be a stable and flexible, general purpose operating system written from scratch. It is designed 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 us to implement any
|
||||
environment subsystem to support applications that are strictly written to the corresponding standard (eg. DOS, or POSIX).
|
||||
Thanks to that ExectOS will allow to run existing software, including Win32 applications.
|
||||
|
||||
## Features
|
||||
* Completely free, Open Source and community-driven modern Operating System.
|
||||
* Native multiple architecture support. It runs on x86 and x86_64 and is portable to other architectures.
|
||||
* Uses a couple of ideas from other open source projects, but it’s our own ideas that really sets us apart and defines
|
||||
ExectOS. The majority of code is original, not forked.
|
||||
* Modular design for better compatibility with existing software.
|
||||
* Own, XT drivers for commonly used devices as well as NT drivers compatibility layer for better hardware support.
|
||||
|
||||
## Why
|
||||
* We believe, there is no ideal Operating System on the market. During ExectOS development, we try to bring most useful
|
||||
features known from existing solutions, while keeping compatibility with NT architecture at desired level.
|
||||
* Some of our ideas differ greatly from other projects and it is much easier if we do not have to fight legacy code and
|
||||
ideas.
|
||||
* We need the freedom to break things when necessary.
|
||||
|
||||
## Goals
|
||||
* Keep the greatest advantages of the NT architecture, while implementing new features and technologies known from other
|
||||
Operating Systems.
|
||||
* Flexibility where it makes sense to provide flexibility.
|
||||
* Be able to deliver features that other non-commercial Operating Systems consider too ambitious.
|
||||
|
||||
## 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.
|
97
content/faq.md
Normal file
97
content/faq.md
Normal file
@ -0,0 +1,97 @@
|
||||
+++
|
||||
title = 'Frequently Asked Questions'
|
||||
date = 2024-06-16T12:33:36+02:00
|
||||
draft = true
|
||||
+++
|
||||
## Frequently Asked Questions
|
||||
|
||||
#### What is ExectOS?
|
||||
ExectOS is an open-source, general purpose operating system written from scratch and based on new XT architecture.
|
||||
It aims to be modular, maintainable and compatible with existing software.
|
||||
|
||||
#### What does ExectOS mean? What is the origin of this name?
|
||||
The name 'ExectOS' doesn’t have a specific historical origin, as it appears to be a unique creation for this
|
||||
Operating System. The term 'Exec' within ExectOS directly relates to execution - the act of carrying out tasks,
|
||||
processes, and instructions. In the context of operating system, execution involves managing programs, resources,
|
||||
and system operations. Users should associate ExectOS with streamlined performance and reliability.
|
||||
|
||||
#### What does the ExectOS logo present and what is the relation between the logo and the OS name?
|
||||
The three wavy lines in the ExectOS logo evoke a sense of fluidity and movement. Their arrangement, forms a shape
|
||||
reminiscent of the capital letter ‘E,’ directly corresponding to the initial letter of ExectOS. The flowing waves
|
||||
symbolize dynamism, progress, and forward motion. The smooth curves suggest a seamless user experience, while gradient
|
||||
colors represent diversity and adaptability. All of this convey a message of innovation, user-friendliness, and
|
||||
adaptability. It invites users to explore a new operating system that promises a seamless computing experience.
|
||||
|
||||
#### What architectures does ExectOS support?
|
||||
ExectOS supports the x86_64 (sometimes called AMD64 or EM64T), as well as i686 CPU architectures. However, it requires
|
||||
a modern EFI enabled hardware, thus it is not possible currently to boot ExectOS on a legacy BIOS.
|
||||
|
||||
#### Is ExectOS a Windows replacement?
|
||||
No. ExectOS is a brand new, modern system 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). This means that running Windows applications might be as well possible at
|
||||
some time. However development is mostly focused on providing system core at the moment.
|
||||
|
||||
#### Is ExectOS another Unix based OS?
|
||||
No. ExectOS implements the XT architecture which derives from NT architecture. It is modular, and consists of two main
|
||||
layers: microkernel and user mode. 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.
|
||||
|
||||
#### Does ExectOS allow to use Windows drivers?
|
||||
This is one of our goals. Thanks to the NT drivers compatibility layer provided by ExectOS, you should be able to install
|
||||
and use the same drivers as you can on Windows.
|
||||
|
||||
#### Can I install ExectOS on a pendrive / USB stick?
|
||||
Yes. This is how it is tested on a bare metal (real hardware).
|
||||
|
||||
#### Program X does not work when I launch it. When can I except things to change?
|
||||
It depends. ExectOS is in early development stage and it is not recommended for everyday usage. At this point we cannot
|
||||
guarantee anything.
|
||||
|
||||
#### When will feature X get added?
|
||||
If you think an idea has merit, you may choose to discuss it on [Discord Server](https://discord.com/invite/zBzJ5qMGX7).
|
||||
However, the best way to get a feature added to ExectOS is to implement it yourself.
|
||||
|
||||
#### When will the project be finished?
|
||||
Writing an Operating System is a complex task that requires time. Other popular Operating Systems, such as Linux, are
|
||||
also constantly being developed to meet the everyday users requirements.
|
||||
|
||||
#### Where can I obtain the source code?
|
||||
ExectOS source code can be obtained from GIT repository available [here](https://git.codingworkshop.eu.org/xt-sys/exectos).
|
||||
It can be also found on [GitHub](https://github.com/xt-sys/exectos) and [GitLab](https://gitlab.com/xt-sys/exectos) mirrors.
|
||||
|
||||
#### Where can I download ExectOS?
|
||||
Each ExectOS build, including binaries, disk image, libraries and debug symbols are available [here](https://artifacts.codingworkshop.eu.org/ExectOS/).
|
||||
|
||||
#### How can I contribute to ExectOS?
|
||||
We are looking for C and Assembler developers for core OS development as well as testers. If you are willing to help,
|
||||
please join our [Discord server](https://discord.com/invite/zBzJ5qMGX7) and contact one of ExectOS developers.
|
||||
|
||||
#### Why don't you use GCC?
|
||||
Because GCC is a crap.
|
||||
|
||||
#### Do you have any kind of tests to check if the code is working as expected?
|
||||
We don't need tests. If it compiles, it is good enough; if it boots up, then it is perfect.
|
||||
|
||||
#### Why don't you help Wine?
|
||||
Wine implements Win32Api only, while ExectOS is a featureful Operating System, that implements a compatibility layer with NT.
|
||||
This means, ExectOS will be able to run NT drivers as well, not only Windows software. However, thanks to its modular design,
|
||||
it will be possible to implement Win32 subsystem as well at some point, based on Wine.
|
||||
|
||||
#### Why don't you help ReactOS?
|
||||
ExectOS goals are very different from ReactOS, and contrast the project's core philosophy as being quite on different paths.
|
||||
While ReactOS aims to replicate Windows NT, ExectOS is a completely new Operating System implementing the XT architecture
|
||||
which derives from NT. Although both projects share the goal of being NT compatible, they intend to achieve it in different
|
||||
ways. What ReactOS tries to replicate, ExectOS only implements as a compatibility layer. Thanks to that, ExectOS does not
|
||||
need to strictly follow NT architecture and is capable of providing modern features.
|
||||
|
||||
#### Do you intend to cooperate with ReactOS to achieve common goals?
|
||||
No. We share Wine's opinion on the inappropriate reverse-engineering methods used in the ReactOS project, as well as its
|
||||
association with the TinyKrnl project, which used every possible method of achieving the end result of having a 100%
|
||||
compatible results. This especially applies to the so-called ‘dirty’ way.
|
||||
|
||||
#### Which license does ExectOS use?
|
||||
ExectOS is licensed under the GNU General Public License v3.
|
3
themes/exectos/config.yaml
Normal file
3
themes/exectos/config.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
module:
|
||||
hugoVersion:
|
||||
min: "0.84.0"
|
13
themes/exectos/layouts/_default/baseof.html
Normal file
13
themes/exectos/layouts/_default/baseof.html
Normal file
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
{{- partial "head.html" . -}}
|
||||
<body>
|
||||
{{- partial "header.html" . -}}
|
||||
<div class="wrapper_content">
|
||||
<div class="content">
|
||||
{{- block "main" . }}{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
{{- partial "footer.html" . -}}
|
||||
</body>
|
||||
</html>
|
10
themes/exectos/layouts/_default/list.html
Normal file
10
themes/exectos/layouts/_default/list.html
Normal file
@ -0,0 +1,10 @@
|
||||
{{ define "main" }}
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ range .Pages.ByPublishDate.Reverse }}
|
||||
<h3><a class="title" href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||
{{ partial "metadata.html" . }}
|
||||
<a class="summary" href="{{ .RelPermalink }}">
|
||||
<p>{{ .Summary }}</p>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
12
themes/exectos/layouts/_default/script.html
Normal file
12
themes/exectos/layouts/_default/script.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
{{- partial "head.html" . -}}
|
||||
<body>
|
||||
{{- partial "header.html" . -}}
|
||||
<div id="content">
|
||||
{{- block "main" . }}{{- end }}
|
||||
</div>
|
||||
{{- partial "footer.html" . -}}
|
||||
{{- partial "script.html" . -}}
|
||||
</body>
|
||||
</html>
|
6
themes/exectos/layouts/_default/single.html
Normal file
6
themes/exectos/layouts/_default/single.html
Normal file
@ -0,0 +1,6 @@
|
||||
{{ define "main" }}
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ partial "metadata.html" . }}
|
||||
<br><br>
|
||||
{{ .Content }}
|
||||
{{ end }}
|
9
themes/exectos/layouts/partials/footer.html
Normal file
9
themes/exectos/layouts/partials/footer.html
Normal file
@ -0,0 +1,9 @@
|
||||
<div class="wrapper_footer">
|
||||
<div class="footer">
|
||||
<div class="footer-left">
|
||||
Copyright© 2017 - 2024, CodingWorkshop
|
||||
</div>
|
||||
<div class="footer-right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
9
themes/exectos/layouts/partials/head.html
Normal file
9
themes/exectos/layouts/partials/head.html
Normal file
@ -0,0 +1,9 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="/favicon.png" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/style.css">
|
||||
<meta http-equiv="Content-type" content="application/xhtml+xml;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
|
||||
<title>{{ $title := print .Site.Title " | " .Title }}{{ if .IsHome }}{{ $title = .Site.Title }}{{ end }}{{ $title }}</title>
|
||||
</head>
|
19
themes/exectos/layouts/partials/header.html
Normal file
19
themes/exectos/layouts/partials/header.html
Normal file
@ -0,0 +1,19 @@
|
||||
<div class="wrapper_header">
|
||||
<div class="header">
|
||||
<h1><a href="{{ .Site.BaseURL }}"><img src="" alt="{{ .Site.Title }}" /></a></h1>
|
||||
<ul>
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if .HasChildren }}
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ .Name }}<span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
{{ range .Children }}
|
||||
<li><a href="{{ .URL }}">{{ .Pre }}{{ .Name }}{{ .Post }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ else }}
|
||||
<li><a href="{{ .URL }}"><b>{{ $text := print .Name | safeHTML }}{{ $text }}</b></a></li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
0
themes/exectos/layouts/partials/metadata.html
Normal file
0
themes/exectos/layouts/partials/metadata.html
Normal file
149
themes/exectos/static/css/style.css
Normal file
149
themes/exectos/static/css/style.css
Normal file
@ -0,0 +1,149 @@
|
||||
html {
|
||||
color : #333333;
|
||||
background-color : #FFFFFF;
|
||||
margin : 0;
|
||||
padding : 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family : "trebuchet ms", "verdana", sans-serif;
|
||||
margin : 0;
|
||||
padding : 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-top : 8px;
|
||||
padding : 1px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
border-bottom : 1px solid #8877FF;
|
||||
margin-left : -1em;
|
||||
margin-right : -1em;
|
||||
}
|
||||
|
||||
img {
|
||||
border : 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-left : 25%;
|
||||
margin-right : 25%;
|
||||
margin-top : 2.5em;
|
||||
}
|
||||
|
||||
.content li {
|
||||
list-style-type : square;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
color : #404040;
|
||||
font-family : sans-serif, Verdana, Arial, Helvetica;
|
||||
font-size : 10px;
|
||||
text-align : center;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
.copyright a {
|
||||
color : #404040;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
.copyright a:hover {
|
||||
color : #404040;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
.header {
|
||||
background : #bee0ff;
|
||||
border-bottom : 2px solid #186196;
|
||||
color : #186196;
|
||||
clear : both;
|
||||
padding-left : 1em;
|
||||
padding-top : 0.5em;
|
||||
}
|
||||
|
||||
.header a {
|
||||
border : 2px solid transparent;
|
||||
color : #186196;
|
||||
padding-left : 10px;
|
||||
padding-right : 10px;
|
||||
padding-top : 1px;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
.header li a:before {
|
||||
content: "\00BB ";
|
||||
color: #186196;
|
||||
}
|
||||
|
||||
.header a:hover {
|
||||
color : #000055;
|
||||
padding-left : 10px;
|
||||
padding-right : 10px;
|
||||
padding-top : 1px;
|
||||
}
|
||||
|
||||
.header li {
|
||||
display : inline;
|
||||
margin-left : 2em;
|
||||
}
|
||||
|
||||
.header ul {
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
text-align : left;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background : #FFFFFF;
|
||||
color : #000000;
|
||||
clear : both;
|
||||
font-family : sans-serif, verdana, Helvetica;
|
||||
font-size : 12px;
|
||||
margin-left : 10px;
|
||||
margin-top : 0.4em;
|
||||
padding : 0;
|
||||
width : 100%
|
||||
}
|
||||
|
||||
.footer-left {
|
||||
position : absolute;
|
||||
text-align : left;
|
||||
width : 50%;
|
||||
}
|
||||
|
||||
.footer-right {
|
||||
left : 50%;
|
||||
position : absolute;
|
||||
text-align : right;
|
||||
width : 50%;
|
||||
}
|
||||
|
||||
.wrapper_content {
|
||||
margin-bottom : 2.5em;
|
||||
padding : 6em 0 0 0;
|
||||
}
|
||||
|
||||
.wrapper_header {
|
||||
background : #FFFFFF;
|
||||
color : #000000;
|
||||
height : 6em;
|
||||
left : 0;
|
||||
position : absolute;
|
||||
position : fixed;
|
||||
top : 0;
|
||||
width : 100%;
|
||||
}
|
||||
|
||||
.wrapper_footer {
|
||||
background : #FFFFFF;
|
||||
border-top : 2px solid #186196;
|
||||
bottom : 0;
|
||||
color : #000000;
|
||||
height : 1.5em;
|
||||
left : 0;
|
||||
position : absolute;
|
||||
position : fixed;
|
||||
width : 100%
|
||||
}
|
10
themes/exectos/theme.toml
Normal file
10
themes/exectos/theme.toml
Normal file
@ -0,0 +1,10 @@
|
||||
name = "ExectOS"
|
||||
license = "GPLv3"
|
||||
licenselink = "https://www.gnu.org/licenses/gpl-3.0.html"
|
||||
description = "ExectOS Theme"
|
||||
homepage = "https://exectos.eu.org"
|
||||
languageCode = "en-us"
|
||||
min_version = "0.1.0"
|
||||
|
||||
[author]
|
||||
name = "Rafal Kupiec"
|
Loading…
Reference in New Issue
Block a user