CP/M

덤프버전 :





파일:CP/M_2.2_TRS-80_Model4.jpg
TRS-80 Model 4 에서 구동한 CP/M 2.2
파일:CP/M_plus3_TRS-80_Model4.jpg
8비트 최후의 버전인 CP/M Plus 3
파일:cpm86.png
IBM PC용으로 개발된 CP/M-86

1. 개요
2. 역사
3. 몰락
4. 종류
5. 소프트웨어
6. 기타
7. 외부 링크


1. 개요[편집]


Control Program/Monitor

게리 킬달1974년에 개발한 인텔 8080용 8비트 운영체제이다. 마이크로컴퓨터(microcomputer) 최초의 운영 체제이며[1], 당시 8비트 컴퓨터 시장을 완전히 점령한 운영 체제이다, 이후 16비트 컴퓨터 시대가 도래하기 전까지 마이크로컴퓨터 운영 체제의 사실상 표준 취급을 받았다.

보통 일반인들에게 8비트 컴퓨터라고 하면 Apple II코모도어 64같은 가정용 컴퓨터가 유명하므로 CP/M이 어디에 쓰였는지 이해를 못하는 경우가 간혹 있지만, 당시에 컴퓨터는 아직 일반인들이 폭넓게 쓰는 물건이 아니었기 때문에 가정용으로는 그리 많이 쓰이지 않았고 대부분이 업무용이었는데 CP/M은 이 업무용 컴퓨터 시장에서 독과점 수준의 영향력이 있었다. 또한 가정용 컴퓨터는 대부분 OS가 존재하지도 않았고, 있어도 당시에는 게임하는데에 필요한 것도 아니어서 별로 쓰이지 않았다.

그러나 이후 16비트 컴퓨터 시장(특히 IBM PC 호환 기종)에서는 영향력을 발휘하지 못하고 MS-DOS에게 패배한 비운의 운영 체제이기도 하다.

처음에는 인텔 8080용으로 개발되었지만 실제로는 8비트 컴퓨터의 CPUZ80이 더 많이 보급되었기 때문에 대부분 Z80 컴퓨터에서 구동되었다. 그 외에도 NEC에서 만든 V20이나 V30 CPU를 넣어 만든 컴퓨터도 인텔 8080 에뮬레이션 모드를 이용해 구동 가능했다.

당시에는 운영 체제를 소비자에게 따로 판매한다는 개념이 드물었기 때문에 CP/M 판매의 대부분은 B2B로, 컴퓨터 제조사에게 라이선스를 판매하는 형식이었다.(물론 개인 소비자에게 판매도 했다.) CP/M의 영향력이 컸기 때문에, 자체 운영 체제를 개발하는 규모 있는 제조사라도 CP/M 라이선스까지 구매해서 소비자가 운영 체제를 선택할 수 있도록 하는 경우가 많았다.

CP/M을 구동하는 컴퓨터 목록을 보자. 새로운 컴퓨터 기종이 난립했던 시기였기는 하지만 그걸 감안해도 굉장히 많은 수의 컴퓨터가 있는 것을 알 수 있다. 심지어 이 목록은 극히 일부에 불과하고, 그다지 알려지지 않아서 목록에 기재되지 않은 수 많은 컴퓨터들을 다 합하면 무려 약 3,000개 가량의 모델에서 구동되었다.[2][3]


2. 역사[편집]


CP/M이 처음 개발된 1970년대 초반에는 아직 마이크로컴퓨터 혁명이 일어나기 전이었다. 이때 컴퓨터라고 하면 메인프레임같은 거대한 시스템을 떠올리거나, PDP-11같이 메인프레임보다는 작지만 개인에게는 크고 비싼 미니컴퓨터뿐이었다. 시간이 지나며 MCM/70, 알테어 8800 등 마이크로컴퓨터의 시초가 되는 컴퓨터가 출시되기 시작했고, 그중에는 인텔Intellec-8도 있었다. 이 컴퓨터는 엄밀히 말해 마이크로컴퓨터는 아니었고 인텔 프로세서를 쓰는 다른 컴퓨터의 개발용 컴퓨터였다. 게리 킬달은 인텔과 일하면서 PL/M 같은 프로그래밍 언어를 납품하는 등의 여러 일을 했는데, 그 대가(?)의 일부로 이 컴퓨터를 받았다. 이때 이 컴퓨터용으로 플로피 디스크 시스템을 편하게 사용하기 위한 운영 체제를 개발했고, 이것이 CP/M이다.

게리 킬달은 인텔에게 이 운영 체제를 구매할 의향이 있는지 물었으나 인텔은 별 관심이 없었고, 앞으로 마이크로컴퓨터 시장이 커질 것을 예상한 게리 킬달은 아내인 도로시 맥윈 킬달과 함께 디지털 리서치(Digital Research Inc)를 설립하여[4] 직접 운영 체제를 판매하기로 한다. 그리고 마침 적절히 마이크로컴퓨터 시장이 크게 확대되기 시작했고, 특히 그 시작인 알테어 8800과 그 클론인 IMSAI 8080의 성공으로 인해 이 두 컴퓨터용으로 판매되었던 CP/M은 강력한 눈도장을 찍게 된다. 그 이후 어지간히 규모가 큰 제조사가 아니면 소프트웨어를 직접 개발할 수는 없었기 때문에 그런 제조사들은 운영 체제 없이 BASIC 인터프리터만 탑재하여 판매하거나 아니면 CP/M을 구매했다. CP/M 덕에 수많은 마이크로컴퓨터 제조사가 난립하기 시작했다. 이렇게 해서 CP/M은 8비트 컴퓨터 운영 체제 시장을 선점과 동시에 사실상 점령했고, 시장에 판매되는 운영 체제의 1/4의 점유율을 차지하였다.[5]

초기에 개발된 CP/M은 이식성이 좋은 것은 아니어서 Intellec-8, 알테어 8800 등 컴퓨터마다 코드를 다시 작성해야 할 부분이 너무 많았다. 그러나 이건 CP/M만 그런 것이 아니라 그 시대에는 상식이었다. 그래서 게리 킬달은 1975년 CP/M 1.1을 PL/M과 인텔 8080 어셈블리어로 처음부터 다시 작성하다시피 하여 구조를 크게 변경해 계층화, 모듈화했다. 이렇게 만들어진 CP/M은 크게 3개의 모듈로 구성되었다.

  • CCP(Console Command Processor): 키보드의 입력을 받아 CP/M의 내부 명령어나 프로그램을 실행해 결과를 전달하는 인터페이스 모듈이다. 메모리에 상주해 있다가 프로그램을 실행하는 입력이 들어오면 CCP는 프로그램에게 상주하고 있던 메모리 영역을 내줬고, 프로그램은 종료하면 다시 CCP에게 메모리 영역을 반환했다.
  • BDOS(Basic Disk Operating System): 항상 메모리에 상주하면서 CCP와 후술할 BIOS를 매개하고 파일 시스템과 메모리 등을 관리하는 모듈.
  • BIOS(Basic Input Output System): 하드웨어 종속적인 코드를 분리해 만든 모듈. 초창기에 납품한 CP/M의 BIOS는 게리 킬달이 직접 작성했으며, 디지털 리서치가 컴퓨터 제조사에게 하드웨어 사양을 받아 작성해 납품하기도 했다. 그러나 이렇게 하면 라이선스 비용이 비싸지기 때문에 컴퓨터 제조사에서 직접 만든 경우가 많았다. 컴퓨터 제조사가 디지털 리서치와 라이선스 계약을 맺으면, 디지털 리서치는 상세한 사양이 적혀 있는 매뉴얼을 제공했는데, 컴퓨터 제조사들은 매뉴얼을 참고해 BIOS를 만들었다. 이때부터 CP/M의 이식성이 좋아졌다. 거기다 대부분의 컴퓨터가 알테어 8800의 구조를 따라가다 보니 S-100 버스가 널리 사용되었으며, 1983년에는 IEEE 696-1983 표준이 되었다. 이 역시 이식을 쉽게 하는 데 조금이나마 더 도움을 주었다.


3. 몰락[편집]


그렇게 CP/M은 8비트 시장을 점령했으나, 시간이 지나 서서히 16비트 컴퓨터 시장이 떠오르기 시작했다. 이 와중에 컴퓨터 업계의 큰손이었던 IBM도 마이크로컴퓨터 시장의 중요성을 느끼고, 태스크 포스를 꾸려서 가능한 한 빠른 개발을 지시했다. 주어진 개발 기간이 짧았기 때문에 개발진은 운영체제를 외부에서 구입하기로 했고[6], 이때 눈에 들어온 것은 당연히 기존 마이크로컴퓨터 시장을 지배하던 CP/M이었다. 특히 CP/M은 업무용 소프트웨어에서 강점이 있었는데, 마침 IBM은 새 컴퓨터를 업무용으로 포지션을 잡고 있었으므로 CP/M 소프트웨어의 호환을 가장 먼저 생각할 수밖에 없었다. 그래서 IBM은 디지털 리서치와 협의를 했으나, 의견이 맞지 않아 협상이 여러 번 결렬되었다.

이때 Microsoft에서 시애틀 컴퓨터의 86-DOS[7]를 구입하여 IBM에 제공했고, IBM은 이를 PC-DOS라는 이름으로 판매하였다. 그리고 이 운영 체제를 구동할 수 있는, 역사적인 컴퓨터인 IBM PC를 시장에 같이 내놓았다. 알다시피 이후 이 컴퓨터는 큰 인기를 얻었고, 이후 호환 기종의 범람과 함께 컴퓨터의 혁명을 이끌었다.

이러한 일련의 내용은 이미 잘 알려져 있고 MS-DOS 문서에도 자세히 나와 있으므로, 여기서는 CP/M이 패배한 이유 중 몇 가지 주요한 점만 짚어보자. 아래 내용은 가능한 한 많은 출처를 조사해서 정리한 것이지만, 애초에 세부적인 계약 내용 등 확실한 증거가 공개된 적이 없고 주변인의 증언이나 추론이 포함되는 영역이기 때문에 어느 정도는 불확실성이 있다는 점을 염두에 두고 보자.

  • 8086용 CP/M의 개발에 소홀
8086은 1978년에 출시되었고, 이후 시장에서는 이미 여러 업체가 8086을 사용하는 16비트 컴퓨터를 준비하고 있었다. 그러나 디지털 리서치는 8086용 CP/M 개발에 매우 소홀했고, 뒤늦은 1979년 11월에 8086용 CP/M의 개발을 발표하긴 했으나 이때는 이미 늦었을 뿐더러 심지어 이건 말 그대로 개발을 시작한다는 발표였지 언제 판매하는지는 아무도 알 수 없었다. 실제로 1981년 11월에 개발을 마쳤는데 대략 2년 정도의 시간이 걸린 셈이다. 운영 체제를 번들로 같이 판매하고 싶어 하는 컴퓨터 제조 회사들은 정작 당장 적합한 운영 체제가 없는 상황이었고, 이런 제조 회사 중에는 시애틀 컴퓨터가 있었다. 더 이상 기다릴 수 없었던 시애틀 컴퓨터는 팀 패터슨에게 대체할 운영 체제를 개발하도록 지시했고, 이렇게 86-DOS가 개발되었다. 좀 더 빨리 CP/M-86을 개발해서 IBM PC 이전에 나온 16비트 컴퓨터들에 CP/M을 먼저 판매하고 그동안 소프트웨어 이식도 지속적으로 진행됐다면 시장 선점 효과를 IBM이 쉽게 무시하지 못했을 것이고, 무엇보다 86-DOS같은 운영 체제가 개발되지 않아서 애초에 IBM에게 사실상의 선택지가 CP/M-86밖에 없어서 계약에서 우위를 점할 가능성이 매우 컸다.[8][9]

  • IBM과 협상을 하지 못해 Microsoft에 계약을 뺏긴 것
비록 위에 서술한 것처럼 CP/M-86가 아직 개발되지 않았었던 것이 영향이 있기는 했겠지만, 대외적으로 알려진 가장 큰 이유는 디지털 리서치는 카피 당 로열티 계약을 요구했고 이를 IBM이 거부했다는 것이다. 반면에 Microsoft는 일시불 계약을 하고 그 금액도 IBM의 예상보다 낮은 대신, MS-DOS의 소유권을 Microsoft가 가지고 이를 직접 다른 제조사나 소비자에게 판매할 수 있도록 하길 원했고 IBM은 이를 받아들였다.[10] 디지털 리서치는 기존에 다른 업체들과 맺던 계약을 동일하게 요구했을 뿐이지만, 여기서는 당장은 지고 들어가더라도 IBM이 요구하는 계약을 수용했어야 한다. 물론 결과론이라고 할 수도 있지만 어쨌든 Microsoft에게 전략적 패배를 당했다는 것은 부인할 수 없다.[11]

  • 이후 CP/M-86의 늦은 출시
여기부터는 사실 부수적인 이유일 뿐이지만, CP/M-86은 IBM PC가 출시되고 약 3개월이 지난 1981년 11월에서야 개발이 끝났고 여기서 다시 3개월이 더 지나서야 실제 선택 가능한 옵션이 되었다. IBM PC를 구매하려는 사용자는 운영 체제를 선택해서 주문할 수 있었는데, 처음 6개월간은 사실상 PC-DOS만이 유일한 선택지였다. 문제는 IBM PC용으로 이식(BIOS 루틴 개발 및 기타 등등)하는데에 너무 많은 시간을 들였다는 것이다. 이 시간 동안 이미 선점 효과가 형성되었다. 단 이 이유는 실제로는 큰 의미는 없었는데(즉 동시에 출시했어도 의미가 없음), 이유는 바로 뒤에 후술한다.

  • CP/M-86의 비싼 가격 책정
이미 IBM은 PC-DOS를 표준 운영 체제로 광고하고, 옵션으로 CP/M-86과 UCSD p-System을 선택할 수 있다고 한 상황이었다. 여기까지만 해도 이미 CP/M에게는 불리했는데, IBM은 CP/M-86의 가격을 $240으로 책정하고, PC-DOS를 $40로 책정했다. 이 시점에서 이미 최소한 호환 기종이 아닌 IBM이 직접 판매하는 컴퓨터에서는 CP/M-86이 승리할 가능성은 없었다. 여기에 대해 흔히 하는 오해가 있는데, 애초에 Microsoft와 디지털 리서치는 IBM에게 운영 체제를 라이선스한 것이기 때문에, 이에 대한 판매 및 가격 책정 등은 전적으로 IBM의 권한이다. 즉 디지털 리서치는 이 $240라는 가격에 아무런 말도 할 수 없었다. 마찬가지로 PC-DOS 역시 Microsoft와 관계없이 IBM이 가격을 책정하고 판매한 것이다.

이것은 1970~1980년대 마이크로컴퓨터 상황에 대한 이해가 필요하다. 그 당시 모든 마이크로컴퓨터 운영 체제의 유통은 컴퓨터 제조사가 직접 담당했다. 과거 디지털 리서치도 CP/M-80의 판매는 단지 컴퓨터 제조사와 라이선스 계약만 할 뿐이었고, 그러면 제조사가 컴퓨터를 판매하며 무료 번들 또는 추가 금액 옵션 등으로 제공하는 형태였다. 물론 디지털 리서치가 최종 소비자용으로 직접 판매하는 패키지도 있었으나 이는 특정 컴퓨터용 BIOS가 포함되지 않았기 때문에 일반 사용자는 구동조차 불가능했고, 전문가 외에는 구입하지 않았다. 운영 체제 개발사가 최종 사용자에게 직접 판매하는 것을 주 수익원으로 한 최초의 MS-DOS 호환 운영 체제는 1989년 6월에 발매한 DR DOS 3.41이었고, 이후 마이크로소프트도 MS-DOS 5.0부터 같이 따라서 시작했다. 애초에 이것이 가능했던 이유는 저 시점에는 IBM PC 호환 기종의 폭발적인 성공으로 인해 다른 컴퓨터 플랫폼이 몰락하고 오직 IBM PC 호환 기종의 운영 체제만 판매해도 충분한 상황이 만들어졌기 때문이다. 옛날처럼 컴퓨터 종류가 수백 개가 넘어가고 각각에 맞춰서 개발된 CP/M-80이 있는 상황에서 디지털 리서치가 혼자서 이 모든 종류를 최종 사용자에게 유통한다는 것은 당연히 불가능한 일이었다.

다시 돌아와서, IBM이 CP/M-86에 $240이라는 가격을 책정한 것에 대해서는 여러 가지 얘기가 있는데, 디지털 리서치가 지적 재산권 침해로 시애틀 컴퓨터를 고소했을 때[12][13] IBM은 고소를 취하하면 카피 당 로열티 계약을 해 주겠다는 조건을 제시했고 디지털 리서치에서도 이를 받아들였다. 당연히 IBM은 판매될 때마다 로열티를 줘야 하는 CP/M-86이 많이 판매되기를 원하지 않았을 것이고, 대신 판매 수익이 온전히 IBM에게 돌아가는 PC-DOS가 많이 판매되기를 바랬을 것이다. 이것이 저 6배의 가격을 설명할 수 있는 유력한 가설 중 하나이다.

위의 내용은 호환 기종이 아니라 IBM이 직접 판매한 PC에서의 얘기이고, 패배의 직접적인 원인은 아니다. CP/M-86이 팔리지 않은 것은 소프트웨어 인프라에서 손해를 입었으며 사용자들도 PC-DOS에 적응하게 되었기 때문이다. 이후 IBM PC가 훨씬 성장할 것임을 뒤늦게 깨달은 디지털 리서치는 이미 점유율이 크게 밀려서 가망이 없던 상황을 타개하기 위해 1983년부터 IBM PC용 CP/M-86을 $60에 최종 소비자에게 직접 판매하기로 결정한다. # 그러나 그 때는 최종 소비자용 판매는 주 수익원도 아니었고, 결국 핵심은 제조사와의 OEM 계약이었다. 그러나 최초로 상업적으로 큰 성공을 거둔 IBM PC 호환 기종인 컴팩 포터블#MS-DOS를 라이선스했고, 이후의 호환 기종 제조사들 대부분 MS-DOS를 선택했다. 이렇게 된 이유는 이미 PC-DOS의 점유율이 매우 컸기 때문에 굳이 CP/M-86을 선택할 이유가 없었기 때문일 것이다.

어쨌든 이렇게 CP/M-86은 16비트 컴퓨터 시장에서 완전히 실패했고, 이후 DOS Plus를 지나서 정신적 후속작인 DR-DOS로 이어졌으나 이마저도 패배하면서 역사에서 자취를 감추었다.[14]


4. 종류[편집]


  • MP/M : 다중 사용자를 지원하는 버전으로, 마치 UNIX처럼 여러 단말기에서 한 시스템에 동시에 접속할 수 있었다. 물론 당시 마이크로컴퓨터의 성능으로는 하드한 작업이었고 이를 필요로 하는 경우도 적었기 때문에 지원하는 컴퓨터는 오리지널 CP/M에 비하면 적었다.
  • CP/M-86 : 8086으로 이식된 16비트 운영 체제로, 여러 컴퓨터용으로 개발되었지만 그 중 핵심은 당연히 IBM PC용이었다. 이름은 CP/M이지만 8080용인 원래의 CP/M-80과 완벽히 호환될 수는 없었으며 소스 코드 레벨에서의 호환성, 즉 API 호환성은 어느 정도 있었다.[15]
  • Concurrent CP/M-86 : MP/M을 8086으로 이식하고 개선한 버전이다.
  • CP/M-68K : 모토로라 68000용으로 이식된 버전이다.


5. 소프트웨어[편집]


  • dBASE
  • WordStar : WYSIWYG을 지원하는 최초의 마이크로컴퓨터용 워드프로세서로[16], 1978년에 CP/M용 소프트웨어로 출시하여 8비트 컴퓨터용 워드프로세서 시장을 점령했다. 몇 년 지나서 MS-DOS로도 이식되었고, IBM PC의 도약으로 전성기를 맞이했지만 서서히 WordPerfect에 밀렸고, WindowsOffice의 출시와 함께 둘 다 사이좋게 시장에서 퇴출되었다.[17]
  • SuperCalc : 스프레드시트 프로그램으로, Apple II의 VisiCalc에 대응하는 프로그램으로 볼 수 있다. 번들로 제공되고 복사 방지가 없는 등의 이유로 많은 인기를 끌었다.
  • KAMAS : 1984년에 출시된 아웃라이너 프로그램으로, CP/M의 마지막을 함께 한 주요한 소프트웨어 중 하나로 평가받는다.
  • Multiplan : Microsoft Excel의 시초가 된 프로그램이다.
  • AutoCAD : 원래 CP/M용으로 처음 출시가 되었고, 이후 대세를 따라 자연히 IBM PC로 이식되어 지금에 이르고 있다.


6. 기타[편집]


재미있게도 CP/M을 구동할 수 있는 단일 컴퓨터 플랫폼 중 최다 사용자를 가진 것은 다름 아닌 Apple II였다. Apple II의 CPU는 MOS Technology 6502이기 때문에 인텔 8080용 운영 체제였던 CP/M은 호환이 되지 않는데 어떻게 이게 가능했냐면, 수많은 컴퓨터가 난립하던 당시에 가장 인기 있는 개인용 컴퓨터는 단연 Apple II였고 이를 본 Microsoft는 이미 CP/M용으로 판매 중인 자사의 BASIC 인터프리터나 포트란 컴파일러 등의 프로그래밍 개발 도구 제품 등을 Apple II용으로도 판매하고 싶어 했고, 이를 위해 CP/M을 구동할 수 있게 하는 Apple II용 확장 카드를 발매하기로 계획하였다. 그래서 아예 Z80 프로세서를 카드에 박은 Z-80 SoftCard라는 확장 카드가 출시되었다. 이는 매우 많은 인기를 얻었고, 이미 단일 플랫폼으로 압도적이었던 Apple II 덕분에 덩달아 CP/M을 구동할 수 있는 가장 인기 있는 플랫폼이 되었다. CP/M은 너무나 많은 컴퓨터 모델을 지원했고, 비즈니스 시장에서는 IBM PC 이전까지 특별히 어떤 한 컴퓨터가 독주하지 못했기 때문에[18] 이러한 상황이 가능했던 것이다. 또한 Microsoft는 이 카드를 출시하고 회사 수익의 대부분이 이 카드에서 나올 정도로 큰 성공을 거두었으며 어떻게 보면 이후 MS-DOS로 성공하기까지 사업 확장에 필요한 자금력의 원천이 되었다고 생각할 수도 있을 것이다.

또한 위의 내용에서 보다시피 디지털 리서치와 Microsoft는 새로운 컴퓨터 모델이 나올때마다 서로 운영체제와 언어 소프트웨어를 담당하면서 초기에 매우 긴밀하게 협력하고 있었고, 한때는 회사 합병을 고려했을 정도로 좋은 관계를 유지하고 있었다. 물론 MS-DOS가 CP/M을 몰락시키기 시작한 때부터는 옛말이 되었지만.

위와 같은 CP/M 확장 카드에 대한 수요는 8비트 컴퓨터 시절에만 있었던 것이 아니라서, 심지어 IBM PC 초창기에도 CP/M-80을 구동하기 위해 Z80 프로세서를 박은 확장 카드가 발매되었을 정도였다. #[19] 또는 후술할 코모도어 128처럼 두 개의 CPU를 탑재하고 MS-DOS와 CP/M을 동시에 지원한 컴퓨터 모델도 많이 있었다. # 물론 인기 소프트웨어들이 MS-DOS로 이식되면서 이런 것들은 모두 시장에서 사라졌다.

8비트 컴퓨터 시장의 베스트셀러 중 하나이자 미국에서는 Apple II보다도 점유율이 높았던 컴퓨터인 코모도어 64는 Apple II와 동일한 6502 계열 CPU를 사용했는데, 당연히 여기에서도 CP/M 을 구동하기 위해 Z80 을 박은 확장 카트리지가 발매되었다. # 물론 이는 여러 이유로 실패했다. 이후 후속기기인 코모도어 128에서는 코모도어 64 호환성을 위해 6502 계열 CPU를 탑재하면서 동시에 CP/M 소프트웨어까지 실행할 수 있게 하기 위해 기기에 Z80 CPU까지 탑재하여 출시했다. 그러나 아쉽게도 이 역시 속도나 디스크 등 여러 문제가 있어서 사용이 까다로웠고, 따라서 실제로는 거의 사용되지 않았다. 무엇보다 이미 CP/M 자체가 저물어가던 때에 출시되었다는 이유도 있다.[20]

MSX는 CPU가 Z80이면서도 CP/M이 거의 쓰이지 않았다. 주된 시장이 일본이었던 탓도 있겠지만, 무엇보다 MSX-DOS가 명령 체계나 파일 시스템 면에서는 MS-DOS를 참고했지만 시스템 호출은 CP/M 2.2와 거의 완전하게 호환되었기 때문이다. 요컨대 MSX-DOS의 껍데기는 MS-DOS, 알맹이는 CP/M이었다는 이야기인데 이런 구조가 된 이유는 기존에 나와 있던 수많은 CP/M용 응용 프로그램을 MSX에서 사용하기 위해서였다. MSX-DOS에서 CP/M의 응용 프로그램을 바로 구동시킬 수 있다 보니 CP/M에 대한 수요는 많지 않았다. 드문 예로 소련 시장에 판매된 야마하의 MSX2 YIS-503IIIR의 네트워크 펌웨어로 CP/M 2.2를 이식한 사례가 있고 유럽에서 CP/M+ 3.0을 MSX2로 이식한 사례#도 있으나 널리 사용되지는 못했다.

Z80 문서에 나와 있다시피 Z80 CPU는 취미용 홈브루 컴퓨터 제작에 많이 쓰이는데, 아무래도 Z80용 운영 체제로 CP/M이 절대적이었던 만큼 CP/M을 돌릴 수 있도록 하는 목표로 개발되는 홈브루 컴퓨터도 많다. 이 경우 CP/M에서 컴퓨터마다 별개로 개발해야 하는 BIOS 부분은 자신의 컴퓨터에 맞게 재작성해야 한다. # ##


7. 외부 링크[편집]




파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-10-22 01:15:23에 나무위키 CP/M 문서에서 가져왔습니다.

[1] 운영체제의 개념은 마이크로컴퓨터 이전에 메인프레임을 위시한 대형 컴퓨터 시절부터 이미 있었기 때문에 "최초의 운영 체제"는 아니며, 최초의 "마이크로컴퓨터용 운영 체제" 라고 해야 한다. 유닉스가 이미 1969년벨 연구소에서 개발되었다.[2] 이 목록은 CP/M-86 및 이후 버전까지 포함한 것이긴 하나 16비트 컴퓨터 시장에서는 CP/M이 그다지 영향력이 없었기 때문에 대부분은 8비트 컴퓨터이다. 또한 CPU가 Z80이 아님에도 불구하고 CP/M을 지원하기 위해 Z80을 통째로 넣은 확장 카드 등이 발매된 기종도 많은데, 대표적으로 Apple II용 확장 카드인 Microsoft의 Z-80 SoftCard가 있다.[3] 비전공자의 경우 여기서 오해를 하는 경우가 있는데, 이 컴퓨터 목록은 현재와 같은 여러 PC 제조사 리스트 같은 게 아니다. 쉽게 말해서 현재 PC와 스마트폰이 CPU를 비롯한 내부 구조가 완전히 다르듯이, 그런 완전히 다른 구조의 컴퓨터가 저만큼 있었다는 뜻이다. 사실상 표준인 구조가 일부 있기는 했지만 대체로 서로 호환되지 않았다.[4] 처음 설립시에는 Intergalactic Digital Research 라는 이름이었고, 나중에 Digital Research 로 변경했다.[5] 이 25% 라는 수치는 가정용 컴퓨터까지 포함한 전체 시장의 운영 체제 점유율이다. 따라서 가령 코모도어 64의 KERNAL 같은 운영 체제라고 하기 민망한 것이나 Apple DOS 등이 모두 포함된 수치이다. 물론 가정용 컴퓨터에서 운영 체제는 그렇게 폭넓게 쓰이지도 않았을뿐더러 유용한 소프트웨어가 많이 개발되지도 않았기 때문에 그리 큰 의미는 없다. 당연하게도 CP/M의 본진인 비즈니스 시장에서는 독과점 수준의 점유율을 자랑했다.[6] IBM은 메인프레임 등의 대형 컴퓨터용 운영 체제는 가지고 있었어도 한 번도 판매하지 않은 마이크로컴퓨터용 운영 체제는 당연히 가지고 있지 않았다. IBM 5100의 경우 마이크로컴퓨터로 분류되지도 않고, 운영 체제도 없었다. 있었어도 IBM PC에 활용할 수는 없었겠지만.[7] 팀 패터슨이 CP/M의 인텔 8086용으로 개발한 클론 운영 체제이다. 여담으로 팀 패터슨은 생각보다 굵직한 역할을 많이 한 사람인데 아래 기타 항목에서 설명하는 Microsoft 의 Z-80 SoftCard 하드웨어를 설계한 사람이기도 하며, MSX의 공식 운영체제인 MSX-DOS를 개발한 사람이기도 하다.[8] IBM PC 개발 비화에도 나와 있지만 IBM은 이 태스크 포스 팀에게 그리 많은 시간을 주지 않았고, 따라서 이 팀은 가능한 한 빨리 출시할 수 있기를 원했다. 사실 이 점이 IBM이 Microsoft를 선택하게 된 주요한 원인 중 하나이기도 하다.(오죽하면 Microsoft는 IBM이 요구한 짧은 기간 내에 운영 체제 개발 및 프로그램 개발 도구 제품 이식 등을 끝내기 위해 엄청난 야근을 했다.) 여러 글들을 찾아보면 기본적으로 디지털 리서치는 회사 문화 자체가 게리 킬달의 성격대로 굉장히 여유있게 일을 하는 분위기였기 때문에, IBM이 요구하는 기간 내에 개발하겠다는 확답을 주지 않았다. IBM은 시간이 없었기 때문에 디지털 리서치가 이런 태도를 계속 견지했다면 86-DOS가 없었어도 디지털 리서치와 계약하지는 않았을 것이다.[9] 단 팀 패터슨이 86-DOS를 개발하는 데에 걸린 시간은 약 4개월 정도로 알려져 있고, 이후 CP/M의 소스를 도용했는지의 여부가 논쟁이 되었다. Microsoft의 이해 관계자인 모 엔지니어가 "도용하지 않았다" 라는 주장을 했던 글 이외에는 딱히 확실한 사실이 없으므로 이 부분은 각자 알아서 생각하자.[10] 좀 더 정확히 말하자면 Microsoft도 당연히 로열티 계약을 하고 싶었으나, IBM이 원하지 않았던 이유도 있었고 Microsoft 설립 초기에 Altair 컴퓨터용 BASIC 판매에 의존하다가 Altair 가 망한 후 한동안 침체기를 겪었던 경험 때문에 빌 게이츠는 IBM 에 지나치게 의존하는 것은 위험하다고 생각했고 따라서 로열티 계약을 포기하는 대신 이 조건을 요구했다고 알려져 있다.[11] 확실하게 증명된 내용은 아니지만 여기여기를 보면 IBM이 제안해왔을 때 Microsoft는 이미 다들 많은 업무량에 지쳐있었고, IBM도 일정을 빡빡하게 잡았으며 IBM PC가 취소될 수도 있기 때문에 고민하던 중 니시 카즈히코가 강하게 주장해서 일을 받아들였다고 서술되어 있다. 물론 자세한 속사정은 알 수 없으니 그냥 참고만 하자.[12] 비록 QDOS의 개발사인 시애틀 컴퓨터를 대상으로 고소하는 형식을 취했지만, 당연히 이는 실질적으로는 QDOS를 구입한 Microsoft와 IBM을 저격하는 것이다.[13] 실제로 이 소송에서 승소할 수 있었는지에 대해서는 부정적인 얘기가 많다. 이 때는 아직 미국에서도 컴퓨터 프로그램의 저작권에 관한 법이 미비했던 시절이기 때문에 당시 디지털 리서치의 변호사도 승소 가능성을 부정적으로 보았다.[14] 사실 DR-DOS는 처음 개발되었을 때는 CP/M-86 API를 지원했으나 이후 시장에 출시할 때는 그것마저 제거한 채로 나왔기 때문에 후속작이라고 부르기 어렵다.[15] 공교롭게도 이름은 CP/M을 계승했음에도 불구하고 MS-DOS보다도 CP/M-80 호환성이 떨어졌는데, 이는 둘의 지향점이 달랐기 때문이다. MS-DOS의 원형인 QDOS(86-DOS)를 개발한 Tim Paterson은 처음부터 CP/M-80을 최대한 잘 모방하는 클론을 만들려고 하였고, 이를 위해 기존 CP/M-80을 위해 작성된 소스 코드에서 최소한의 수정으로 이식할 수 있도록 하는 목표를 가지고 프로그래밍적 트릭 등을 사용했다. 그러나 디지털 리서치의 CP/M-86은 이번 기회에 시스템 콜 인터페이스를 더 깔끔하게 개편하는 등의 개선 작업을 했기 때문에 수정의 필요성이 비교적 더 많아졌다. 물론 이 개선 작업 덕분에 얻은 장점도 있었지만 시장 점유율에 도움 될만한 장점은 아니었다.[16] 단 완전한 WYSIWYG이 아니고 불완전한 방식이었다.[17] 여담으로 조지 R.R. 마틴이 아직까지도 WordStar의 MS-DOS 이식 버전을 사용해서 글을 쓰는 것으로 유명하다.[18] 당시 비즈니스 시장에서는 CP/M을 지원하기만 하면 충분히 대부분의 목적을 충족하며 사용할 수 있었기 때문에 호환성 등의 이유로 특별히 어떤 한 컴퓨터를 고집할 필요가 없었고, 가정용 컴퓨터와 달리 게임의 수요가 거의 없었기 때문에 기껏해야 RAM 정도를 제외하면 차별점을 둘 만한 게 사실상 없었다. 그래서 엄청난 수의 컴퓨터 모델이 난립했고 특정한 하나의 컴퓨터 모델이 점유율을 독점할 수 있는 상황이 불가능했다.[19] 링크에 들어가면 처음 나오는 페이지가 아니라 그 바로 위 페이지에 있는 BYAD DS1 이다.[20] CP/M은 업무용 소프트웨어가 강점이었는데, 코모도어 64는 업무용으로 거의 쓰이지 않고 가정에서 주로 사용되었다. 그래서 미국 가정용 컴퓨터 시장을 점령한 코모도어는 자연히 다음 타겟으로 비즈니스 시장을 노려서 Plus/4 등을 만들었으나 실패하고, 이후 다른 시도로 코모도어 128에서는 CP/M 호환성을 추가한 것이다. 그러나 그 바닥에선 이미 가격이 별 차이가 없거나 더 싼 IBM PC 호환 기종들이 확고하게 자리 잡고 있었기 때문에 결국 이것도 실패하였다.