summaryrefslogtreecommitdiff
path: root/00_blog/00110_Fool-Operating-System
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2019-03-17 18:14:32 +0100
committerMiguel <m.i@gmx.at>2019-03-17 18:14:32 +0100
commit0e4810dcfb132bf276a282e25b8523a4009ae08b (patch)
treedac6dce820f0a35d9ed7ea7676982a0f86fd0edb /00_blog/00110_Fool-Operating-System
parentad6411e9ec256b03f20b9195e25cb128fe02c628 (diff)
rename blog dir
Diffstat (limited to '00_blog/00110_Fool-Operating-System')
-rw-r--r--00_blog/00110_Fool-Operating-System/compositing.ogvbin0 -> 2274335 bytes
-rw-r--r--00_blog/00110_Fool-Operating-System/foolos0.pngbin0 -> 21483 bytes
-rw-r--r--00_blog/00110_Fool-Operating-System/foolos1.pngbin0 -> 234667 bytes
-rw-r--r--00_blog/00110_Fool-Operating-System/foolos2.pngbin0 -> 983676 bytes
-rw-r--r--00_blog/00110_Fool-Operating-System/index.md105
-rw-r--r--00_blog/00110_Fool-Operating-System/pipes.ogvbin0 -> 3525223 bytes
6 files changed, 105 insertions, 0 deletions
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
--- /dev/null
+++ b/00_blog/00110_Fool-Operating-System/compositing.ogv
Binary files 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
--- /dev/null
+++ b/00_blog/00110_Fool-Operating-System/foolos0.png
Binary files 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
--- /dev/null
+++ b/00_blog/00110_Fool-Operating-System/foolos1.png
Binary files 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
--- /dev/null
+++ b/00_blog/00110_Fool-Operating-System/foolos2.png
Binary files 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
+
+<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.
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
--- /dev/null
+++ b/00_blog/00110_Fool-Operating-System/pipes.ogv
Binary files differ