86 -DOS - 86-DOS

86-DOS
Logo 86-DOS. Svg
86-DOS spuštěný assembler a HEX2BIN (snímek obrazovky) .png
Ukázka relace 86-DOS (simulovaná).
Vývojář Počítačové produkty v Seattlu / Tim Paterson
Napsáno 8086 montážní jazyk
Rodina OS DOS
Pracovní stav Historické, nepodporované
První vydání 1980 ; Před 41 lety ( 1980 )
Poslední vydání 86-DOS 1.10 / červenec 1981 ; Před 40 lety ( 1981-07 )
Marketingový cíl Mikropočítače na bázi S-100 s procesorem 8086
K dispozici v Angličtina
Správce balíčků N/A
Platformy x86
Typ jádra Monolitické jádro
Ovlivněn CP/M
Výchozí
uživatelské rozhraní
Rozhraní příkazového řádku ( COMMAND.COM )
Licence Proprietární

86 -DOS je ukončený operační systém vyvinutý a prodávaný společností Seattle Computer Products (SCP) pro jeho počítačovou sadu na bázi Intel 8086 . Původně známý jako QDOS ( Quick and Dirty Operating System ), název byl změněn na 86-DOS, jakmile SCP začalo licencovat operační systém v roce 1980.

86-DOS sdílel několik svých příkazů s jinými operačními systémy, jako jsou OS/8 a CP/M , což usnadňovalo přenos programů z nich. Jeho rozhraní pro programování aplikací bylo velmi podobné rozhraní CP/M . Systém byl licencován a poté zakoupen společností Microsoft a dále vyvinut jako MS-DOS a PC DOS .

Dějiny

Původy

86-DOS byl vytvořen, protože prodeje počítačové sady Seattle Computer Products 8086 , předvedené v červnu 1979 a dodané v listopadu, stagnovaly kvůli absenci operačního systému. Jediný software, který SCP mohl s deskou prodávat, byl Microsoft Standalone Disk BASIC-86 , který Microsoft vyvinul na prototypu hardwaru SCP. SCP chtělo nabídnout verzi CP/M 8086, kterou Digital Research původně oznámil na listopad 1979, ale bylo odloženo a datum jejího vydání bylo nejisté. Nebylo to poprvé, kdy Digital Research zaostával za vývojem hardwaru; o dva roky dříve bylo přizpůsobení CP/M pro nové formáty disket a pevné disky pomalé . V dubnu 1980 pověřil SCP 24letého Tima Patersona, aby vyvinul náhradu za CP/M-86 .

