OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 21:34

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 
Autor Zpráva
 Předmět příspěvku: Litos - malý operační systém
PříspěvekNapsal: 04.06.2018, 10:29 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
faraon píše:
...Mimochodem, nebyl by už čas tohle odstřihnout od Vegaslotu do vlastního vlákna PandaDOS? On teda ten Unix původně také vznikl jako počítačová hra...
Pokračování základních úvah o operačním systému pro vývojáře - tj. systém, kde uživatel může spouštět nebezpečné věci (jako DOS program s plným přístupem) a kde může o všem rozhodovat, aniž mu do toho systém stále kecá. :-)

Název, možná RingDOS = zaměření na DOS programy s možností používat ring levely procesoru. Nebo možná zůstanu u svého oblíbeného názvu Litos = Little Operating System. (mé předešlé pokusy: http://litos.wz.cz/index_cz.htm a předtím http://litux.wz.cz/).

Jestli se ukáže nadějné s tím začít, tak pak bych vytvořil samostatné fórum, ať se toto fórum nezanáší rozsáhlejším projektem.

Jaké režimy mohou být potřeba:

1) Malý systém DOS (na úrovni mezi DOS 2 a 3 - aby nezabíral moc paměti), systém i programy jedou v 640 KB paměti, zbytek paměti může být plně pod kontrolou DOS programu. Nebezpečný režim, kdy program může udělat cokoliv, včetně vymazání disku, ale může jet např. MOD speaker přehrávač využívající předefinovaný INT 08.

2) V DOS paměti 640 KB jede několik programů v reálném módu, systém mezi nimi přepíná pomocí INT 8. Tedy jednoduchý časový multitask, kdy programy také mohou převzít plné řízení. Tento mód mi připadá nezajímavý - "lepší" programy by měly málo paměti a slabé programy mohou jet stejně i ve virtuálním módu.

3) DOS program jede v reálném módu, systém sídlí v horní 32-bitové paměti. Program může převzít plné řízení. Systémové funkce se volají přepínáním do protect módu a zpět. Výhoda, že systém může být rozsáhlý a přitom v DOS paměti zabírá jen minimum (jen přepínací funkce, které skáčou do horní paměti). Tento režim jen šetří DOS paměť, ale jinak není až tak moc zajímavý. Multitask DOS programů možný jen ve společné DOS paměti, nic moc výhodného. Volání systémových funkcí je dost pomalé. Je nebezpečí, že program přepíše systém v horní paměti (trochu se dá ošetřit klamavým údajem o velikosti RAM).

4) Virtuální protect mód 32-bitů. Spouštěné DOS programy mají svůj virtuální prostor 640 KB, navzájem na sebe nevidí. Je možný multitask více DOS programů + 32-bitové programy. Nevýhoda - DOS program jede v protect módu a nemůže převzít plné řízení, tedy je to spíš pro běžné DOS aplikace. Program je časově přerušován multitaskem - projeví se např. vrčivým zvukem při přehrávání zvuku přes speaker. V tomto režimu nelze spouštět náročné DOS programy, vyžadující plný přístup.

5) 64-bitový protect mód, lze spouštět pouze 32 a 64-bitové aplikace, nelze spouštět DOS programy ve virtuálním módu (CPU to nepodporuje). DOS programy by případně šlo spouštět pomocí VT-x virtualizace.

update: 6) 32/64-bitový protect mód, kdy má program plné řízení počítače. Může běžet multitask, ale nemusí, o tom může rozhodnout program. V podstatě je to varianta běžného režimu v protect módu, kdy program dostane plná práva systému (podobně jako driver).

Vypustil bych módy 2 a 3 jako nevhodné a nepraktické. Mód 6 je alternativou protect módu s plnými právy. Zbylé 3 módy nelze kombinovat dohromady, což znamená řešení - mít 3 samostatné kernely, mezi kterými lze přepínat (pomocí rychlého rebootování). Tohle připomíná start Win95/98: nejdříve se startuje klasický DOS s 640 KB RAM. Z něj lze spouštět náročnější DOS programy, bez podpory multitasku. Tento základní DOS pak může zavést a spustit 32-bitový extender, ve kterém už může jet několik DOS programů současně, v přepínaných konzolích (jako u Linuxu) a také 32-bitové programy, včetně možnosti okenního manažeru. Ale už tam nemůže jet plný DOS program, dokud se extender neukončí a nevrátí se zpět real DOS. Případně se může spustit 64-bit extender, pro nejnáročnější programy (jede rychleji a není omezený RAM).

Použití - nejspíš tedy by se systém po startu choval jako klasický DOS, ze kterého lze spouštět programy. Přes nějaký příkaz by se dal spustit 32-bitový (nebo 64-bitový) mód, ve kterém se lze přepínat mezi konzolami a v nich spouštět DOS nebo 32-bit programy, případně jedna z konzol by byla okenní manažer, kde by se daly spouštět okenní programy. Na rozdíl od Windows by se dal extender ukončit a jít zpět do plného DOS režimu. V Autoexec by se dalo nastavit, aby se startoval rovnou např. okenní mód.

U dřívějších pokusů o systém jsem uvažoval vypustit možnost swapování paměti na disk, protože to je jedna z nejkomplikovanějších věcí v systému a u novějších PC s dostatkem RAM ani není potřeba (naopak to zpomaluje činnost). Ale teď u tohoto systému, když má jet i na slabším hardware, zvažuji zda to bude nutné. Je to přece jen dost nepříjemná věc to podporovat, systém to dost komplikuje (musí se řešit priority odkládání atd.), ale tady asi nebude moc RAM.

Teoreticky by aplikační rozhraní mohlo být kompatibilní s Linuxem, ale v Linuxu je tak šílený nepořádek (např. katastrofální použití adresářů), že tomu bych se raději obloukem vyhnul. Nějaká možnost kompatibility by mohla být potřeba na to, aby se tam daly dodávat drivery zařízení z Linuxu, příp. z Windows.

No jo ale má tohle vlastně význam, když je to jen klasický přepínač mezi DOS a plným systémem? :-) Možnost výhody bych snad viděl jen v tom, že by se dal udělat systém přehlednější a lidštější než je Linux a přitom méně arogantní než jsou Windows. V obou systémech jsou kvanta nešvarů které by chtělo odstranit, v podstatě v současnosti nevím o systému který bych označil za "dobrý".

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Naposledy upravil Panda38 dne 04.06.2018, 17:55, celkově upraveno 4

Nahoru
 Profil  
 
PříspěvekNapsal: 04.06.2018, 12:50 
Offline
Profík

Registrován: 18.04.2017, 12:55
Příspěvky: 698
Has thanked: 264 times
Been thanked: 39 times
Mozna RC (retro computing) verzia so swapovanim a pre 32/64bit cpu LS (low specs) bez...

_________________
https://www.8bitbay.com


Nahoru
 Profil  
 
PříspěvekNapsal: 04.06.2018, 13:19 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Mne osobne by sa asi najviac pacil 32bitovy realny rezim. Program by mal k dispozicii linearne adresovanu pamet, ale nie 640kB ale az do 4 GB. Odburalo by to sialeny limit 640kB pricom by programu zostala moznost plnej kontroly nad pocitacom. Kernel by sidlil niekde na nejakych vyhradenych adresach, popr. na 64-bitovych systemoch by mohol byt uplne mimo tychto 4GB a v ramci 4GB by boli len prepinacie funkcie.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Litos - malý operační systém
PříspěvekNapsal: 04.06.2018, 13:34 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Jo na tuhle 32-bit možnost jsem si nevzpomněl, ta by se hodila přidat do seznamu. Operační systém v té chvíli zajistí jen uživatelské rozhraní a pak poskytuje programu služby jen jako knihovna, takový dokonalejší CP/M, bez multitasku. V podstatě tohle odpovídá té verzi s plným kernelem, kdy program získá práva jako systémový driver a může např. zastavit multitask a dělat co chce. Také je potřeba s tímto režimem počítat.

Hm, přemýšlím kolikátý už to mám pokus o vytvoření systému? Asi tak třicátý odhaduji. :-)

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Naposledy upravil Panda38 dne 04.06.2018, 14:11, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku: Re: Litos - malý operační systém
PříspěvekNapsal: 04.06.2018, 14:08 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 28.01.2016, 23:57
Příspěvky: 3756
Has thanked: 213 times
Been thanked: 388 times
Jak pravi stare programatorske porekadlo - nikdy neni cas na dokonceni, ale vzdycky se najde dost casu na novy start :)

_________________
Nikdy nediskutujte s blbcem. Stáhne vás na svoji úroveň a vyhraje zkušeností.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 11 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz