Projekt MikeOS to bardzo prosty system operacyjny, który powstał w celu pokazania jak działa i jak jest napisany mały, lecz użyteczny OS.
Jak opisuje autor projektu, Mike Saunders, jest to jedynie narzędzie do nauki budowy systemów, nie nadaje się on do codziennego użytkowania.
Kod źródłowy jest udostępniony na licencji zbliżonej do BSD, co oznacza, że można wprowadzać do niego własne modyfikacje lub nawet wydać swoją własną dystrybucję.

Najpierw kilka informacji technicznych: kod systemu jest napisany w czystym, 16-bitowym assemblerze na platformę x86.
Warto zaznaczyć, że jądro MikeOS działa w trybie rzeczywistym procesora bez segmentacji, co oznacza, że pisząc własny program pod tę platformę
mamy do dyspozycji nie 640KB pamięci RAM, lecz tylko jeden segment pamięci - 64KB RAM. Mimo to, nikt nie zabroni nam zaadresować wyższej pamięci
na potrzeby naszej aplikacji :)

Ciekawostką jest, że na MikeOS można uruchomić niektóre proste programy pisane docelowo pod system DOS (szczególnie te z rozszerzeniem .COM).
Aplikacje uruchomią się, jeżeli nie korzystają z przerwania 21h, które w systemie jest nieobecne.

Obraz systemu (obraz dyskietki, obraz płyty, obraz do nagrania na pendrive) można pobrać ze strony:
http://mikeos.sourceforge.net. Po utworzeniu bootowalnego nośnika,
uruchamiamy wirtualną maszynę albo bootujemy z niego komputer.

Środowisko MikeOS

Na ekranie komputera zostaje wyświetlony "interfejs użytkownika" systemu, a raczej bardzo prosta lista plików. Pliki o rozszerzeniach:
.BIN, .BAS oraz .COM mogą zostać wykonane. Na starcie mamy do dyspozycji niewielki zbiór różnych programów,
m.in. menedżer plików, edytor tekstu, program do komunikacji przez port szeregowy COM, edytor pamięci RAM, kalkulator i wiele innych,
w tym kilka prostych gier.

Dołączone programy:

Menedżer plików

Program do zarządzania plikami oferuje podstawowe funkcje, takie jak: usuwanie, kopiowanie, zmiana nazwy plików, a także umożliwia wyświetlanie
informacji o nich i o partycji.

Fisher

Fisher - chyba moja ulubiona gra dostępna w domyślnej dystrybucji MikeOS. Strzałkami sterujemy wędką, którą możemy opuszczać w górę i w dół.
Celem jest złapanie na haczyk jak największej ilości rybek, za które otrzymujemy punkty (na obrazku powyżej znajduje się punktacja).
Wszystko byłoby proste, gdyby nie to, że tracimy haczyk ("życie"), gdy coś uderzy w linkę.

Przykładowy obrazek PCX - wyświetlony przez MikeOS ;)

Za pomocą programu VIEWER.BIN możemy odczytywać pliki tekstowe, .TXT oraz .BAS (kod źródłowy Basic), a także obrazki w formacie PCX.

Prosty kalkulator

Na dołączonym kalkulatorze całki nie policzymy, ale zaawansowane obliczenia, jakimi są pola figur i owszem :D

Wiersz poleceń

Domyślny interfejs użytkownika nie jest jedynym dostępnym. Gdy wyjdziemy z niego, ukaże nam się prosta konsola umożliwiająca otwieranie programów,
proste operacje na plikach.

Edytor pamięci RAM

Dołączony MEMEDIT.BAS pozwala na edycję pamięci RAM w czasie rzeczywistym. Jest to dość funkcjonalny program, szczególnie dla programistów.
Dla zwykłych "użyszkodników" może posłużyć jako narzędzie do szybkiego uszkodzenia systemu :)

Gry dostępne w dystrybucji:

Gra: Muncher

Muncher może przypominać klasycznego Snake'a, lecz rozgrywka wygląda trochę inaczej - poruszamy się kratką (hashem) '#' i zbieramy jabłka '@'.
Dotknięcie pola z 'X' kończy grę.

Gra: Sudoku

Nie mogło oczywiście zabraknąć Sudoku :) Any words needed?

Gra: Cosmic Flight

Kierujemy statkiem kosmicznym, omijając złą energię (czerwone obiekty) i zbierając dobrą (zielone obiekty). Zebrana energia jest zużywana przez bronie,
które dostajemy co jakiś czas (można ich użyć spacją). Warto zaznaczyć, że wraz z iloscią zdobytej energii gra staje się trudniejsza.

Gra tekstowa: Adventure

Przygodowa gra opisowa, rodem z początków historii gier komputerowych :).

MikeOS to mój ulubiony mini-OS. Jest bardzo prosty zarówno od strony technicznej, jak i wizualnej.
Mimo to, stanowi on bardzo dobry przykład jak może wyglądać samodzielnie napisany, prosty system operacyjny. Czy znacie jeszcze
jakieś OSy tego rodzaju? Jeżeli tak, napiszcie w komentarzu, co mogłoby być tematem kolejnego artykułu :). Na tym kończę pisać
ten post i wracam do łowienia rybek w Fisherze ^.^ .

Paweł Firlej.