MP/M

http://www.cpm.z80.de/ **MP/M**(**Multi-Programming Monitor Control Program**)은 디지털 리서치 개발자 톰 롤랜더가 1979년에 개발한 CP/M 운영체제의 다중 사용자 버전으로, 개발이 중단되었다. 여러 사용자가 단일 컴퓨터에 연결하여 각자 별도의 터미널을 사용할 수 있도록 허용했다. MP/M은 당시로서는 적어도 마이크로컴퓨터에서는 상당히 진보된 운영체제였다. 메모리 보호, 동시 입출력 (**XIOS**), 스풀링 및 큐잉 지원 기능을 갖춘 우선순위 기반의 멀티태스킹 커널(이러한 이름이 사용되기 전에는 커널을 '핵심(nucleus)'이라고 불렀다)을 포함했다. 또한 각 사용자가 여러 프로그램을 실행하고 그 사이를 전환할 수 있도록 했다.
# MP/M 플랫폼

## 2.1MP/M-80
8비트 시스템은 8080 (또는 Z80) CPU와 최소 32 KB의 램이 필요했지만, 이는 사용자 애플리케이션에 사용할 메모리가 거의 없다는 것을 의미했다. 합리적인 설정을 지원하기 위해 MP/M은 메모리가 시스템의 "실제 메모리" 영역 안팎으로 전환될 수 있도록 허용했다. 예를 들어, 프로그램은 CPU가 주소 지정할 수 없는 RAM "뱅크"에 로드될 수 있었고, 프로그램이 실행될 때 해당 RAM 뱅크는 저수준 메모리(일반적으로 하위 32 또는 48 KB)에 나타나도록 "전환"되어 OS에 표시될 수 있었다. 뱅크 전환으로 알려진 이 기술은 이후 CP/M의 단일 사용자 버전에 버전 3.0으로 추가되었다. MP/M의 주요 용도 중 하나는 DRI의 예상과는 달리 단일 사용자를 위한 CP/M의 "파워 유저" 버전이었다. 여러 프로그램을 동시에 실행하고 많은 양의 메모리를 처리할 수 있는 능력 덕분에 시스템은 추가 비용을 지불할 가치가 있었다. **MP/M II 2.0**은 1981년에 파일 공유 기능을 추가했으며, **MP/M II 2.1**은 1982년 1월에 확장된 파일 잠금 기능을 추가했다. 버전: * MP/M 1.0 (1979) * MP/M 1.1 (1980년 1월) * MP/M II 2.0 (1981년 7월, 추가: 파일 공유) * MP/M II 2.1 (1982년 1월, 추가: 확장 파일 잠금)
## CCP/M-86MP/M-86
CP/M과 마찬가지로 MP/M은 결국 16비트 인텔 8086으로 포팅되어 1981년 9월에 **MP/M-86 2.0**으로 출시되었다. 이 시스템의 주요 개발자로는 당시 디지털 리서치의 마케팅 이사였던 프랜시스 "프랭크" R. 홀스워스(Francis "Frank" R. Holsworth)가 있다. MP/M-86 2.0의 알려진 개정판은 1981년 9월 25일과 1981년 10월 5일로 기록되어 있다. 또한 1982년 7월 20일자로 **MP/M-86 2.1**도 있었다. MP/M-86 2.1은 CP/M-86 1.1 (BDOS 2.2)의 일부 기술을 흡수하여 1982년 후반에 **Concurrent CP/M-86** 3.0 (BDOS 3.0)이 되었고, 이는 "가상 화면" 지원도 추가했다. CP/M-86의 프로젝트 관리자였던 캐서린 스트루틴스키(Kathryn Strutynski)는 Concurrent CP/M-86의 프로젝트 관리자로 계속 활동했다. 1983년 12월, PC-MODE라는 도스 에뮬레이터가 Concurrent CP/M-86 3.1 (BDOS 3.1)의 선택적 모듈로 출시되었고, 1984년 2월 21일에 배송되었다. 그리고 이 시스템은 MS-DOS 호환 Concurrent DOS (BDOS 3.1 이상)로 더욱 발전했다. 이는 다시 FlexOS와 멀티유저 도스로 진화하여 일부 산업용 애플리케이션에서 여전히 사용되고 있다. Concurrent CP/M은 종종 **CCP/M**으로 약칭된다. "CCP/M articles in the press".
## MP/M 8-16
**MP/M 8-16** (때로는 MP/M-8/16라고도 함)은 CompuPro의 다중 사용자 16비트 MP/M-86을 사용하여 단일 사용자, 단일 스트림 CP/M 기능을 수행하고, 멀티프로세서 Compupro System 816에서 실행되는 다중 사용자, 다중 작업 8비트 MP/M 작업을 결합한 이름이었다. 나중에 이 시스템은 Concurrent DOS 3.1도 실행할 수 있었다.
## MP/M-286
1982년, 디지털 리서치는 16비트 인텔 80286의 새로운 메모리 관리 및 보호 기능을 활용하여 기존 MP/M-86 및 CP/M-86 애플리케이션을 실행하는 **MP/M-286**을 개발할 계획을 발표했다. 이것은 명백히 "그대로" 발표되지 않았지만, 이후 Concurrent CP/M-286으로 더욱 발전했으며, 이는 1985년의 Concurrent DOS 286과 1986년의 FlexOS 286의 기반이 된 것으로 보인다.
# 명령어
다음은 MP/M II 콘솔 명령어 처리기 CCP에서 지원하는 명령어 목록이다. colwidth=9em * ABORT * ATTACH * ASM * CONSOLE * DDT * DIR * DSKRESET * DUMP * ED * ERA * ERAQ * GENHEX * GENMOD * GENSYS * LIB * LINK * LOAD * MPMLDR * MPMSTAT * PIP * PRINTER * PRLCOM * RDT * REN * RMAC * SCHED * SDIR * SET * SHOW * SPOOL * STAT * STOPSPL * SUBMIT * TOD * TYPE * USER * XREF Div col end
# NDOSCP/NET, CP/NOS, MP/NET 및 MP/NOS
1980년대 초반, 디지털 리서치는 MP/M 서버를 CP/M을 실행하는 여러 CP/NET 클라이언트(요청자라고 함)와 연결하는 데 사용되는 CP/NET이라는 네트워크 소프트웨어도 개발했다. 이것은 원래 톰 롤랜더에 의해 개발되었다. MP/NET은 CP/M 요청자와 함께 MP/M 시스템이 요청자와 서버 모두로 기능할 수 있도록 하는 네트워킹 기능이 있는 MP/M 시스템이었다. CP/NET 클라이언트는 시스템이 ROM에 저장된 디스크 없는 구성으로도 실행될 수 있었고, 이때 CP/NOS (NOS는 네트워크 운영 체제를 의미)라고 불렸다. 마찬가지로 MP/NOS는 로컬 디스크 기능이 없는 MP/M을 포함했다. CP/NOS와 마찬가지로 MP/NOS는 네트워크를 통해 디스크 기능을 수행했다. 이 시스템은 파일과 프린터를 공유하고 전자 메시지를 보낼 수 있도록 했다. * NIOS – 네트워크 I/O 시스템 * SNIOS – 슬레이브 네트워크 I/O 시스템 * NDOS – 네트워크 디스크 운영 체제 CP/NET은 8080 및 Z80 프로세서용 버전 1.0, 1.1, 1.2로 존재했다. 8086용 CP/NET-86도 사용할 수 있었다. 이후 버전으로는 DR 넷과 FlexNet이 있었다.
# 계승
칼데라는 1997년부터 팀 올름스테드의 "비공식 CP/M 웹사이트"를 통해 소스 코드를 포함한 CP/M 및 MP/M 계열과 관련된 모든 원본 디지털 리서치 파일을 재배포 및 수정할 수 있도록 허용했다. 2001년 9월 12일 올름스테드의 사망 이후, 그 디지털 리서치 자산의 소유자가 된 리네오는 2001년 10월 19일에 무료 배포 라이선스를 갱신하고 확장했다.
# 내용주
refs= 8비트 버전의 Concurrent CP/M은 존재하지 않는 것으로 보이기 때문에, 16비트 버전인 Concurrent CP/M-86은 단순히 Concurrent CP/M이라고도 불렸다.