OS/8
OS/8개발자 | 디지털 이그니션 코퍼레이션 |
---|---|
동작 상태 | 단종 |
소스 모델 | 폐쇄 소스 |
초기 릴리즈 | 전 ( |
플랫폼 | PDP-8 |
체납 사용자 인터페이스 | 간결한 명령어(CCL) (명령줄 인터페이스) |
면허증. | 독자 사양 |
선행 | PS/8 |
OS/8은 Digital Equipment Corporation의 PDP-8 미니컴퓨터에 사용된 주요 운영 체제입니다.
OS/8 이전 버전에는 이전 PDP-8 운영 체제가 있었습니다.
- R-L 모니터,[1] MS/8이라고도 불립니다.
- P?S/8 ([2]4K 메모리만 필요)
- PDP-8 4K 디스크 모니터 시스템[3]
- PS/8('프로그래밍 시스템/8'), 8K 필요.이것이 1971년에 OS/8이 된 것입니다.
기타/관련 DEC 운영체제는 OS/78, OS/278,[4] OS/12 입니다.후자는 OS/8과 거의 동일한 버전으로 디지털의 PDP-12 컴퓨터에 사용되었습니다.
SIMH를 통해 에뮬레이트할 수 있는 비상업용[5] 디지털 릴리스 OS/8 이미지.
개요
OS/8은, 심플한 운용[6] 환경을 제공.복잡성과 확장성이, OS/8이 가동되고 있는 PDP-8 컴퓨터에 대응하고 있습니다.I/O는 인터럽트 기반 기술이 아닌 폴링된 일련의 드라이버를 통해 지원되었습니다.디바이스 드라이버는 128개의 12비트 워드의 메모리 페이지 중 1~2개밖에 차지하지 않기 때문에 현명하게[7] 작성해야 하며 필드 0의 어느 페이지에서나 실행할 수 있어야 합니다.이것은 종종 작은 음의 상수에 대해 OPR 명령(7XX)을 사용하는 것과 같이 상당한 영리함을 필요로 했다.
OS/8의 메모리 상주 "풋프린트"는 필드 0의 선두에 128단어, 필드 1의 선두에 128단어 등 256단어밖에 없었습니다.나머지 운영체제(USR, "사용자 서비스 루틴")는 필요에 따라 (사용자 프로그램에 대해) 투명하게 메모리 안팎으로 스왑되었습니다.
간결한 명령어 언어
OS/8의 초기 버전에는 GET, SAVE, RUN, Assign, DEASSIGN 및 ODT와 같은 기본적인 명령어가 거의 없는 매우 기본적인 명령줄 인터프리터가 있었습니다.버전 3에서는 CCL(Concise Command Language)이라는 보다 정교한 오버레이가 추가되어 더 많은 명령어를 구현했습니다.OS/8의 CCL은 TOPS-10을 실행하는 디지털의 PDP-10 시스템에서 CCL이 발견된 후 직접 패턴화되었습니다.실제로 OS/8 소프트웨어 시스템의 대부분은 가능한 한 TOPS-10 운영 환경을 모방하도록 의도적으로 설계되어 있습니다.(CCL 명령어는 나중에 RT-11, RSX-11 및 RST/E를 실행하는 PDP-11 컴퓨터에서 사용되었으며, 3개의 아키텍처, PDP-8 모두에서 동일한 사용자 운영 환경을 제공합니다.
기본 OS와 CCL은 상당히 복잡한 명령어를 많이 구현했습니다.이 명령어의 대부분은 MS-DOS, Windows, 또는 Unix와 같은 운영체제에서는 아직 존재하지 않습니다.
예를 들어, COM파일 명령어는 특정 소스 파일에 적합한 컴파일러를 자동으로 찾아 컴파일/어셈블리/링크 사이클을 시작합니다.
ASSIGN 및 DEASSIGN 명령을 사용하면 프로그램에서 물리적 이름 대신 논리적 장치 이름을 사용할 수 있습니다(MS-DOS에서 필요).예를 들어 프로그램이 장치 FLOP에 쓸 수 있습니다.AAA.TXT, 그리고 「ASSIGN FLOP: RXA2:」를 최초로 실행했을 경우, 파일은 물리 디바이스 RXA2(두 번째 플로피 디스크 드라이브)에 작성됩니다.VAX/VMS 및 Commodore Amiga 운영체제 AmigaOS(및 Tripos를 중심으로 구축된 다른 OS)는 이 매우 유연한 기능을 상당히 활용했습니다.
SET 명령어는 많은 시스템옵션을 설정할 수 있었습니다.단, 시스템바이너리 코드의 로케이션에 패치를 적용하는 조잡한 방법에 의해서입니다.OS-78의 명령어 [8]중 하나는 SET SYS OS8로 OS-78에 포함되지 않은MONITOR 명령어를 다시 유효하게 했습니다.
BUILD 명령어를 사용하면 OS를 재부팅하지 않고도 OS를 즉시 재설정할 수 있으며 디바이스 드라이버도 추가할 수 있습니다.
OS는 하드 디스크에서 부팅하여 0.5초 이내에 명령 프롬프트를 표시할 수 있습니다.
OS/8 파일 시스템
OS/8은 다음과 같은 다양한 대용량 스토리지 디바이스에서 심플하고 플랫한 파일 시스템을 지원했습니다.
- TU56 데케이프
- DF32 32KW[9] 고정 헤드 디스크
- RF08 256KW[10] 고정 헤드 디스크
- RK01/02/03/04/05 카트리지 디스크 드라이브
- RL01/02 카트리지 디스크 드라이브
- RX01/02 플로피 디스크 드라이브
PDP-8 의 파일명은, FFFFF 형식입니다.XX 여기서 "F"는 파일 이름의 대문자 영숫자, "X"는 확장자(파일 형식)의 대문자 영숫자를 나타냅니다.
주어진 파일의 내용은 단일 "확장"에 연속적으로 저장되었습니다.PIP에는 할당되지 않은 모든 공간이 디스크 끝에 있는 단일 익스텐트로 이동되도록 파일 시스템을 압축(스퀴즈)하는 옵션이 포함되어 있습니다.이는 TECO 매크로 실행에 MUNG을 사용하는 것과 마찬가지로 SQuish CCL 명령에 의해 [12]호출될 수 있습니다.
OS/8 볼륨은 최대 스토리지 크기가 매우 제한적(4096 블록, 256개의 12비트 워드) 및 RK05(2.4)였습니다.MB) 이동 헤드 디스크가 이 크기를 초과했습니다: "160만 단어 스토리지"[13]이 때문에, RK05 카트리지는 2개의 파티션으로 분할되었습니다.예를 들어, 시스템상의 최초의 RK05는, RKA0:(SY:)와 RKB0:의 양쪽 모두라고 불립니다.이 구분은 일반적으로 "위쪽 표면"과 "아래쪽 표면"을 의미한다고 생각되었지만, 이는 정확하지 않았다; 사실 "외쪽 원통"과 "내쪽 원통"이었다.
ASCII 파일
ASCII 파일은 12비트 워드 쌍당 3개의 8비트 문자로 저장되었습니다.단어 1과 단어 2의 오른쪽에 있는 문자 1과 문자 2와 단어 [8]쌍의 왼쪽 끝에 세 번째 문자의 비트 0-3과 4-7이 저장됩니다.
- WORD 1: c0 c1 c2 c3 a0 a1 a2 a3 a4 a5 a6 a7
- WORD 2: c4 c5 c6 c7 b0 b1 b2 b3 b4 b5 b6 b7
ASCII 파일의 끝은 CTRL/Z(ASCII 232)입니다.
OS/8 날짜 형식
OS/8은 날짜를 저장하는 PDP-8의 12비트 워드를 다음과 같이 할당했습니다.
Y3B! 이것은 COS-310 [16][17]개발 당시 인식되었습니다.
OS/8 CUSP(유틸리티 프로그램)
OS/8과 함께 제공되는 CUSP(Commonly-Used System Programs, 즉 유틸리티)에는 다음이 포함됩니다.
- 빌드(구성된 OS/8 시스템을 대용량 스토리지에 설치하는 프로그램)
- DIR(디렉토리 리스트 프로그램)
- EDIT(회선 지향 [18]에디터)
- MACREL(PAL과 달리 매크로를 구현한 재배치 어셈블리).DEC의 Small Systems Group의 Stanley Rabinovitz가 작성했습니다.스탠은 사무실에 "MACREL은 물고기"라는 ASCII 작품 사진을 가지고 있었다.
- FLAP(RALF에서 파생된 절대 어셈블러)
- 포트란 II[19]
- 파일 지향 전송 프로그램(PIP 대체 프로그램)
- PAL(어셈블러)
- PIP(파일 복사에 사용되는 주변기기 교환 프로그램)
- PIP10(PDP-10 DECtapes에서 파일을 복사하기 위해 사용되는 PIP 버전)
- RALF(FPP용 다른 재배치 어셈블러)
- TECO(텍스트 에디터 및 코렉터, 훨씬 더 정교한 에디터).MUNG 명령어는 TECO 매크로를 실행했습니다.
- 명령줄 인터프리터인 CCL은 소스 형식으로 제공되어 사용자가 확장할 수 있습니다.
프로그래밍 언어
기본의
옵션으로 BASIC의 싱글 유저 버전과 BASIC의 멀티 유저 버전이 2개 있습니다.
싱글 유저 BASIC에서는, 언어의 완전한 기능을 제공하기 위해서 몇개의 오버레이를 사용했습니다.OS/8을 DEC테이프에서 기동했을 때, 테이프로부터 읽어낼 필요가 있는 오버레이를 전환하기 위해서 BASIC이 필요할 때마다, 매우 큰 지연이 발생했습니다.
BASIC의 다중 사용자 버전(EDU20 및 EDU25)은 블록 교체 가능 장치(DEC테이프 또는 디스크)를 지원하는지 여부에서만 차이가 있었습니다.많은 PDP-8은 비용 제약으로 인해 종이 테이프 리더를 유일한 대용량 스토리지 I/O 장치로 사용하고 있었습니다.EDU20은 종이 테이프에서 로딩되어 기계가 있으면 종이 테이프 라이터로 출력할 수 있는 반면, EDU25는 파일 시스템의 구조를 이해하고 DEC테이프 또는 디스크에서 로딩할 수 있으며 DEC테이프 또는 디스크에 파일을 생성할 수 있습니다.둘 다 연결된 터미널 간에 라운드로 연결된 원시 작업 스케줄러를 사용하여 여러 BASIC 프로그램을 동시에 실행할 수 있습니다.PDP-8은 코어 메모리를 사용했기 때문에 메모리는 항상 빠듯했습니다.이것은 몇 년 후에 도입된 RAM 기술에 비해 매우 비쌌습니다.단 8K의 12비트 워드만으로 EDU20은 최대 4개의 터미널을 동시에 지원할 수 있었습니다.단, 메모리를 증설하는 것이 좋습니다.이 코드에는 디스크 디바이스 드라이버와 파일 시스템 핸들러가 포함되어 있기 때문에 EDU25에는 4K 메모리 뱅크가 추가로 필요했습니다(최소 12K).실행 중 EDU20 및 EDU25는 OS/8 시스템 호출을 사용하지 않는 자체 프로그램이었습니다.OS/8 명령어 인터프리터에서 호출되는 즉시 OS/8의 상주 부분 전체를 덮어씁니다.모두 256단어입니다.기동시에, EDU25는 메모리의 내용을 DEC테이프나 디스크에 보존해, 종료시에 복원합니다.그러나 EDU20은 블록 교체 가능한 장치가 없는 하드웨어 구성을 대상으로 했기 때문에 이를 수행할 수 없었습니다.
포트란
무료로 이용할 수 있는 FORTRAN II 컴파일러와 더불어, 추가 비용으로 이용 가능한 완전한 FORTRAN IV 컴파일러도 있었다.이 컴파일러는 옵션인 FPP-8 부동소수점 프로세서의 코드를 생성했습니다.이것은 본질적으로 별개의 CPU이며, PDP-8 CPU와 메모리를 공유합니다.FPP-8 옵션이 인스톨 되어 있는 경우, FORTRAN 런타임코드가 FPP-8을 검출해, 메인 프로그램코드를 실행하고, PDP-8 CPU는 I/O프로세서로서 동작합니다.FPP-8이 없는 경우 런타임코드는 대신 PDP-8 CPU 상에서 동작하는 FPP-8 인터프리터를 호출하여 프로그램은 계속 실행되지만 속도는 상당히 저하됩니다.
버전 1의 이 FORTRAN IV 컴파일러에는 DO 루프가 잘못 카운트되는 흥미로운 버그가 있습니다.DO 루프는 1, 2, 3, 5, 6, 7,…(건너뛰기 4)입니다.이 문제를 해결하기 위한 빠른 패치가 릴리스되었습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Richard Lary는 OS/8과 RTS8에도 관여하고 있었습니다."What is a PDP 8?". Archived from the original on 2004-08-25.
- ^ 네, 물음표 붙여서!
- ^ "Disk Monitor System" (PDF). BitSavers.
- ^ COMPUTER WORLD, 1984년 6월: "OS/278은 74달러에 구입할 수 있습니다."
- ^ 파일: /Licenses/os8_license.os8swre.tar의 txt.Z
- ^ 주석이 달린 명령어 목록은 다음 사이트에서 구할 수 있습니다.
- ^ "My PDP8/E".
- ^ a b Rick Moore. "OS-8 Field Service Assistance Brochure".
- ^ 12비트 단어로 측정됨
- ^ 256,000 x 12비트 워드
- ^ 다른 파일 형식도 데이터 저장에 사용할 수 있습니다.
- ^ "OS/8". Computer History Wiki.
Squish is like defrag, in that it'll actually delete files, and move stuff around so you can get the maximum free space.
- ^ 페이지 6~67 인
- ^ 1970 - 1977
- ^ "OS/8은 8년 동안만 날짜를 저장할 수 있습니다.." "Directory of linctape-images/os8l/ps-8-system-25.linc".
- ^ DEC의 PDP-8용 상용 운영체제인 COS-310은 ...을 지원했지만 새로운 텍스트 파일 형식을 사용했습니다.파일 시스템은 OS/8과 거의 동일하지만 날짜가 다르게 기록됩니다.."
- ^ "The Digital Equipment Corporation PDP-8 : Frequently Asked Questions".
- ^ OS/8 EDIT의 프로그래머의 개요에 대해서는, 을 참조해 주세요.
- ^ "4K Fortran programmer's reference manual" (PDF).
외부 링크
- SIMH 소프트웨어 키트(OS/8 이미지 포함)
- OS/8 Bitsaver 매뉴얼
- DEC의 Hobbyist License 및 문서