Лучшие вопросы
Таймлайн
Чат
Перспективы

CP/M

Из Википедии, свободной энциклопедии

CP/M
Remove ads

CP/M[6] (аббревиатура от Control Program/Monitor или от Control Program for Microcomputers) — операционная система, созданная Гэри Килдаллом[2] в 1974 году[1] для микрокомпьютеров на базе Intel 8080[7]. Изначально ограничивалась однозадачностью и использованием 8080-совместимых процессоров, в более поздних версиях CP/M была добавлена многозадачность и поддержка 8086-совместимых процессоров.

Краткие факты Разработчик, Семейство ОС ...

С конца 1970-х до середины 1980-х годов CP/M была стандартом де-факто на рынке микрокомпьютеров[8]. Из-за того, что CP/M была доминирующей операционной системой на рынке, она значительно сократила объём работы, необходимой для переноса программы на компьютер нового производителя[9][10]. CP/M имела существенные недостатки для использования обычными пользователями и имела высокую стоимость по сравнению с MS-DOS и PC DOS, поэтому в итоге она была вытеснена последними в связи с выходом IBM PC в 1981 году.

Remove ads

История

Суммиров вкратце
Перспектива

Название

Различные авторы расшифровывают аббревиатуру «CP/M» по-разному: одни считают, что аббревиатура расшифровывается как «Control Program/Monitor»[11][12], а другие, в частности, сам Гэри Килдалл, что она расшифровывается как «Control Program for Microcomputers»[2][13][14][15][16]. Издание Computerworld Россия считает правильными оба варианта расшифровки[17]. Название стиля «XX/X» (где X — произвольные буквы) было выбрано для того, чтобы оно соответствовало стилю названия языка программирования PL/M Гэри Килдалла, на котором написана CP/M[2].

Ранняя история

Гэри Килдалл разработал CP/M в 1974 году[1] на собственном языке программирования PL/M[2], разработанным годом ранее[18]. CP/M предназначалась для работы на микрокомпьютерах Intel серии Intellec-8[англ.][19][20], но CP/M поддерживала не только Intel 8080, а ещё и Intel 8085 и Zilog Z80[7][21]. Различные аспекты CP/M были созданы под влиянием операционной системы TOPS-10 мейнфрейма DECsystem-10, которую Килдалл использовал в качестве среды разработки[22][23][24].

В 1974 году Гэри Килдаллом и его женой Дороти Килдалл[англ.] была основана компания Digital Research, первоначально названная как «Intergalactic Digital Research»[11] (Intergalactic — с англ.«межгалактический»), так как консультант Килдалла из Сосалито настаивал на названии «Digital Research», а творческий ассистент корпоративного советника Деми Мур настаивал на наличии в названии слова «Intergalactic». Это слово было убрано из названия в 1978 году, когда Деми Мур ушёл из компании[25].

В начале 1979 года, Кэтрин Стратински[англ.], подруга Килдалла из Военно-морской аспирантуры, стала четвёртым[26] сотрудником Digital Research[27][28] и ключевым разработчиком CP/M 2.0[29], CP/M 2.2[30][27][28] и CP/M Plus[31][30][27]. Другими ключевыми разработчиками ранних версий CP/M в 1978—1979 годах являлись Роберт (Боб) Зильберштейн и Дэвид (Дейв) К. Браун[27][28].

Первоначальный успех

Thumb
Реклама CP/M в номере журнала InfoWorld от 29 ноября 1982 года

Одним из первых внешних лицензиатов[комм. 1] CP/M была компания Gnat Computers[англ.], которая в 1977 году купила за 90 долларов США (CP/M 1.3 продавалась ещё дешевле — по цене в 70 долларов США[25]) у Digital Research право использовать их операционную систему на любом продукте, разработанном Gnat Computers[32]. В том же году компания IMSAI[англ.] сделала клон микрокомпьютера Altair 8800, назвав его IMSAI 8080[англ.]; у этого клона не было операционной системы[17], поэтому в 1977 году IMSAI заплатила Гэри Килдаллу 25 000 долларов США за право самолично продавать CP/M 1.3[33]; впоследствии IMSAI сделала на основе CP/M 1.3 собственную операционную систему IMDOS[англ.][19]. В течение года спрос на CP/M настолько вырос, что Digital Research увеличила цену на операционную систему до нескольких десятков тысяч долларов США[32].

К сентябрю 1981 года Digital Research продала более 250 000 лицензий на CP/M, однако журнал InfoWorld заявлял, что фактически, их быть ещё больше из-за сублицензий на операционную систему и её клонов[34]. Этот же журнал заявлял[34], что:

CP/M уверенно идет к тому, чтобы утвердиться в качестве основной операционной системы для микрокомпьютеров.

Некоторые компании с собственными операционными системами, такие как Zenith Data Systems (операционная система HDOS), предлагали CP/M в качестве альтернативы своей системе, если компьютер работал на процессорах Intel 8080 или Zilog Z80[7].

В 1982 году Билл Гейтс заявлял, что Apple II под управлением Z-80 SoftCard[англ.] был самым популярным компьютером на CP/M[35]. В том же году Digital Reseacrh заявила, что операционная система была лицензирована для более чем 450 типов компьютеров[36]. На CP/M Plus, к примеру, работала серия компьютеров Amstrad PCW[англ.][37][38].

MP/M

В 1979 году[39] Томом Роландером[англ.][1][40][18], пятым сотрудником Digital Research[26], была разработана и выпущена многопользовательская[англ.] версия CP/M под названием MP/M (расшифровывается как Multi-Programming Monitor Control Program[41]), позволявшая нескольким пользователям подключаться к одному и тому же компьютеру, используя разные компьютерные терминалы[42]. Запрос каждого пользователя обрабатывался отдельно и только после обработки предыдущего[43]. Эта операционная система, в отличие от обычной CP/M, работала на многозадачном ядре, включающим в себя такие функции, как защита памяти, параллельный ввод-вывод[42] (с англ.«Extended I/O System», сокр. XIOS[44], в противовес BIOS CP/M), и реализацию «очередей» (с англ.«queues»)[43], которые, в свою очередь, реализовывали обработку запросов каждого пользователя отдельно. Несмотря на это, MP/M 1.0 является совместимой с CP/M 2.0[45].

Версии MP/M

MP/M II

8-битная версия MP/M изначально называлась так же, как и сама операционная система (1979[39]—январь 1980[46]), а с сентября 1981 года была переименована в MP/M II, в связи с выходом версии 2.0[47]. Для её работы требовался процессор Intel 8080 или Zilog Z80, минимум 32 КБ ОЗУ (если операционная система настроена на два терминала и 8 сегментов памяти, а также работает на микрокомпьютере Intel MDS-800, то может хватать менее 15 КБ ОЗУ), от 1 до 16 терминалов и дисков[48]. Кроме того, MP/M II поддерживала переключение банков, что позволяло эффективнее и экономнее использовать память[49]; позднее переключение банков также было добавлено в CP/M Plus (3.0)[50].

Подробнее Название, Дата ...
MP/M-86

Как и CP/M, MP/M была портирована на 16-битный Intel 8086[53] в сентябре 1981; новая версия была названа как «MP/M-86», по аналогии с CP/M-86[54]. Одним из ключевых разработчиков новой версии системы был Фрэнсис (Фрэнк) Р. Холсворт, в последующем ставший директором по маркетингу Digital Research[55][56].

Первой версией этой системы стала MP/M-86 2.0, включающая две ревизии — от 25 сентября 1981 года[57], и от 5 октября 1981 года[58]. Второй версией стала MP/M-86 2.1, вышедшая примерно в 1982 году[59]. Версия MP/M-86 2.1, изначально задумывавшаяся для одного из компьютеров IBM, была названа Concurrent CP/M-86[60][комм. 2] в конце 1982 года[61]. Concurrent CP/M была практически идентична MP/M-86 2.1, за исключением того, что в Concurrent CP/M были добавлены «виртуальные консоли» (с англ.«virtual screens»)[61], чтобы компенсировать однозадачность системы, возникшую из-за технических ограничений одного из компьютеров IBM, для которого и предназначалась Concurrent CP/M[64]. Виртуальные консоли позволяли пользователю переключаться между выполнением сразу нескольких программ[61].

