diff options
Diffstat (limited to '00_blog/00110_Fool-Operating-System/index.md')
| -rw-r--r-- | 00_blog/00110_Fool-Operating-System/index.md | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/00_blog/00110_Fool-Operating-System/index.md b/00_blog/00110_Fool-Operating-System/index.md new file mode 100644 index 0000000..2e25144 --- /dev/null +++ b/00_blog/00110_Fool-Operating-System/index.md @@ -0,0 +1,105 @@ +Fool OS +======= + +Welcome to my little buggy **x86 toy operating** system. +This is a never ending work in progress, motivated solely by my +bottomless curiosity. + +Be warned that most features are unstable and in development. + +## Features v0.2 + +* Booting with Multiboot (Spec. 0.6.96) (e.g. GRUB 2) +* Rudimentary POSIX compilance +* 32-bit protected mode +* Logging to COM1 +* Parsing ACPI (incomplete) and Multiboot Data +* Symmetrical Multiprocessing with LAPIC and IOAPIC +* CMOS Clock/ PIT Timer / APIC Timer +* Seperate GDT and IVT for each CPU +* Paging / Virtual Memory +* Ext2 RAM Disk +* Pipes +* Standard streams (stdin/stdout/stderr) +* PS2 Mouse/Keyboard support +* Multi-threading & Multitasking +* Kernel and Userspace Tasks +* CPU Private Memory +* Support for ELF binaries. +* IRQ Handling Framework +* Finegrained Spinlocks +* Superfast Task Scheduler +* PCI Bus scanning +* Ethernet E1000 PCI Driver +* VESA Framebuffer with fallback to a text-only terminal +* C-library for Userspace (Newlib) +* Simple Network Stack (ARP, IPv4, ICMP, UDP) +* Compositing Window Manager + +## Userspace Ports and Programs + +* Simple Fool-Shell +* Snake Game +* Newlib C library +* ncurses +* ncurses-examples +* vim +* zlib +* libpng +* many more to come... + +## Screenshots + +{}\ +**Booting** the Kernel in frame-buffer mode + +{}\ +**Shell** in text mode. + +{}\ +[click here for full-resolution version of pic above.](foolos2.png)\ +My **Compositing** Window Manager in action. As you see **Fool-OS** ships +with **vim** and some little **ncurses-examples** as well as a +**Brainfuck** interpreter. + +## Videos + +<video controls> + <source src="pipes.mp4" type="video/mp4"> + <source src="pipes.ogv" type="video/ogg"> +Your browser does not support the video tag. + +</video> +Demonstrating the Kernel's **piping** functionality, inside the shell. + +<video controls> + <source src="compositing.mp4" type="video/mp4"> + <source src="compositing.ogv" type="video/ogg"> +Your browser does not support the video tag. + +</video> +Some random **ncurses** programs (from ncurses-examples) running inside **Terminal Emulators**. + +## Git Repository + +* [Fool OS - Git Repository](https://gitweb.softwarefools.com/?p=miguel/fool-os.git) + +## Disclaimer + + THIS IS A NEVER ENDING WORK IN PROGRESS. + + This is a simple and useless "operating system", with a very basic + set of features. It is the fruit of my fundamental explorations of + the x86 architecture and operating system design. + + Copyright 2014,2015,2018 M.Idziorek <m.i@gmx.at>, unless stated + otherwise or forgotten. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. |
