From 0e4810dcfb132bf276a282e25b8523a4009ae08b Mon Sep 17 00:00:00 2001 From: Miguel Date: Sun, 17 Mar 2019 18:14:32 +0100 Subject: rename blog dir --- .../00110_Fool-Operating-System/compositing.ogv | Bin 0 -> 2274335 bytes 00_blog/00110_Fool-Operating-System/foolos0.png | Bin 0 -> 21483 bytes 00_blog/00110_Fool-Operating-System/foolos1.png | Bin 0 -> 234667 bytes 00_blog/00110_Fool-Operating-System/foolos2.png | Bin 0 -> 983676 bytes 00_blog/00110_Fool-Operating-System/index.md | 105 +++++++++++++++++++++ 00_blog/00110_Fool-Operating-System/pipes.ogv | Bin 0 -> 3525223 bytes 6 files changed, 105 insertions(+) create mode 100644 00_blog/00110_Fool-Operating-System/compositing.ogv create mode 100644 00_blog/00110_Fool-Operating-System/foolos0.png create mode 100644 00_blog/00110_Fool-Operating-System/foolos1.png create mode 100644 00_blog/00110_Fool-Operating-System/foolos2.png create mode 100644 00_blog/00110_Fool-Operating-System/index.md create mode 100644 00_blog/00110_Fool-Operating-System/pipes.ogv (limited to '00_blog/00110_Fool-Operating-System') diff --git a/00_blog/00110_Fool-Operating-System/compositing.ogv b/00_blog/00110_Fool-Operating-System/compositing.ogv new file mode 100644 index 0000000..3243f15 Binary files /dev/null and b/00_blog/00110_Fool-Operating-System/compositing.ogv differ diff --git a/00_blog/00110_Fool-Operating-System/foolos0.png b/00_blog/00110_Fool-Operating-System/foolos0.png new file mode 100644 index 0000000..9a897eb Binary files /dev/null and b/00_blog/00110_Fool-Operating-System/foolos0.png differ diff --git a/00_blog/00110_Fool-Operating-System/foolos1.png b/00_blog/00110_Fool-Operating-System/foolos1.png new file mode 100644 index 0000000..9ab199c Binary files /dev/null and b/00_blog/00110_Fool-Operating-System/foolos1.png differ diff --git a/00_blog/00110_Fool-Operating-System/foolos2.png b/00_blog/00110_Fool-Operating-System/foolos2.png new file mode 100644 index 0000000..73d95e0 Binary files /dev/null and b/00_blog/00110_Fool-Operating-System/foolos2.png differ 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 + +![](scale_foolos0.png){}\ +**Booting** the Kernel in frame-buffer mode + +![](scale_foolos1.png){}\ +**Shell** in text mode. + +![](scale_foolos2.png){}\ +[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 + + +Demonstrating the Kernel's **piping** functionality, inside the shell. + + +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 , 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. diff --git a/00_blog/00110_Fool-Operating-System/pipes.ogv b/00_blog/00110_Fool-Operating-System/pipes.ogv new file mode 100644 index 0000000..5120049 Binary files /dev/null and b/00_blog/00110_Fool-Operating-System/pipes.ogv differ -- cgit v1.2.3