Gary A. Kildall | The History of CP/M | Dr. Dobb's Journal of Computer Calisthenics & Orthodontia |
Jan 1980 |
Psal se rok 1973...
Seděl jsem tiše u svého stolu, když do mé kanceláře v Intelu přispěchal Masatoši Šima a požádal mě, abych ho následoval do jeho laboratoře na konci chodby. Uprostřed jeho pracovního stolu, mezi typickým shlukem propojek, osciloskopů a multiměřičů, seděl binokulární mikroskop se sondami na pavoučích nohách, které všechny podrobovaly nepatrný kousek křemíku zkoumání. Se zvláštním zájmem jsem si mikroskopem prohlížel pravidelné obrazce. Jako konzultant jsem měl za úkol navrhovat a vyvíjet určité softwarové nástroje pro společnost Intel. Jedním z nich byl Interp/80, program, který simuloval nově vyvinutý mikroprocesor Intel 8080, který měli zákazníci Intelu používat v systémech s časovým sdílením. Když jsem hledal nějakou rozpoznatelnou věc, doufal jsem, že se moje simulace podobá fungování prvního čipu 8080 od Shimy, který nakonec přišel na svět.
Můj návrh společnosti Intel byl jednoduchý: Chtěl jsem jim poskytnout jazyk PL/M, který by nahradil seriózní systémové programování v assembleru. Kompilátor by byl nejprve napsán v jazyce FORTRAN pro práci na počítačích s časovým sdílením a "křížovou kompilací" na osmibitových procesorech. Dále bychom napsali kompilátor PL/M v PL/M a "nabootovali" z počítače s časovým sdílením do rezidentního kompilátoru pracujícího na novém vývojovém systému Intel Intellec-8. První část byla dokončena. Byly implementovány křížové kompilátory PL/M a simulátory Interp pro dnes již radši-zapomenutý procesor 8008 a také pro 8080. Programy byly napsány a otestovány softwarovou skupinou Intelu, kterou jsem tvořil já a další dva lidé, a byli jsme připraveni na skutečný stroj. Věci se vyvíjely dobře: dalším krokem měl být rezidentní počítač.
Bohužel téměř všechny malé počítačové systémy v roce 1973 používaly jako záložní paměťové zařízení papírovou pásku a jako nervy drásající I/O zařízení sloužil všudypřítomný model 33 Teletype. Bylo zřejmé, že pokud se vezme v úvahu propustnost, zdroje a služby, rezidentní vývojové systémy nemohou konkurovat službám timesharingu. Přesto představa osobního počítače pro vývoj softwaru všechny zajímala.
V té době mě zaujalo nové zařízení zvané disketa, které, ačkoli bylo navrženo společností IBM jako náhrada děrných štítků, se zdálo mít mnohem větší potenciál. Zařízení bylo ideální: více než 3 000krát rychlejší než Teletype. A každá disketa za 7 dolarů mohla náhodně přistupovat k ekvivalentu 2 000 stop (pozn. př.: 610 m) papírové pásky. Nejlepší ze všeho byla cena jednotky, která činila pouhých 500 dolarů. Kvůli mírnému problému s podkapitalizováním mi tato neuvěřitelně nízká cena připadala ještě trochu vysoká. V té době byla v provozu malá společnost Shugart Associates, která se nacházela několik mil od Intelu. Dave Scott, tehdejší marketingový manažer společnosti Shugart Associates, mi věnoval k testování věnoval jednu z jejich ze svých jednotek, jenž ale měla naběháno 10 000 hodin a opotřebovaná ložiska. K ložiskům jsem dostal taky sadu na jejich opravu. Teprve o něco později, když jsem seděl doma v kanceláři a zíral na holý disk, jsem si uvědomil, že nemám žádnou skříň, žádné kabely, žádné napájecí zdroje, žádný řadič a co mě nejvíce trápilo, žádné zkušenosti s návrhem hardwaru. A co hůř, žádný řadič nebyl komerčně dostupný, i kdybych jsem si ho mohl dovolit.
Po několika neúspěšných pokusech zkonstruovat k mému Intellec-8 rozhraní bylo jasné, že mé úsilí bude lepší zaměřit na softwarové aspekty.
Mezi projekty jsem sestavil první souborový systém CP/M, navržený tak, aby podporoval rezidentní kompilátor PL/M. Timesharingová verze PL/M mi spolu se simulátorem Interp umožnila vyvinout a vyzkoušet různé souborové operace na úrovni primitivních diskových vstupů a výstupů. Simulace je koneckonců jen simulace a nemožnost zprovoznit ten desetitisícový disk o pouhou hodinu déle byla frustrující.
Krátce nato, na podzim 1974, se o projekt začal zajímat John Torode. Nabídl jsem mu maximální možnou morální podporu, zatímco John pracoval na odchylkách standardu IBM, aby dokončil jeden z mých přerušených řadičů. Náš první řadič byl krásné krysí hnízdo drátů, desek a kabelů (no, alespoň pro nás byl krásný!), které s notnou dávkou štěstí provádělo vyhledávání, čtení a zápis přesně tak, jak bylo požadováno. Celé mučivé minuty jsme načítali kód stroje CP/M přes čtečku papírových pásek do paměti Intellec-8. K našemu úžasu prošel diskový systém inicializací a na Teletype vypsal příkazový řádek CP/M.
Tento okamžik nadšení zajisté pocítil každý, kdo kdy bootoval CP/M na podomácku postaveném počítači. Nesčetné množství spojení je správně uzavřeno; bity létají rychlostí blesku po sběrnicích a přes obvody a programovou logiku, aby vytvořily jedinou reakci. Příkazový řádek. V porovnání s našimi papírovými páskovými zařízeními jsme měli na dosah ruky výkon mainframu S/370. Několik nervózních testů potvrdilo, že vše funguje správně. A tak jsme se na večer odebrali do ústraní, abychom se věnovali jednoduššímu úkolu - vyprázdnit džbán nepříliš dobrého červeného vína a přitom rekonstruovat bitvy s bity a spekulovat o budoucnosti našeho nového softwarového nástroje.
V následujících měsících se CP/M vyvíjel poměrně pomalu. Společnost Intel zažívala obrovský růst a zatímco byly zavedeny nové řídicí struktury, byl zastaven veškerý vývoj softwaru. Společnost Intel neprojevila o CP/M ani o pokračování práce na rezidentním kompilátoru žádný zájem. Uplynuly téměř dva roky, než se Intel opět začal zajímat o rezidentní softwarové nástroje, když představil operační systém ISIS a později rezidentní kompilátor PL/M -80. Mezitím John Torode přepracoval a zdokonalil náš původní řadič a vyrobil svůj první kompletní počítačový systém, který prodával pod jménem své společnosti Digital Systems (z níž se později stala společnost Digital Microsystems). První komerční licencování CP/M proběhlo v roce 1975, kdy byly uzavřeny smlouvy mezi Digital Systems a americkou společností Omron pro použití v jejich inteligentním terminálu a s laboratořemi Lawrence Livermore, kde byl CP/M použit k monitorování programů v síti Octopus. Přibližně rok byla CP/M věnována malá pozornost. Ve volném čase jsem pracoval na zlepšení celkového vybavení a přidal jsem editor, assembler a debugger, což byli předchůdci současných programů ED, ASM a DDT. V té době byl CP/M upraven pro čtyři různé řadiče.
V roce 1976 se na mě obrátil Glenn Ewing s problémem: společnost Imsai Incorporated, pro kterou Glenn poskytoval konzultace, dodala velké množství diskových subsystémů s příslibem, že bude následovat operační systém. Poněkud se mi nechtělo přizpůsobovat CP/M dalšímu řadiči, a tak se vyvinula myšlenka odděleného základního I/O systému (BIOS). V zásadě byly části systému CP/M závislé na hardwaru soustředěny do systému BIOS, což Glennovi nebo komukoli jinému umožnilo přizpůsobit systém CP/M zařízením Imsai. Společnost Imsai následně získala licenci na distribuci verze 1.3 CP/M, která se nakonec vyvinula v operační systém nazvaný IMDOS.
Shodou okolností jsme v té době oba s Jimem Warrenem pracovali jako konzultanti ve společnosti Signetics Corporation. Jim byl tehdy redaktorem časopisu DDJ a prosazoval prodej CP/M široké veřejnosti. V té době panovala mezi prodejci softwaru paranoia. Někteří měli pocit, že veškerý volný software bude okamžitě "oškubán" touto (koníčkaři) nemorální skupinou počítačových šmejdů. Jimova víra v průmysl mě však vedla k tomu, že jsem uvedl systém CP/M 1.3 na volný trh za 70 USD za kopii. V následujících měsících se ukázalo, jaká je povaha počítačových nadšenců. Ve většině případů byli stejně jako já v počítačovém průmyslu a chtěli pouze osobní počítač pro své vlastní aktivity. CP/M si postupně získával popularitu "zdola" a k údivu skeptiků byl faktor okrádání prakticky nulový. Byla založena nová společnost Digital Research, která měla podporovat CP/M, vyvíjet nové produkty a zajišťovat administrativní funkce.
Od prvního uvedení CP/M uplynuly téměř tři roky, s několika revizemi a vylepšeními. Ačkoli si diskety udržují svou popularitu, CP/M 2.0 je nyní nabízen pro správu pevných disků s větší kapacitou, které jsou stále dostupnější. Potřeby a požadavky zákazníků také vedly k nedávnému zavedení MP/M, multiprogramovacího systému kompatibilního s CP/M pro složitější aplikace.
Důležitější však je, že CP/M poskytuje pro rozvíjející se trh se softwarem základnu nezávislou na výrobci. Všichni víme, že vývoj a podpora softwaru jsou nákladné, přičemž se uvádějí částky v řádech statisíců dolarů za celou dobu životnosti produktu. Na klasickém trhu s počítači se tyto náklady amortizují během několika instalací, což vede ke zdánlivě nehorázným cenám. Aktivních uživatelů CP/M jsou však desítky tisíc a lze je oslovit prostřednictvím mnoha populárních časopisů. Proto obchodníci výrazně snižují ceny, aby zaujali mnohem větší zákaznickou základnu. Software je ziskově prodáván velkým počtem odpovědných společností jako samostatná komodita a výhody pro spotřebitele jsou zřejmé. Konkurence si vynucuje nízké ceny a kontrolu kvality s výběrem mezi širokou škálou softwarových produktů. V současné době se produkty kompatibilní s CP/M pohybují od programů pro zpracování textu přes obchodní systémy až po různé jazykové procesory pro BASIC, FORTRAN, COBOL, PASCAL a další. Ceny všech se pohybují v rozmezí od 100 do 700 USD. Budoucnost je bezpochyby optimistická jak pro výrobce, tak pro zákazníky.
O seu endereço eletrónico não será publicado. Os comentários são moderados.