В качестве одного из дополнительных модулей для Concurrent CP/M 3.1, для обеспечения базовой совместимости с PC DOS 1.1 и версиями MS-DOS тех времён[65], в декабре 1983 года на выставке COMDEX[англ.][66] был представлен PC-Mode[англ.], впоследствии поступивший в продажу 21 февраля 1984 года[67]. В первом квартале 1984 года Concurrent CP/M 3.1 была развита в Concurrent DOS[68], которая изначально предназначалась для компьютера Motorola VME/10[69]. Concurrent DOS, в свою очередь, впоследствии была развита во FlexOS[70] и в Multiuser DOS.

MP/M 8-16

MP/M 8-16[71] (иногда называемая как MP/M-8/16[72]) — название, данное CompuPro[англ.] для своей версии MP/M-86, которая предназначалась для выполнения однопользовательских функций CP/M и 8-битных функций MP/M[72] и работала на многопроцессорном компьютере CompuPro System 8/16[серб.], выпущенном в марте 1983 года[73].

CP/NET

В конце 1980 года Digital Research представила сетевую операционную систему под названием CP/NET, разработанную Томом Роландером[40] и соединяющую компьютер, работающий на MP/M (сервер), с несколькими клиентами, работающими на компьютере под управлением CP/M (запросчиками (с англ.«requesters»)[74]. Существовала также MP/NET, которая позволяла компьютерам, работающим на MP/M, выступать в качестве как серверов, так и запросчиков[74].

Также существовала версия CP/M, позволяющая изменять информацию на диске только через сеть, хранившаяся в ПЗУ и называющаяся CP/NOS[74]. Существовала также и MP/NOS, аналогичная CP/NOS, но являющаяся при этом версией MP/M[74].

Команды MP/M

Следующий список команд поддерживается MP/M II[75]:

Подробнее Команда, Описание ...

CP/M Plus

Thumb
Руководство по эксплуатации CP/M Plus

Последней версией 8-битной CP/M являлась версия 3.0, выпущенная в 1983 году и также известная как CP/M Plus[27]. Менеджером проекта была Кэтрин Стратински[80]. CP/M Plus включала в себя такие нововведения, как переключение банков[50], существовавшее ранее в MP/M II 2.0[49], выпущенной двумя годами ранее[47]. CP/M Plus также сохраняла совместимость со старыми программами, предназначенными для CP/M 2.2[81]. Файловая система в CP/M Plus была значительно улучшена по сравнению с CP/M 2.2: CP/M Plus поддерживал файлы длиной до 32 МБ, а CP/M 2.2 — длиной до 8 МБ; кроме того, CP/M Plus поддерживал диски с ёмкостью до 512 МБ[82]. В CP/M Plus также был добавлен макроассемблер RMAC[78] — модифицированная версия макроассемблера MAC для CP/M 2.2[77], ранее уже существовавший в MP/M II[83].

CP/M-86

Thumb
Скриншот CP/M-86 1.1 для IBM PC/XT/AT

Первой версией CP/M, разработанной для 16-битных процессоров, была CP/M-86, выпущенная в ноябре 1981 года и предназначенная для процессоров Intel 8086/88[21]. Из-за выпуска CP/M-86, 8-битная CP/M стала известна под ретронимом CP/M-80[21]. Изначально предполагалось, что выпуск CP/M-86 состоится в ноябре 1979 года, но он неоднократно откладывался[84]. Исполняемые файлы использовали расширение .CMD[англ.][комм. 4][85]. Все последующие операционные системы, разработанные Digital Research, являются производными от CP/M-86.

Существовали также и другие 16-битные версии CP/M, такие как CP/M-68K для Motorola 68000[86], а также её порт на Zilog Z8000 для Olivetti M20[англ.], сделанный в 1982 году и названный CP/M-8000[87][88].

Вытеснение DOS-системами

В 1979 году продажи микрокомпьютера Seattle Computer Products 8086 падали из-за отсутствия операционной системы, из-за чего в апреле 1980 года Тиму Патерсону было поручено создать замену CP/M, которой стала операционная система 86-DOS[89]. Первоначально IBM хотела выбрать именно CP/M-86 в качестве операционной системы для IBM PC, однако Дороти Килдалл[англ.] колебалась, подписывать ли ей соглашение о неразглашении, и хоть позже оно и было принято, Digital Research не приняла предложение от IBM купить CP/M напрямую за 250 000 долларов США[90]. Новая система могла создаваться более года, а IBM она была нужна в течение нескольких месяцев. Пол Аллен из Microsoft узнал о существовании 86-DOS, поэтому позвонил Тиму Патерсону, который сказал, что не против, чтобы Microsoft лицензировала его систему. Билл Гейтс, узнав об этом, спросил у представителя IBM Джека Сэмса, хочет ли он, чтобы Microsoft купили 86-DOS, или чтобы её купила IBM; Джек Сэмс ответил, что купить 86-DOS должна Microsoft[91][92].

В декабре 1980 года Microsoft приобрела неисключительную лицензию на 86-DOS у SCP[93]. В мае 1981 года Microsoft наняла Тима Патерсона, разработчика 86-DOS, для переноса системы на IBM PC[89]. В июле 1981 года, за месяц до выпуска IBM PC, Microsoft приобрела все права на 86-DOS у SCP за 50 000 долларов США[89][94][95]. Microsoft лицензировала 86-DOS для IBM[96], после чего появилась новая операционная система под названием PC DOS. В IBM PC, начиная с его даты выхода — с августа 1981 года, изначально использовалась только PC DOS, но впоследствии Килдалл настоял на том, чтобы покупатели сами выбирали себе систему из двух вариантов: CP/M-86 и PC DOS, угрожая судебным иском за создание нелегального клона CP/M[97].

CP/M-86 стоила 240 долларов США и продавалась значительно хуже по сравнению с PC DOS за 40 долларов; исследование показало, что 96,3 % IBM PC были проданы с установленной DOS, и только 3,4 % были проданы с установленной CP/M-86 или Concurrent CP/M-86[98]. PC Magazine писал, что «CP/M-86 кажется более подходящей по нескольким показателям для IBM PC, чем DOS, но для тех, кто не планировал программировать на языке ассемблера и платить в шесть раз дороже, CP/M кажется менее привлекательной покупкой»[99]. Гарри Хелмс в своей книге 1983 года отмечает, что CP/M имеет существенные недостатки для обычного пользователя, и была разработана для использования лишь опытными программистами; по его словам, CP/M требует от пользователя изучения сложных команд, чтобы не совершить случайного удаления файла или диска[100]. В середине 1982 года Lifeboat Associates[англ.] объявила о том, что PC DOS является стандартом 16-битных операционных систем[101].

К началу 1983 года Digital Research стала продавать CP/M-86 1.1 по цене в 60 долларов США[98], а в январе 1984 года она анонсировала Kanji CP/M-86, японскую версию CP/M-86, продаваемую для девяти японских компаний, включая Mitsubishi Electric Corporation, Sanyo Electric Co., Ltd. и Sord Computer Corporation[англ.][102]. В середине 1984 года журнал InfoWorld заявил, что усилия Digital Research по внедрению CP/M-86 на рынок домашних компьютеров были безуспешными, и бо́льшая часть программного обеспечения на CP/M была слишком дорогой для обычных пользователей[103]. К середине 1980-х годов CP/M полностью потеряла актуальность и была вытеснена DOS-системами.

Более поздние версии CP/M, начиная с 1985 года, стали совместимыми с MS-DOS, после этого система была развита в DOS Plus?!.

Remove ads

Компоненты

Суммиров вкратце
Перспектива
Thumb
Скриншот CP/M 3.0 после введения команды DIR, работающей на Commodore 128

CP/M имела четыре основных компонента[6]:

  • BIOS (акроним от Basic Input/Output System, с англ.«Базовая система ввода-вывода»);
  • BDOS (аббревиатура от Basic Disk Operating System, с англ.«Базовая дисковая операционная система»);
  • CCP (аббревиатура от Console Command Processor, дословный перевод — «Процессор консольных команд»);
  • TPA (аббревиатура от Transient Program Area, дословный перевод — «Временная область для программ»).

BIOS CP/M, в отличие от BIOS IBM-PC-совместимых компьютеров, считывает информацию, которая на него поступает, и после этого отправляет её в нужное место[6]; BIOS занимается функциями самого низкого уровня, которые необходимы операционной системе. BIOS был добавлен в CP/M 1.3[104], в более ранних версиях функции BIOS выполнялись BDOS[105]. По мнению Килдалла, BIOS являлась «секретом успеха CP/M», так как BIOS давал возможность программисту работать напрямую с оборудованием, и инженерам IMSAI[англ.], которая вскоре после этого купила право самостоятельно выпускать CP/M 1.3, понравилось это[106].

BDOS, начиная с CP/M 1.3, манипулирует дисками и их содержимым[6], действия, которые выполняет BDOS, включают в себя, например, открытие файла или форматирование диска.

CCP является командной строкой и выполняет команды пользователя, вводимые на консоль[6]. Консоль, в месте перед вводимой командой, как правило, отображает A> как текущий диск, а также как диск по умолчанию. Примерно с 1982 года существовала графическая оболочка для CP/M под названием GSX (Graphics System Extension), которая в конце 1984 года была развита в GEM (Graphics Environment Manager)[107].

TPA сохраняет в себе прикладные программы, которые либо были запущены пользователем, либо были загружены извне[6][108].

Remove ads

Файловая система

Имя файла на диске могло содержать не более 8 символов, после чего следовала точка и расширение файла длиной до трёх символов[109]. Данный формат записи имён файла стал известен как «8.3» и впоследствии использовался в MS-DOS и ранних версиях Windows[110]. Размер файла указывался как количество 128-байтовых записей, соответствующих секторам на 8-дюймовых дискетах, из-за этого нельзя было узнать точный размер файла[109]. В ранних версиях CP/M также не было возможности просмотра времени модификации файла, однако это было добавлено в CP/M Plus[111][109].

Начиная с версии 2.0, в CP/M была добавлена команда USER, позволяющая изменять пользователя и иметь доступ к персональным файлам на диске для каждого отдельного пользователя. С одним и тем же диском могли работать не более 15 пользователей[109].

Программы

Суммиров вкратце
Перспектива
Thumb
Набор дискет WordStar версии 4 для CP/M-80

Прикладные программы, которые были разработаны для CP/M, включают в себя:

Digital Research также поставляла для CP/M компилятор языка программирования PL/I[119].

CP/M также поставлялась со встроенным отладчиком, названным DDT[англ.]. Изначально DDT было названием отладчика, разработанного Digital Equipment Corporation; тогда название расшифровывалось как Dynamic Debugging Technique[120], но когда Digital Research стала использовать DDT от DEC, она стала расшифровывать его как Dynamic Debugging Tool[121].

Remove ads

Совместимые ОС

Thumb
Скриншот Robotron 1715, работающего на SCP
  • 86-DOS — имеет API, который повторяет API CP/M;
  • MSX-DOS — является слиянием MS-DOS и CP/M-80;
  • TurboDOS.

Варшавский договор

ГДР

СССР

Наследие

В 1997—1998 годах компания Caldera[англ.] выпустила множество файлов исходного кода CP/M 2.2 как свободное программное обеспечение, с 1997 года также разрешив распространение и модификацию всех файлов Digital Research, относящихся к CP/M и MP/M, через «Неофициальный веб-сайт CP/M» (англ. The Unofficial CP/M Web site), которым владел Тим Олмстед[123][5]. После смерти Олмстеда 12 сентября 2001 года[124], лицензия на опубликованные файлы Digital Research была обновлена Lineo[англ.] 19 октября 2001 года[3][125], который тем временем стал их владельцем[126].

Remove ads

Примечания

Литература

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads