SymbOS | |
---|---|
Vývojář | Symbióza |
Nejnovější verze | 3.1 ( 30. prosince 2021 ) |
Typ jádra | mikrokernel |
Stát | spravované vývojářem |
Webová stránka | symbos.de |
Mediální soubory na Wikimedia Commons |
SymbOS je volně distribuovaný multitaskingový operační systém pro 8bitové spotřebitelské počítače založený na mikroprocesoru Z80 . V současné době existují verze systému pro počítače řady Amstrad CPC , Amstrad PCW a počítače standardu MSX2 . Systém může běžet na originálních, neupravených modelech těchto počítačů. Na rozdíl od raných 8bitových operačních systémů je založen na mikrojádru , které implementuje preemptivní multitasking a až 1024 KB RAM . SymbOS má Windows- jako grafické uživatelské rozhraní má podporu pro pevné disky až do 128 GB .
Přestože je Z80 8bitový procesor, je schopen provozovat operační systém s preemptivním multitaskingem. Nedostatek funkcí, jako je hardwarová ochrana paměti, Z80 je pro operační systém tohoto typu irelevantní. AmigaOS například také postrádá ochranu paměti. Schopnost implementovat multitaskingový systém pro procesor Z80 byla dříve prokázána MP/M OS , ale nebyla dostupná pro spotřebitelské počítače.
Na rozdíl od mikroprocesoru MOS Technology 6502 , jehož zásobník je vždy umístěn v určité oblasti paměti a nelze jej posouvat, umožňuje Z80 libovolně měnit polohu zásobníku v paměti, což je víceméně nutné pro preemptivní multitasking. Přítomnost alternativní sady registrů může výrazně zvýšit rychlost přepínání kontextu mezi úlohami. Limit adresního prostoru Z80 na 64 KB adres lze překonat pomocí technik přepínání bank . Počítače jako Amstrad CPC a PCW , MSX , Enterprise nebo SAM Coupé tak mohou zpracovat stovky nebo tisíce kilobajtů paměti.
SymbOS má mikrokernel, který implementuje základní funkce operačního systému. Tyto funkce se dělí na správu úloh, správu paměti, správu paměťové banky a systém zpráv.
Pro řízení úkolů byla zvolena kombinace preemptivního a kooperativního multitaskingu, což umožňuje implementovat systém priorit pro různé úkoly. Preemptivní multitasking znamená, že úkoly mohou být po určité době přerušeny operačním systémem, aby přidělil čas CPU jiným úkolům. Kooperativní multitasking znamená, že úloha přestane používat CPU sama o sobě. To se stane, když úkol dokončil aktuální práci nebo čeká na nějakou zprávu. Tato kombinace umožňuje stanovení priorit. Úlohy s nízkou prioritou přijímají čas procesoru pouze v době, kdy jsou všechny úlohy s vyšší prioritou nečinné.
Správce paměti rozděluje celé množství paměti RAM do malých bloků o velikosti 256 bajtů, které lze dynamicky přiřazovat. Aplikace vždy běží v druhé bance 64KB RAM, kterou nevyužívá samotný operační systém ani videopaměť. To vám umožní alokovat souvislé bloky paměti až do 63 KB.
Systém správy banky umožňuje operačnímu systému spravovat paměť větší než půl megabajtu i přes to, že adresní prostor procesoru Z80 je omezen na 16bitovou adresovou sběrnici. Banky poskytují transparentní přístup k paměti a funkcím umístěným v dalších možných 64 kilobajtových bankách.
Komunikace mezi různými úkoly a operačním systémem se obvykle provádí prostřednictvím "zpráv" spíše než přímých volání funkcí. V prostředí multitaskingu je to nezbytné, aby se předešlo organizačním problémům se zásobníkem, globálními proměnnými a sdílenými systémovými prostředky.
Grafické uživatelské rozhraní SymbOS je zcela objektově orientované. Vypadá a působí jako Microsoft Windows. Má dobře známý hlavní panel, hodiny a nabídku „START“. Současně lze otevřít až 32 oken a lze je přesouvat a měnit jejich velikost. Každé okno může mít až 1000 ovládacích prvků. Protože je celý systém napsán výhradně v jazyce symbolických instrukcí, rozhraní je relativně rychlé, dokonce i ve srovnání s moderními systémy, jako je Amiga 's Intuition .
Obsah oken je definován ovládacími prvky, což jsou základní prvky rozhraní, jako jsou posuvníky, přepínače, řádky textu, tlačítka nebo grafika. Pozadí nebo neviditelné oblasti oken není nutné ukládat do speciální vyrovnávací paměti. Pokud je třeba oblast překreslit, její obsah se zcela překreslí. Díky tomu je SymbOS GUI méně náročné na paměť než většina ostatních 8bitových GUI.
SymbOS podporuje souborové systémy CP/M , AMSDOS , FAT12 , FAT16 a FAT32 pro všechny platformy. V případě FAT32 může systém adresovat úložná zařízení až do 128 GB. Zároveň je možné pracovat se soubory až do velikosti 2 GB, což je u 8bitových systémů neobvyklé. Díky podpoře FAT je komunikace s ostatními počítači velmi snadná, protože většina 32 a 64bitových operačních systémů podporuje všechny tři uvedené systémy souborů FAT.
Pro systém SymbOS existuje několik standardních aplikací, většinou připomínajících své známé protějšky ve Windows a MacOS. Například SymCommander ( Norton Commander ), SymPlay ( QuickTime ), SymAmp ( Winamp ) nebo hra Hledání min .
SymbOS byl původně vyvinut pro Amstrad CPC. Ale díky modulární organizaci s jasným oddělením mezi jádrem a komponentami specifickými pro platformu lze portování systému na jiné počítače založené na Z80 provést velmi snadno.
Podpora pro počítače MSX (počínaje MSX2) byla přidána v létě 2006. Je také možné vytvářet verze pro počítače Enterprise 128 , Amstrad PCW a SAM Coupe a také klony ZX-Spectrum jako ATM-turbo 2+ a ZX-Evolution , protože jejich schopnosti splňují požadavky SymbOS.
Podle základních konvencí pro operační systém jasné oddělení hardwaru a aplikací prostřednictvím střední vrstvy umožňuje aplikacím SymbOS běžet bez ohledu na typ a konfiguraci počítače a nevyžaduje přizpůsobení těchto aplikací konkrétní hardwarové platformě. . Výjimkou jsou aplikace, které přistupují přímo k hardwaru počítače.
Vývoj SymbOS byl původně experiment, který měl zjistit, zda lze na 8bitovém počítači z roku 1985 implementovat multitaskingový operační systém s grafickým uživatelským rozhraním. Vliv měla i existence operačního systému GEOS , avšak struktura a možnosti SymbOS se tomuto systému nijak nepodobají. Vydání v roce 2006 ukázalo, že takový systém, „Miniaturní Windows“, může existovat na 20 let starém domácím počítači pouze s kvantitativními omezeními. SymbOS je jedním z největších projektů retropočítačového softwaru posledních let. Jedním z cílů projektu bylo poskytnout (i pomocí různých hardwarových rozšíření) možnost organizace procesu práce se systémem podobně jako u moderních PC.