Vyšlo v týdeníku CHIPweek č. 30/95, 22. listpadu 1995
Vytištěno z adresy: http://www.earchiv.cz/a95/a530k300.php3

REAL/32: 32-bitový, víceuživatelský, real-time .... ale stále ještě DOS!

Hledáte vhodnou platformu pro víceuživatelskou aplikaci, pracující v režimu host/terminál? Pak nejste odkázáni jen na obvyklý Unix, či snad na obstarožní operační systémy vysloužilých střediskových počítačů. Máte ještě jednu možnost: víceuživatelský DOS. Nyní již v plně 32-bitové verzi, s podporou práce v reálném čase, s podporou DPMI, s možností provozovat MS Windows, s přístupem k serverům Novell NetWare a s dalšími vymoženostmi.

Historie operačního systému DOS je téměř celou odbornou veřejností vnímána jako historie softwarového produktu jménem MS DOS, od firmy Microsoft. Jako historie produktu, který již odchází do penze (jsa odstaven novými Windows 95), ale který se za celý svůj životní cyklus nedokázal vyrovnat s dětskými nemocemi, které dostal do vínku již při svém spěšném až překotném zrození - s neschopností podporovat multitasking, s malou výkonností, s nereentrantností, s existencí nedokumentovaných funkcí, se svou neschopností pracovat v reálném čase atd. Již mnohem méně se ale ví, že vedle MS DOSu existovala i téměř identická větev PC DOSu firmy IBM, a poněkud samostatnější větev DR DOS-u, která odumřela se svým posledním výhonkem, systémem Novell DOS. A už skoro vůbec se neví o tom, že vedle těchto jednouživatelských a jednoúlohových mohykánů existuje i víceuživatelská vývojová větev DOSu. Větev, jejíž kořeny sahají ještě hlouběji než kořeny „klasického" MS DOSu, a to až k operačnímu systému CP/M a jeho víceuživatelským verzím MP/M a Concurrent M/PM firmy Digital Research. Řízením osudu ale v souboji o základní operační systém rodících se počítačů PC vyhrál nikoli již dobře zavedený operační systém CP/M, ale zcela neznámý, odněkud z šuplíku vytažený a narychlo dodělaný DOS.

Víceuživatelská větev DOSu tedy vzklíčila ještě v podhoubí osudem zatraceného systému CP/M, ale záhy přestoupila i ona na pravou víru DOSu, a stala se DOS-kompatibilní. Světlo světa tak spatřil Concurrent DOS jako první víceuživatelská verze kompatibilní s MS DOSem, a posléze se dočkala i dvou dalších vývojových stupňů (Concurrent DOS XM a Concurrent DOS 386). Dalším vývojovým stupněm pak byl produkt Multiuser DOS, stále ještě od firmy Digital Research. Prapor dalšího vývoje však od firmy Digital Research (později odkoupené firmou Novell) převzaly a dále třímají tři menší firmy. Z nich se v našem okolí i přímo u nás nejvíce prosadila britská firma IMS (Intelligent Micro Systems), která po verzi IMS Multiuser DOS 7.0 nyní přichází na trh s radikálnější obměnou víceuživatelského DOSu - s plně 32-bitovým systémem, s příznačným jménem REAL/32.

Co si ale vlastně představit pod pojmem „víceuživatelský DOS"? Nejde tak trochu o popření přívlastkem? A k čemu je něco takového dobré?

Pravdou je, že MS DOS měl docela pádný důvod proč nepodporovat více uživatelů - byl určen pro osobní počítače, které stejně měly jen jeden jediný ekvivalent terminálu: svůj monitor a klávesnici. Umožnit současnou práci více uživatelům v prostředí víceuživatelského DOSu proto znamená připojit k osobnímu počítači další terminály - ať již jednoúčelové znakové terminály, stejné či obdobné jako u Unixových počítačů či počítačů střediskových, nebo jednoduchá PC-čka, vystupující v roli emulovaných terminálů. Nový REAL/32 umožňuje připojit k jednomu „centrálnímu" počítači PC celé hejno takovýchto terminálů (standardně přes sériové rozhraní RS-232-C). Sám jich podporuje až 82, ale jejich počet je obvykle omezen spíše počtem existujících sériových rozhraní RS-232-C (typicky realizovaných tzv. multiportovými kartami). Uživatelé těchto terminálů jsou ale obvykle odkázáni jen na práci v textovém režimu, v lepším případě na CGA grafiku. Možnost lepší grafiky (v režimu VGA) jinde než na konzoli „centrálního počítače" pak sice také existuje, ale je vázána na použití speciálních grafických terminálů.

Další, co obyčejnému DOSu chybí do „víceuživatelskosti" je pojem uživatele jako takového, a dále mechanismy ochrany a sdílení, a mechanismy umožňující definovat přístupová práva. REAL/32 řeší tyto otázky do značné míry podobně jako Unix. Na rozdíl od Unixu je však plně kompatibilní s „obyčejným" MS DOSem, což mj. znamená, že by pod ním měly běžet obecně všechny aplikace, psané pro jednouživatelský DOS. Pro správné pochopení podstaty víceuživatelského DOSu je vhodné si jej představit jako jistou obdobu tzv. zborcené páteře (collapsed backbone), která je dnes tak populární v lokálních počítačových sítích. Zde však jde spíše o „zborcenou síť" serverového typu, v rámci které se server i všechny pracovní stanice „zbortily" do jediného bodu, přesněji do jediného centrálního počítače, na kterém běží právě víceuživatelský DOS. Soubory, které má na svých discích, jsou v závislosti na nastavení přístupových práv „viditelné" a přístupné jednotlivým uživatelům, čímž je vlastně realizována funkce file serveru. Z toho pak vyplývá i způsob provozování jednotlivých aplikací: tyto jsou (jako soubory) umístěny na společně přístupné části disku, a jednotliví uživatelé (kteří k ním mají přístupová práva) si je přímo odsud mohou spouštět - všechny aplikace, spuštěné všemi uživateli víceuživatelského DOSu, přitom běží na jednom a témže procesoru „centrálního" počítače, a stejně tak sdílí i všechny ostatní zdroje tohoto počítače (například jeho operační paměť). Jednotliví uživatelé přitom mohou mít k dispozici i své vlastní „domovské" adresáře, do kterých si například mohou ukládat své konfigurační soubory či dočasné pracovní soubory.

Z hlediska přístupu k souborům a jejich sdílení lze tedy nasazení víceuživatelského DOSu přirovnat k situaci, ve které se nachází uživatelé lokálních sítí serverového typu (například sítí Novell NetWare, sítí na bázi PC NFS s Unixovými file servery apod.). Významný rozdíl je ale v tom, že víceuživatelský DOS zde zajišťuje nejen funkci file serveru, ale i funkci tzv. aplikačního serveru - tj. nefunguje jen jako pouhý depozitář souborů, ale přímo na něm mohou být provozovány i jednotlivé aplikace. Operační systém Unix toto samozřejmě nabízí také, a o jeho výkonnosti i dalších přednostech oproti víceuživatelskému DOSu asi není třeba pochybovat. Na druhé straně má ale i víceuživatelský DOS jako platforma pro aplikační server své významné přednosti: napsat novou aplikaci pro DOS je většinou mnohem jednodušší, než napsat stejnou aplikaci pro Unix. Také znalost DOSu je v našich končinách mnohem rozšířenější než znalost Unixu, takže i příslušný odborník zřejmě bude snáze k sehnání (a také asi nebude tak drahý). Přesně stejné výhody pak má víceuživatelský DOS například i vůči síťovému operačnímu systému Novell NetWare (kde se případné aplikace musí programovat ve formě NLM modulů).

Jako aplikační platforma nabízí nový REAL/32 plně 32-bitový kernel, schopný práce v reálném čase. Jeho multitasking funguje na principu preempce (tj. jde o tzv. preemptivní multitasking). Dále je tento kernel vybaven rozhraním API, které umožňuje snadné psaní aplikací „šitých na míru" víceuživatelskému prostředí. Podporováno je i rozhraní DPMI i paměti EMS. Zásadní změnou oproti předchozí verzi (kterou byl IMS Multiuser DOS 7.0) je podpora MS Windows (konkrétně Windows 3.1 i Windows for Workgroups 3.11). Ty je možné provozovat v tzv. Enhanced režimu i režimu Standard (sám REAL-32 pracuje v 32-bitovém protected módu). Chybí však podpora pamětí XMS, a stejně tak nejsou podporovány Windowsovské ovladače VxD. Připravována je i podpora nových Windows 95 i Windows NT. Velká pozornost je samozřejmě věnována sériovým komunikacím a nejrůznějším rozšiřujícím kartám s vícenásobnými sériovými porty. Jako součást systému REAL/32 je dodáván i náhradní ovladač sériových portů pro MS Windows (COMM.DRV).

Pokud jde o schopnost spolupráce s jinými platformami v prostředí lokálních sítí, podobně jako u předchozích verzí víceuživatelského DOSu je podporována spolupráce se sítěmi Novell NetWare. tentokráte ale již nikoli pouze přes tzv. dedikované IPX ovladače, které mezitím přestala podporovat i samotná firma Novell. Nyní je možné využít ovladačů ODI. Jelikož ale tyto byly navrženy pouze pro jednouživatelské prostředí, museli tvůrci víceuživatelského DOSu poněkud přepracovat některé systémové části těchto ovladačů (související zejména s modulem LSL). V důsledku toho je pak poněkud omezeno využití těchto ovladačů oproti běžnému jednouživatelskému prostředí - je možné k nim „připojit" pouze přenosové protokoly IPX/SPX Novellských sítí, ale nikoli již jiné přenosové protokoly (například TCP/IP) - ale i na této možnosti se prý pracuje. Díky podpoře ODI ovladačů, byť s výše uvedeným omezením, je ale například možné používat síťový klientský software na bázi modulů VLM.

Závěrem malé zamyšlení nad tím, pro koho a pro co je nový REAL/32 vhodný a použitelný. Zcela jistě nejde o produkt, který by mohl mít ambice ovládnout trh operačních systémů či úspěšně konkurovat existujícím aplikačním platformám jako je Unix či Windows NT. Na druhé straně může přijít velmi vhod někomu, kdo hledá cenově nenákladnou aplikační platformu pro víceuživatelské prostředí, kdo má znalostní i vývojové zázemí v „klasickém" jednouživatelském DOSu a MS Windows, a nechce investovat do nových vývojových prostředků a dlouze přeškolovat své odborníky či shánět a platit nové.