도스 플러스

prog_language = **도스 플러스**(DOS Plus)는 1985년에 처음 출시된 영국의 뉴베리 (버크셔주)에 위치한 디지털 리서치의 OEM 지원 그룹이 개발한 최초의 운영 체제였다. 도스 플러스 1.0은 CP/M-86 Plus와 Concurrent PC DOS 4.11의 PCMODE 에뮬레이터를 결합하여 만들어졌다. CP/M-86 Plus와 Concurrent DOS 4.1은 미국에서 개발되었지만, Concurrent PC DOS 4.11은 디지털 리서치 UK가 발전시킨 국제화되고 버그 수정된 버전이었다. 이후 도스 플러스 2.x 버전은 Concurrent PC DOS 5.0을 기반으로 했다. 넓게 보면, 도스 플러스는 Concurrent CP/M-86과 DR DOS 사이의 중간 단계이다. 도스 플러스는 CP/M-86 또는 MS-DOS 2.11용으로 작성된 프로그램을 실행할 수 있으며, 이 두 시스템에서 사용되는 플로피 형식을 읽고 쓸 수 있다. 최대 4개의 CP/M-86 프로그램을 멀티태스킹할 수 있지만, MS-DOS 프로그램은 한 번에 하나만 실행할 수 있다.
# FIDDLOAD사용자 인터페이스
도스 플러스는 MS-DOS와 동일한 명령줄 인터페이스를 제공하려고 한다. MS-DOS와 마찬가지로 `COMMAND.COM` (대체 이름 `DOSPLUS.COM`)이라는 명령줄 인터프리터를 가지고 있다. `AUTOEXEC.BAT` 파일은 있지만 `CONFIG.SYS`는 없다 (일부 도스 플러스 2.1 버전에서 일부 현장 설치 가능 장치 드라이버(FIDD)를 로드하는 확장 기능인 FIDDLOAD 제외). 사용자가 알아차릴 주요 차이점은 화면의 맨 아래 줄에 다음과 유사한 상태 정보가 포함되어 있다는 것이다: DDT86 ALARM UK8 PRN=LPT1 Num 10:17:30 상태 표시줄의 왼쪽에는 실행 중인 프로세스가 표시된다. 가장 왼쪽에 있는 프로세스는 화면에 표시되고, 다른 프로세스(있는 경우)는 백그라운드에서 실행된다. 오른쪽에는 사용 중인 키보드 레이아웃(위 예시에서는 UK8), 프린터 포트 할당, 키보드의 Caps Lock 키 및 Num Lock 키 상태, 현재 시간이 표시된다. 도스 프로그램이 실행 중인 경우 상태 줄은 표시되지 않는다. 도스 프로그램은 백그라운드에서 실행될 수 없다. 사용 중인 키보드 레이아웃은 Ctrl, Alt와 기능 키 F1–F5 중 하나를 눌러 변경할 수 있다.
# SLICE명령어
도스 플러스는 다중 작업 기능을 지원하기 위한 여러 추가 명령어를 포함한다: * ADDMEM: EXE 프로그램에 할당할 추가 메모리 양을 설정한다. * ALARM: 메시지 알람 시계. * BACKG: 백그라운드 프로세스를 나열하고 중지할 수 있다. * COMSIZE: COM 프로그램에 할당할 메모리 양을 설정한다. * PRINT: 인쇄 스풀러. * SLICE: 전경 프로그램에 할당할 프로세서 시간 양을 설정한다. %$SLICE% 환경 변수도 참조. * USER: CP/M 미디어에 접근할 때 사용할 사용자 번호를 설정한다. 또한 표준 도스 명령어 및 CP/M 명령어의 하위 집합을 포함한다. 예를 들어, 내장된 `COPY` 명령어와 `PIP` 유틸리티가 모두 있으며, 이 둘 모두 파일을 복사한다. `CD` 명령어는 MS-DOS 명령어 `Subst`와 유사한 방식으로 세 가지 드라이브 N:, O: 또는 P: 중 하나를 다른 드라이브의 디렉터리에 할당할 수 있다. 예를 들어, CD N:=C:\DATA\ACCOUNTS 는 디렉터리 `C:\DATA\ACCOUNTS`를 드라이브 N:으로 보이게 할 것이다. 이 소위 플로팅 드라이브(floating drive) 기능은 하위 디렉터리를 지원하지 않는 오래된 프로그램이 도스 플러스에서 작동하도록 허용하고 명령 프롬프트에서 파일 처리를 훨씬 쉽게 만들 수 있다. 이 기능은 Concurrent DOS, Multiuser DOS, System Manager 7, 및 REAL/32에도 존재하지만, 이 시스템들은 이 개념을 A:부터 Z:까지의 모든 사용되지 않는 드라이브 문자(L: 드라이브 문자 제외)로 확장한다. DR DOS 3.31 – 6.0 (1992년 11월 BDOS 6.7 업데이트까지)도 이를 지원한다 (L: 드라이브 문자 포함). 이후 시스템에서는 4DOS/NDOS 명령 프로세서도 이 기능을 지원한다. 플로팅 드라이브는 명령줄 셸이 아닌 BDOS 커널에서 구현되므로, 애플리케이션이 추가 처리를 위해 디렉터리 사양을 구문 분석하고 분할하지 않는 한, 도스 애플리케이션 내에서도 디렉터리 경로를 입력할 때 이 기능을 사용할 수 있다. 유사한 기능을 사용하여, Concurrent DOS, Multiuser DOS, System Manager 및 REAL/32는 로드된 애플리케이션의 로드 경로에 플로팅 드라이브 L:을 동적으로 할당하여 애플리케이션이 고정된 절대 경로 대신 표준화된 드라이브 문자 아래에서 로드 디렉터리에 있는 파일을 참조할 수 있도록 한다. 이 로드 드라이브 기능은 로드 디렉터리 또는 하위 디렉터리에 저장된 오버레이, 구성 파일 또는 사용자 데이터에 대한 경로를 조정할 필요 없이 소프트웨어 설치를 디스크 간에 쉽게 이동할 수 있도록 한다. (유사한 이유로, MS-DOS/PC DOS 3.0 이상에서 로드된 애플리케이션과 관련된 환경 블록의 추가 부분은 실행 파일의 로드 경로에 대한 참조를 포함하지만, 이는 더 많은 상주 메모리를 소비하고 이를 활용하려면 실행 파일에 대한 지원이 코딩되어야 하는 반면, DRI의 솔루션은 모든 종류의 애플리케이션과 투명하게 작동한다.) BDOS의 현재 작업 디렉터리를 상위 디렉터리에 대한 상대 링크로 내부적으로 조직하는 것에서 비롯된 또 다른 기능은 위의 모든 운영 체제에서 지원하는 이론적으로 무제한의 디렉터리 깊이이다. 이는 MS-DOS/PC DOS (및 1992년 이후 DR DOS)와는 대조적으로, MS-DOS 호환 내부 데이터 구조인 Current Directory Structure (CDS)가 디렉터리 깊이를 최대 66자로 제한한다. 이러한 기능은 CP/M 자체가 하위 디렉터리 개념이 없었으며, 도스가 이러한 운영 체제 아래에서 에뮬레이트되었기 때문에 디렉터리를 어떤 지능적인 방식으로 내부 CP/M 구조로 변환해야 했다는 사실에 기인한다.
# 내부 구조
도스 플러스는 DOSPLUS.SYS 또는 NETPLUS.SYS라는 단일 파일에서 부팅된다 (MS-DOS의 IO.SYS / MSDOS.SYS 조합 대신). 이 파일은 CP/M-86 CMD 형식이며, 내부적으로 여러 모듈로 구성되어 있다: * BDOS 기본 디스크 운영 체제 커널은 다중 작업을 처리하고 CP/M API를 구현한다. * XIOS 확장 입출력 시스템은 낮은 수준의 디스크 및 문자 입출력을 수행하는 기계 의존적 구성 요소이다. * NETPLUS.SYS의 경우 DR Net 지원. * 도스 에뮬레이터 (내부적으로 PCMODE로 명명됨)는 각 MS-DOS 함수 호출을 하나 이상의 CP/M 호출로 변환한다. 예를 들어, 현재 디렉터리를 변경하라는 요청의 경우, 이는 제공된 경로의 각 디렉터리에 대해 일련의 '디렉터리 열기' 호출로 변환될 것이다. * 필요할 때 COMMAND.COM (또는 DOSPLUS.COM)을 로드하는 스텁. 이 스텁에는 "OS=CPCDOS" 문자열이 포함되어 있어 Concurrent PC DOS 코드베이스를 기반으로 함을 시사한다.
# 도스 플러스를 사용한 컴퓨터
도스 플러스는 원래 개발된 Philips :YES의 ROM에 내장된 주요 운영 체제였다. PC 호환 버전은 Amstrad PC1512와 프랑스 회사 T.R.A.N. S.A.의 Jasmin Turbo와 함께 제공되었다. 비 IBM PC 호환 BBC Master 512는 Solidisk의 PC Plus 메모리 확장과 함께 도스 플러스 1.2, 1.2a 또는 2.1을 제공했다. Apricot ACT 시리즈의 비표준 315 KB 및 720 KB FAT12 플로피 형식에 대한 도스 플러스 2.1e/g 적응 버전이 있었다. Sperry IT PC의 논리 섹터 FAT 하드 디스크 형식 (파티션 유형 0xF2)과 Acorn Archimedes A300 및 A310용 80186 코프로세서 보드, 그리고 Acorn 286 프로토타입도 지원되었다.
# 2.1버전
알려진 운영 체제 버전은 다음과 같다: * 도스 플러스 1.0 (Philips :YES에 ROM으로 내장) (BDOS 4.1 포함). * 도스 플러스 1.1 (BDOS 4.1 포함) * 도스 플러스 1.2 (BDOS 4.1 포함) * 도스 플러스 2.1 (BDOS 5.0 포함)
# 내용주
refs= 이 버전은 S_OSVER 호출을 구현하지 않으므로 실제 버전 번호를 쿼리할 수 없다.
# 추가 자료
* title=Amstrad Personal Computer PC1512 User Instructions * isbn=1-85181-063-3