86 -DOS - 86-DOS
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 |
Poslední vydání | 86-DOS 1.10 / červenec 1981 |
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.ASM nalezený 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
- PRŮHLEDNÁ
- KOPÍROVAT
- DIR
- VYMAZAT
- PŘEJMENOVAT
- TYP
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í
- 86 -DOS - Diskový operační systém pro 8086 - Příručka programátora (PDF) . Verze 0.3 (Předběžná edice). Seattle, Washington, USA: Seattle Computer Products, Inc. 1980. Archivováno z originálu (PDF) na 2019-06-23 . Citováno 2011-09-13 . (41 stran)
externí odkazy
- Dokumentace 86-DOS od společnosti Paterson Technology
- Spusťte SCP 86-DOS 1.0 v simulátoru Altair 8800 SIMH od Howarda M. Harteho