Použitím příručky CP/M-80 jako reference Paterson modeloval 86-DOS podle své architektury a rozhraní, ale přizpůsoben tak, aby splňoval požadavky 16bitového procesoru Intel 8086 , pro snadnou (a částečně automatizovanou) přenositelnost mnoha existujících zdrojů 8bitové programy CP/M; jejich přenesení do DOSu nebo CP/M-86 bylo asi stejně obtížné a usnadnil to fakt, že Intel již publikoval metodu, která by mohla být použita pro automatický překlad softwaru z procesoru Intel 8080 , pro který byl CP/M navržen , do nové instrukční sady 8086. Současně provedl řadu změn a vylepšení, aby vyřešil to, co považoval za nedostatky CP/M. CP/M informace o systému souborů v mezipaměti v paměti kvůli rychlosti, ale to vyžadovalo, aby uživatel vynutil aktualizaci disku před jeho odebráním; pokud uživatel zapomene, disk se poškodí. Paterson použil bezpečnější, ale pomalejší přístup k aktualizaci disku při každé operaci. Příkaz PIP CP/M , který zkopíroval soubory, podporoval několik speciálních názvů souborů, které odkazovaly na hardwarová zařízení, jako jsou tiskárny a komunikační porty . Paterson zabudoval tato jména do operačního systému jako soubory zařízení , aby je mohl používat jakýkoli program. Svému kopírovacímu programu dal intuitivnější název KOPIE . Místo implementace systému souborů CP/M využil souborový systém FAT ( Standalone Disk BASIC-86's File Allocation Table ) společnosti Microsoft .

V polovině roku 1980 SCP inzerovalo 86-DOS s cenou 95 USD pro majitele desky 1 290 8086 USD a 195 USD pro ostatní. Nabízel schopnost softwaru číst zdrojový kód Zilog Z80 z disku CP/M a přeložit jej do zdrojového kódu 8086 a slíbil, že k vytvoření 8086 binárních souborů je zapotřebí pouze „menší ruční korekce a optimalizace“.

Zájem IBM

V říjnu 1980, IBM se vyvíjel co by se stalo původní IBM Personal Computer . CP/M byl v té době zdaleka nejpopulárnějším operačním systémem a IBM cítila, že potřebuje CP/M, aby mohla soutěžit. Zástupci IBM navštívili Digital Research a diskutovali o licencování s licenční zástupkyní Digital Research Dorothy Kildall (rozenou McEwen), která váhala s podpisem smlouvy o nezveřejnění IBM . Ačkoli NDA byla později přijata, Digital Research nepřijal návrh IBM na 250 000 USD výměnou za tolik kopií, kolik by IBM mohla prodat, a trval na obvyklém plánu založeném na licenčních poplatcích. V pozdějších diskusích mezi IBM a Billem Gatesem Gates zmínil existenci 86-DOS a zástupce IBM Jack Sams mu řekl, aby na to získal licenci.

Tvorba PC DOS

Společnost Microsoft zakoupila nevýhradní licenci pro 86-DOS od Seattle Computer Products v prosinci 1980 za 25 000 USD. V květnu 1981 najala Tima Patersona, aby přenesl systém na počítač IBM PC, který používal pomalejší a levnější procesor Intel 8088 a měl vlastní specifickou rodinu periferií. IBM sledovala vývoj denně a odeslala více než 300 žádostí o změnu, než produkt přijala a napsala k němu uživatelskou příručku.

V červenci 1981, měsíc před vydáním PC, Microsoft koupil všechna práva na 86-DOS od SCP za 50 000 USD. Splňovala hlavní kritéria IBM: vypadalo to jako CP/M a bylo snadné přizpůsobit existující 8bitové programy CP/M, aby běžely pod ním, zejména díky příkazu TRANS, který by překládal zdrojové soubory z instrukcí stroje 8080 až 8086. Microsoft licencoval 86-DOS na IBM a stal se PC DOS 1.0. Tato licence také umožnila společnosti Microsoft prodávat DOS jiným společnostem, což také udělala. Dohoda byla velkolepě úspěšná a SCP později u soudu tvrdil, že Microsoft tajil svůj vztah s IBM, aby levně koupil operační systém. SCP nakonec obdržel vyrovnávací platbu ve výši 1 milion USD.

Spor o duševní vlastnictví

Když zakladatel Digital Research Gary Kildall zkoumal PC DOS a zjistil, že duplikuje programovací rozhraní CP/M, chtěl žalovat společnost IBM, která v té době tvrdila, že PC DOS je její vlastní produkt. Advokát Digital Research však nevěřil, že příslušný zákon je natolik jasný, že by mohl žalovat. Nicméně Kildall konfrontoval IBM a přesvědčil je, aby nabídli CP/M-86 s PC výměnou za uvolnění odpovědnosti.

Podobnost mezi oběma systémy se i nadále šířila polemikou. Asi nejsenzačnější tvrzení pocházel od Jerryho Pournelleho , který řekl, že mu Kildall osobně předvedl, že DOS obsahuje kód CP/M zadáním příkazu v DOSu, který zobrazoval Kildallovo jméno, ale Pournelle tento příkaz nikdy neprozradil a nikdo se nepřihlásil, aby potvrdil jeho příběh. Kniha z roku 2004 o Kildallovi říká, že použil takovou šifrovanou zprávu, aby ukázal, že ostatní výrobci zkopírovali CP/M, ale neříká, že zprávu našel v DOSu; místo toho Kildallova monografie (zdroj knihy) poukazovala na známou podobnost rozhraní. Paterson trvá na tom, že software 86-DOS byl jeho původní dílo, a popřel, že by při jeho psaní odkazoval na kód CP/M nebo jej jinak používal. Poté, co se objevila kniha z roku 2004, žaloval autory a vydavatele za pomluvu . Soud souhrnně rozhodl, že k žádnému hanobení nedošlo, protože tvrzení knihy byla stanoviska založená na výzkumu nebo nebyla prokazatelně nepravdivá.

Porovnání zdrojových kódů CP/M a DOS

V roce 2016 porovnal Bob Zeidman ze společnosti Zeidman Consulting CP/M od společnosti Digital Research Inc. a DOS od Tima Patersona (vývojáře, kterého společnost Microsoft původně objednala, aby napsal DOS), aby určil, zda byl původní zdrojový kód DOS zkopírován z Zdrojový kód CP/M, o kterém se šuškalo už mnoho let.

Pokud se porovnávají příkazy v DOSu a CP/M, shoduje se částečně jen několik z nich. Ve skutečnosti existuje více podobností mezi příkazy DOS a OS/8 než mezi příkazy DOS a CP/M. Důvodem je skutečnost, že všechny tyto příkazy se skládají z anglických slov, která přímo popisují akci, která má být provedena.

Po analýze systémových volání v obou operačních systémech je však zřejmé, že systémová volání DOS byla definitivně zkopírována ze systémových volání CP/M. Vzhledem k množství identických čísel reprezentujících identické funkce je zřejmé, že Tim Paterson při psaní DOSu odkazoval na manuál CP/M.

Zeidmanův závěr je, že DOS nekopíroval žádný kód z CP/M. Značný počet systémových volání však byl zkopírován.

Podle Zeidmana „Digitální výzkum mohl přinést oprávněný nárok na autorská práva vůči společnosti Microsoft za kopírování podstatného počtu systémových volání“. Pokud by tomu tak bylo, „Microsoft mohl tvrdit obranu spravedlivého použití, protože skutečnost, že mnoho systémových příkazů používalo stejná čísla, nesnížilo trh s CP/M“.

Verze

QDOS 0,10 1980-08 Zhruba napůl dokončená verze OS. Implementovalo původní formu Patersonova odvození souborového systému Microsoft FAT . Na rozdíl od dřívějšího 8bitového souborového systému FAT, který byl nalezen v Standalone Disk BASIC-86 , tato varianta již podporovala 12bitové prvky tabulky, snížila počet FAT ze 3 na 2, předefinovala sémantiku některých rezervovaných hodnot klastru a upravil rozložení disku, takže kořenový adresář byl nyní umístěn mezi FAT a datovou oblastí. Paterson také zvýšil předchozí limit délky 9 znaků na 11 znaků, aby podporoval názvy souborů CP/M -styl 8.3 a bloky ovládání souborů . Tato varianta však stále používala 16bajtové položky adresáře, a proto není kompatibilní s tím, co se později v systému MS-DOS/PC DOS stalo známým jako FAT12 . Možná již odesláno.
QDOS 0.11 1980-08 Oprava chyby zásilky.
QDOS/86-DOS 0.2 1980-08 Přidán EDLIN . Přejmenován na 86-DOS do srpna 1980.
86-DOS 0,3 15. listopadu 1980 První verze licencovaná společností SCP společnosti Microsoft.
86-DOS 0,33 1980-12 První verze distribuovaná SCP OEM a Microsoft jako 86-DOS.
86-DOS 0,34 29. prosince 1980 Vyčištěné vydání pro výrobce SCP včetně společnosti Microsoft.
86-DOS 0,42 25. února 1981 Na nepřímý požadavek společnosti IBM (prostřednictvím společnosti Microsoft) se velikost položek adresáře změnila z 16 na 32 bajtů (podobně jako MDOS/MIDAS ) za účelem přidání podpory pro datum poslední změny data (2 bajty) a teoretické velikosti souborů větší než 16 MB (4 bajty), čímž se implementuje nejčasnější forma 12bitového systému souborů FAT logicky plně kompatibilní s tím, co se později v systému MS-DOS/PC DOS stalo známým jako FAT12 . 86-DOS si zachoval schopnost číst svazky zapsané pod staršími verzemi 86-DOS až po MS-DOS 1.14 , zatímco obecné MS-DOS 1.20 / PC DOS 1.1 a vyšší jej již nepodporovaly.
86-DOS 0,56 23. března 1981 Podpora blokování/odblokování disku podle požadavků od 1981-01-15.
86-DOS 0,60 27. března 1981 Soubor DOSIO.ASMnalezený v 86-DOS 1.00 uvádí, že se jedná o „I/O System pro 86-DOS verze 0.60 a novější“.
86-DOS 0,74 15.dubna 1981 Přidány soubory zařízení .
86-DOS 0,75 17. dubna 1981 Oprava chyby.
86-DOS 0,76 23. dubna 1981 Oprava chyby.
86-DOS 0,80 27. dubna 1981 Přidána systémová volání.
86-DOS 1.00 28. dubna 1981 Upravená systémová volání.
86-DOS 1.01 12. května 1981 Oprava chyby.
86-DOS 1.10 21. července 1981 Zakoupeno společností Microsoft a přejmenováno na MS-DOS v letech 1981-07-27, tedy poslední verze se skutečně shodnými čísly verzí 86-DOS a MS-DOS. První verze známá pro implementaci atributu 'skrytý'.
86-DOS 1.14 1981-10/11 Podle Tima Patersona PC DOS 1.0 v zásadě odráží 86-DOS 1.14, jiné zdroje shledávají pravděpodobnější shodu PC DOS 1.0 s MS-DOS/86-DOS 1.10 od 1981-07-21.

Funkce

Příkazy

Následující seznam příkazů je podporován systémem 86-DOS.

Interní příkazy

Externí příkazy

EDLIN

V roce 1982, kdy IBM požádala společnost Microsoft o vydání verze DOS, která byla kompatibilní s jednotkou pevného disku , byl PC DOS 2.0 téměř úplným přepisem DOS, takže do března 1983 zbývalo jen velmi málo z 86-DOS. Nejtrvalejším prvkem 86-DOS byl jeho primitivní řádkový editor EDLIN , který zůstal jediným editorem dodávaným s verzemi Microsoft DOS až do vydání MS-DOS 5.0 z června 1991 , které obsahovalo textový editor uživatelského rozhraní s názvem MS- DOS Editor , založený na QBasic . EDLIN lze stále používat na současných počítačích, protože existuje emulované prostředí DOS až do Windows 10 (32 bitů).

Podporované formáty disků

86-DOS společnosti Seattle Computer Products podporoval souborový systém FAT12 na řadě 8palcových a 5,25palcových disketových jednotek na hardwaru řadiče disket S-100 vyráběných společnostmi Cromemco , Tarbell Electronics a North Star Computers . Western Digital FD1771 založené Cromemco a Tarbell desky podporované měkké-sectored disky jednostranný single hustotou. Podporována byla také deska Tarbell s dvojitou hustotou využívající FD1791 . Později SCP nabídlo pokročilé řadiče disket, jako je řada Disk Master.

86-DOS nevyužil výhody bajtu FAT ID nebo bloku parametrů systému BIOS (BPB), jak to dělají pozdější verze DOS, k rozlišení různých formátů médií; místo toho byla různá písmena jednotek v době kompilace pevně kódována, aby byla spojena s různými fyzickými disketovými mechanikami, stranami a hustotami. To znamenalo, že v závislosti na svém typu musel být disk adresován pod určitým písmenem jednotky, aby byl správně rozpoznán. Tento koncept byl později DRIVER.SYS emulován s větší flexibilitou v systému DOS 3.xa novějších verzích.

Existovaly dvě varianty logického formátu 86bitového 12bitového formátu FAT-původní formát se 16bajtovými položkami adresáře a pozdější formát (od 86-DOS 0,42 ) s 32bajtovými položkami adresáře. Pouze ten druhý je logicky kompatibilní s formátem FAT12 známým od vydání MS-DOS a PC DOS. MS-DOS stále nemůže připojit takové svazky, protože v nepřítomnosti BPB se vrátí zpět k načtení ID FAT v položce FAT pro klastr 0, aby si vybral mezi pevně zakódovanými profily geometrie disku. Ve všech formátech svazku formátovaného v systému MS-DOS, který by jinak podporovaly oba systémy a obvykle také ve všech ostatních formátech, je toto ID umístěno v prvním bajtu logického sektoru 1-to znamená ve druhém sektoru svazku s fyzickým cylindrem -head-sektorová (CHS) adresa 0/0/2 nebo adresa logického blokového adresování (LBA) adresa 1-protože MS-DOS předpokládá jeden vyhrazený sektor, zaváděcí sektor. V systému 86-DOS je oblast vyhrazených sektorů výrazně větší (celé stopy), a proto je prototypové ID FAT 0xFE(a 0xFF) umístěno jinde na disku, což znemožňuje systému MS-DOS jeho načtení, a i kdyby ano, profil pevného disku s ním spojený by tuto větší oblast vyhrazených sektorů pod 86-DOS nebral v úvahu.

Disketová média CP/M 2 byla čitelná prostřednictvím RDCPM .

86-DOS nenabízel žádnou konkrétní podporu pro pevné disky , ale řešení třetích stran ve formě řadičů pevných disků a odpovídající rozšíření systému I/O pro 86-DOS byly k dispozici od společností jako Tallgrass Technologies , takže byly pevné disky přístupné podobně jako superfloppy v mezích velikosti systému souborů FAT12.

Velikost 8 palců 8 palců 8 palců 5,25 palce 5,25 palce
Hustota SD DD DD SD SD
Modulace FM MFM MFM FM FM
Formátovaná kapacita (KB) 250,25 616 1232 90 87,5
Válce (CHS) 77 77 77 40 35
Fyzické sektory / stopa 26 8 8 18 10
Počet hlav 1 1 2 1 1
Užitečné zatížení bajtů / fyzický sektor 128 1024 1024 128 256
Bajty / logický sektor 128 1024 1024 128 256
Logické sektory / cluster 4 1 1 2 1
Vyhrazené logické sektory 52 (2 skladby) 1 1 54 (3 stopy) 30 (3 stopy)
Počet FAT 2 2 2 2 2
Položky kořenového adresáře
(á 32 bajtů, pouze
86-DOS 0,42 a vyšší)
64 (16 sektorů) 96 (3 sektory) 128 (4 sektory) 64 (16 sektorů) 64 (8 sektorů)
Položky kořenového adresáře
(á 16 bajtů)
64 ? ? 64 N/A
Celkem logické sektory 2002 616 1232 720 350
Logické sektory / FAT 6? ? ? ? ?
Skryté sektory 0 0 0 0 0
Pořadí logického sektoru ? ? ? ? ?
Mapování sektorů sektor+/ stopa+ sektor+/ stopa+ sektor+/ hlava+/ stopa+ sektor+/ stopa+ sektor+/ stopa+
První fyzický sektor 1 1 1 1 0
Sektorový index Měkký Měkký Měkký Měkký Tvrdý (10+1)
Typ ovladače Cromemco/Tarbell FD1771 Tarbell FD1791 Tarbell FD1791 Cromemco FD1771 Severní hvězda
ID FAT Ne (FEh) Ne (FEh) Ne (FEh) Ne (FEh) Ne (FEh)
Přítomnost BPB Ne Ne Ne Ne Ne

Různé OEM verze MS-DOS 1.2x a 2.x podporovaly řadu podobných 8.0 i ve formátech disket FAT12, i když ne identické s těmi, které podporuje 86-DOS.

Formáty disků podporované jednou z posledních verzí vyvinutých Timem Patersonem v Microsoftu, MS-DOS 1.25 (březen 1982) pro počítač SCP Gazelle s řadičem SCP nebo řadičem Cromemco 16FDC (ve výchozím nastavení tato verze podporovala pouze kompatibilní s MS-DOS varianty formátů 8,0 ve formátu s jediným vyhrazeným sektorem, ale lze jej postavit tak, aby poskytoval dvě další písmena jednotek pro čtení a zápis disket v předchozím SCP 86-DOS 8.0 ve formátech disků již od 0,42):

Velikost 8 palců 8 palců 8 palců 8 palců 8 palců 5,25  palce 5,25 palce 5,25 palce
Hustota SD SD DD DD DD SD DD DD
Modulace FM FM MFM MFM MFM FM MFM MFM
Formátovaná kapacita (KB) 250,25 (SCP) 250,25 (MS) 616 1232 (SCP) 1232 (MS) 90 160 320
Válce (CHS) 77 77 77 77 77 40 40 40
Fyzické sektory / stopa 26 26 8 8 8 18 8 8
Počet hlav 1 1 1 2 2 1 1 2
Užitečné zatížení bajtů / fyzický sektor 128 128 1024 1024 1024 128 512 512
Bajty / logický sektor 128 128 1024 1024 1024 128 512 512
Logické sektory / cluster 4 4 1 1 1 2 1 2
Vyhrazené logické sektory 52 (2 skladby) 1 1 1 1 54 (3 stopy) 1 1
Počet FAT 2 2 2 2 2 2 2 2
Položky kořenového adresáře
(á 32 bajtů)
64 (16 sektorů) 68 (17 sektorů) 96 (3 sektory) 128 (4 sektory) 192 (6 sektorů) 64 (16 sektorů) 64 (4 sektory) 112 (7 sektorů)
Celkem logické sektory 2002 2002 616 1232 1232 720 320 640
Logické sektory / FAT 6? 6 1 ? 2 4 1 1
Skryté sektory 0 0 0 0 0 0 0 0
Celkový počet klastrů ? 497 ? ? 1227 ? 313 315
Pořadí logického sektoru ? ? ? ? ? ? ? ?
Mapování sektorů sektor+/ stopa+ sektor+/ stopa+ sektor+/ stopa+ sektor+/ hlava+/ stopa+ sektor+/ hlava+/ stopa+ sektor+/ stopa+ sektor+/ stopa+ sektor+/ hlava+/ stopa+
První fyzický sektor 1 1 1 1 1 1 1 1
Sektorový index Měkký Měkký Měkký Měkký Měkký Měkký Měkký Měkký
Typ ovladače Cromemco / Tarbell FD1771 Cromemco / Tarbell FD1771 Tarbell FD1791  / FD1793 Tarbell FD1791 / FD1793 Tarbell FD1791 / FD1793 Cromemco 4FDC FD1771 SCP / Cromemco 16FDC SCP / Cromemco 16FDC
ID FAT FEh FEh FEh FEh FEh FEh FEh FFh
Přítomnost BPB Ne Ne Ne Ne Ne Ne Ne Ne

V roce 1984 vydala společnost Seattle Computer Products OEM verzi MS-DOS 2.0 pro počítač SCP S-100 s disketovým ovladačem SCP-500 Disk Master. Přidala podporu pro 5,25 ve formátech DD/1S (180 KB) a DD/2S (360 KB) FAT12 a podporovala i starší formáty, i když možná s některými parametry upravenými ve srovnání s MS-DOS 1.25 .

Viz také

Poznámky

Reference

Další čtení

externí odkazy