OS/360
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
OS/360은 IBM이 System/360 하드웨어용으로 개발한 운영 체제로, 1960년대에 출시되었다. IBM은 OS/360을 세 가지 버전으로 제공했는데, PCP, MFT, MVT로, 각기 다른 시스템 환경에 맞춰 설계되었다. OS/360은 IBM의 조직 문제와 소프트웨어 개발 지연으로 인해 출시가 늦어졌지만, 이후 MVS, OS/VS1, OS/VS2, OS/390, z/OS 등 다양한 운영 체제의 기반이 되었다. 현재는 퍼블릭 도메인으로 공개되어 에뮬레이터를 통해 사용할 수 있으며, 프레데릭 브룩스의 저서 『인월의 신화』에 OS/360 개발 경험을 바탕으로 한 교훈이 담겨 있다.
더 읽어볼만한 페이지
OS/360 - [IT 관련 정보]에 관한 문서 | |
---|---|
운영체제 정보 | |
이름 | IBM System/360 운영체제 (OS/360) |
![]() | |
개발사 | IBM |
계열 | OS/360 및 후속 |
최초 출시일 | 1966년 3월 31일 |
최신 릴리스 버전 | 21.8 |
최신 릴리스 날짜 | 1972년 8월 |
이전 버전 | 없음 |
후속 버전 | OS/VS1, OS/VS2 (SVS) |
마케팅 대상 | IBM 메인프레임 컴퓨터 |
프로그래밍 언어 | 어셈블리어, 베이직 시스템 랭귀지 (BSL) |
커널 타입 | 해당 없음 |
라이선스 | 퍼블릭 도메인 |
지원 플랫폼 | S/360, S/370 |
2. 명칭
정식 명칭은 "IBM System/360 운영 체제"이다.[1] 사용자들은 "빅 OS", "OS/MFT"와 같은 별명을 붙이기도 했지만, IBM에서 공식적으로 인정한 것은 아니었다.[1]
OS/360은 본격적인 상용 운영체제(OS)로서는 세계 최초이며, 다음과 같은 특징을 가지고 있다.[1]
3. 특징
4. 구성 요소
OS/360은 목적에 따라 세 가지 종류의 제어 프로그램을 제공했으며, 다양한 접근 방식을 통해 파일 읽기, 쓰기 및 데이터 통신을 지원했다.
- 제어 프로그램:
- '''PCP''' (Primary Control Program, 주 제어 프로그램): 싱글 태스크 방식으로 작업을 순차 처리한다.
- '''MFT''' (Multiprogramming with a Fixed number of Tasks, 고정된 작업 수의 다중 프로그래밍): 멀티태스킹을 지원하지만, 시스템 생성(SysGen) 시 미리 설정된 고정된 수와 크기의 메모리 파티션에서만 태스크를 동시에 처리할 수 있다.[17]
- '''MVT''' (Multiprogramming with a Variable number of Tasks, 가변 작업 수 다중 프로그래밍): 사용하는 메모리 크기를 동적으로 변경할 수 있으며, 동시에 처리하는 태스크 수도 가변적으로 처리할 수 있다.
이 세 가지 옵션은 매우 유사한 기능을 제공하여, 애플리케이션 간 이식에 일반적으로 최소한의 노력만 필요했다.[16]
- 순차 데이터 세트: BSAM 또는 QSAM을 사용하여 처음부터 끝까지 레코드를 한 번에 하나씩 읽거나 쓴다.
- 인덱스된(ISAM) 파일: 각 레코드의 지정된 섹션은 특정 레코드를 조회하는 데 사용할 수 있는 키로 정의된다.
- 직접 액세스(BDAM) 파일: 응용 프로그램은 액세스하려는 데이터의 직접 액세스 저장 장치(DASD) 내의 상대 블록 번호, 상대 트랙 및 레코드(TTR) 또는 실제 물리적 위치(MBBCCHHR)를 지정하거나 키로 검색을 시작한다.
- 분할된 및 액세스 방식(BPAM): 주로 프로그램 라이브러리를 관리하는 데 사용된다.
- 생성 데이터 그룹(GDG): 원래 조부-부-자 백업 절차를 지원하도록 설계되었다.
- BTAM: 데이터 통신 기능이다.
4. 1. 제어 프로그램
OS/360은 목적에 따라 세 가지 종류의 제어 프로그램을 제공했다.- '''PCP''' (Primary Control Program, 주 제어 프로그램): 싱글 태스크 방식으로 작업을 순차적으로 처리한다.
- '''MFT''' (Multiprogramming with a Fixed number of Tasks, 고정된 작업 수의 다중 프로그래밍): 멀티태스킹을 지원하지만, 시스템 생성(SysGen) 시 미리 설정한 고정된 수와 크기의 메모리 파티션에서만 태스크를 동시에 처리할 수 있다.[17]
- '''MVT''' (Multiprogramming with a Variable number of Tasks, 가변 작업 수 다중 프로그래밍): 사용하는 메모리 크기를 동적으로 변경할 수 있으며, 동시에 처리하는 태스크 수도 가변적으로 처리할 수 있다.
이 세 가지 옵션은 매우 유사한 기능을 제공하여, 애플리케이션 간 이식에 일반적으로 최소한의 노력만 필요했다.[16] 대부분의[16] IBM 프로그램 제품, 애플리케이션 및 유틸리티 소프트웨어는 동일한 버전으로 모두에서 실행되었다. OS/360은 또한 IBM의 일괄 처리 스크립트 언어인 JCL을 낳았다.
하지만 OS/360은 IBM의 조직상의 혼란과 거대한 소프트웨어 개발 경험 및 기술상의 중요한 변경 경험 부족으로 인해 예정보다 늦게 출시되었다. 당초 계획은 첫 번째 단순 버전을 1965년에, 기능을 담은 복합 버전을 1966년에 출시할 예정이었으나, 각각 1년씩 늦어져 PCP가 1966년에, MVT가 1967년에 출시되었다. 그 때문에 System/360을 사용하는 고객에게는 대체로 더 단순한 시스템인 '''BOS''', '''TOS''', '''DOS''' 계열이 세트로 급하게 제공되었다.
4. 1. 1. PCP (Primary Control Program)
PCP(Primary Control Program, 주 제어 프로그램)는 메모리가 작은 시스템을 위해 설계되었다. PCP는 메모리 파티션을 하나만 갖는 MFT[19]와 유사하다. 경험상 OS/360을 128KiB 미만의 메모리를 가진 시스템에 설치하는 것은 권장되지 않았지만, 48KiB 메모리와 같이 훨씬 작은 시스템에서도 제한적인 생산 사용이 가능했다. IBM은 OS/360의 최종 릴리스에서 PCP 옵션을 삭제하고 MFT II와 MVT만 남겨두었는데, 이 둘은 더 많은 메모리를 필요로 했다.PCP는 시스템 종속적인 매크로 확장에서 SYS=MIN으로도 불렸다.
4. 1. 2. MFT (Multiprogramming with a Fixed number of Tasks)
MFT(Multiprogramming with a Fixed number of Tasks, 고정된 작업 수의 다중 프로그래밍)는 1967년 MVT(Multiprogramming with a Variable number of Tasks, 가변 작업 수 다중 프로그래밍)가 출시될 때까지 임시 방편으로 사용될 예정이었다.[16] 초기 MVT는 여러 문제점을 가지고 있었기 때문에, 더 단순한 MFT가 수년 동안 계속 사용되었다.[17]MFT는 시스템 생성(SysGen) 과정에서 고객이 지정한 고정된 수의 파티션을 사용했다.[17] 각 파티션은 고정된 경계를 가진 메모리 영역으로, 여러 애플리케이션 프로그램을 동시에 실행할 수 있도록 했다.[18]
MFT의 첫 번째 버전은 PCP와 많은 코드 및 아키텍처를 공유했으며, 네 개의 파티션으로 제한되었다.[20] 여러 파티션을 실행하는 것은 매우 번거로웠기 때문에, 많은 설치 환경에서 휴스턴 자동 스풀 우선순위(HASP)를 사용하여 복잡성을 완화했다.
MFT 버전 II (MFT-II)는 MVT와 더 많은 제어 프로그램 및 스케줄러 코드를 공유했으며, 실행하기가 훨씬 더 유연했다.[21] 파티션의 최대 수는 52개로 증가했다. MFT-II의 후기 수정 사항은 ''서브 태스킹''을 추가하여 고정된 작업 수가 더 이상 고정되지 않도록 했지만, 파티션 수는 여전히 제한으로 남아 있었다.
경험상 256 KiB 미만의 메모리를 가진 시스템에는 MFT를 설치하는 것이 권장되지 않았다.[22]
4. 1. 3. MVT (Multiprogramming with a Variable number of Tasks)
MVT(Multiprogramming with a Variable number of Tasks)는 OS/360의 제어 프로그램에서 사용할 수 있는 세 가지 구성 중 가장 정교한 방식이었다. MVT는 가변적인 수의 작업과 동적으로 크기가 변하는 메모리 파티션을 사용하여 시스템 자원을 효율적으로 활용한다.[16]초기 버전의 MVT는 많은 문제점을 가지고 있었기 때문에, 더 단순한 MFT가 수년 동안 계속 사용되었다.[17] 1972년 가상 메모리를 갖춘 새로운 System/370 시스템을 도입한 후, IBM은 MFT 2를 이 특정 라인의 마지막 시스템인 OS/VS1로 개발했다.
MVT는 응용 프로그램 관점에서 PCP, MFT와 동일한 응용 프로그래밍 인터페이스(API) 및 응용 프로그램 이진 인터페이스(ABI)를 사용하여 응용 프로그램 수정 없이 MFT와 MVT 간에 전송될 수 있었다. 또한, JCL(배치 작업을 시작하기 위한 작업 제어 언어)은 DOS/360보다 더 유연하고 사용하기는 더 쉬웠지만 더 복잡했다. 파일을 읽고 쓰고 데이터를 통신하기 위한 동일한 기능(액세스 방식)을 제공했다.[28]
- 순차 데이터 세트: BSAM 또는 QSAM을 사용하여 처음부터 끝까지 레코드를 한 번에 하나씩 읽거나 쓴다. 테이프 드라이브, 카드 리더/펀처 및 프린터에 사용 가능.
- 인덱스된(ISAM) 파일: 각 레코드의 지정된 섹션은 특정 레코드를 조회하는 데 사용할 수 있는 키로 정의.
- 직접 액세스(BDAM) 파일: 응용 프로그램은 액세스하려는 데이터의 직접 액세스 저장 장치(DASD) 내의 상대 블록 번호, 상대 트랙 및 레코드(TTR) 또는 실제 물리적 위치(MBBCCHHR)를 지정하거나 키로 검색을 시작. BDAM 프로그래밍은 쉽지 않았지만, 디스크에서 데이터에 액세스하는 가장 빠른 방법이었으며 많은 소프트웨어 회사가 데이터베이스 관리 시스템을 비롯한 제품에 사용.
- 분할된 및 액세스 방식(BPAM): 주로 프로그램 라이브러리를 관리하는 데 사용.
- 생성 데이터 그룹(GDG): 원래 조부-부-자 백업 절차를 지원하도록 설계.
- BTAM: 데이터 통신 기능.
OS/VS2 릴리스 1은 가상 메모리와 VSAM을 갖춘 MVT였다.[18] 이 버전은 OS/VS2 릴리스 2(MVS, Multiple Virtual Storage)가 도입되면서 결국 OS/VS2 SVS로 이름이 변경되었다.
1974년 IBM은 OS/VS2 릴리스 1과 상위 호환되는 새로운 운영 체제인 OS/VS2 릴리스 2를 출시했다. 가장 눈에 띄는 새로운 기능은 여러 가상 주소 공간을 지원한다는 점이다. 즉, 서로 다른 애플리케이션이 동일한 범위의 가상 주소를 사용하고 있다고 생각했지만, 새로운 시스템의 가상 메모리 기능은 이를 서로 다른 범위의 실제 메모리 주소에 매핑했다.[18] 이 방식은 MVT와 SVS에 존재했던 메모리 단편화의 위험을 제거하고 시스템의 내부 보안을 개선했다. 새로운 시스템은 빠르게 "MVS"(Multiple Virtual Storages)로 알려지게 되었고, 원래 OS/VS2는 "SVS"(Single Virtual Storage)로 알려지게 되었다.[36]
MVS는 사용자가 높은 우선순위의 일괄 작업에 대한 성능 목표를 정의할 수 있도록 새로운 작업 부하 관리 방식을 도입했다.[37]
MVS는 IBM이 ''긴밀하게 결합된 멀티프로세싱''이라고 부르는 것을 지원하는 System/370[38]의 IBM 최초의 주류 운영 체제였으며, 2개의 CPU가 동일한 메모리에 대한 동시 액세스를 공유하여 더 강력한 처리 능력을 제공했다.
처음에 MVS는 작업 대기열 관리자인 JES2 (Job Entry Subsystem 2)와 함께 제공되었으며, 휴스턴 자동 스풀링 우선순위에서 파생되었으며 다른 곳에 위치한 워크스테이션에서 원격 작업 입력도 지원했다. 1976년 IBM은 JES3 (Job Entry Subsystem 3)라는 또 다른 옵션을 제공하여 하나의 CPU가 여러 물리적으로 다른 CPU에 작업을 공급하는 단일 작업 대기열을 관리할 수 있으므로, 하나의 운영자 콘솔이 해당 CPU의 모든 작업을 관리할 수 있었다.[39]
4. 2. 접근 방식 (Access Methods)
OS/360은 파일을 읽고 쓰고 데이터를 통신하기 위한 다양한 접근 방식을 제공한다.[16] 대부분의 IBM 프로그램 제품, 애플리케이션 및 유틸리티 소프트웨어의 동일한 버전이 OS/360에서 실행되었다.[16]MFT 및 MVT에서만 사용할 수 있는 기능은 다음과 같다.
- MFT II 및 MVT용 스풀(SPOOL) 기능 (DOS/360에는 처음에는 없었지만 나중에 POWER 애플리케이션에서 제공됨).
- MFT (릴리스 19 이상) 및 MVT의 애플리케이션은 하위 작업을 생성할 수 있었으며, 이를 통해 단일 작업 내에서 멀티태스킹(멀티스레딩)이 가능했다.
- 그래픽 작업 처리
- 위성 그래픽 작업 처리
- 원격 작업 입력
- 큐 통신 접근 방식(QTAM)
- 통신 접근 방식(TCAM)
- --
변경된 내용은 없습니다. 모든 지시사항을 준수하여 작성되었습니다.
4. 3. 작업 제어 언어 (JCL)
OS/360은 배치 작업을 시작하기 위한 작업 제어 언어인 JCL을 사용한다. OS/360의 JCL은 DOS/360보다 더 유연하고 사용하기 쉬웠지만, 더 복잡했다.[16]4. 4. 시스템 유틸리티
IBM은 S/370 지원을 위해 OS/360 SYSGEN 옵션을 제공했으며, DAT는 지원하지 않았지만 다음을 지원했다.[32]- 제어 레지스터 지원
- 향상된 I/O 지원
- S/370 머신 검사 핸들러 제공
- 새로운 타이머 기능에 대한 제한적인 지원 제공
5. 패밀리
시기에 따라 주로 소형 기종(모델)용으로는 BOS가, 대형 기종(모델)용으로는 MFT, 더 나아가 MVT가 준비되었다.
5. 1. 주류(대형 기종용)
- '''PCP''' (Primary Control Program) (1966년~)
- '''MFT''' (Multiprogramming with a Fixed number of Tasks) (1966년~)
- '''MVT''' (Multiprogramming with a Variable number of Tasks) (1967년~) (현재의 z/OS의 기원)
공식적으로 PCP, MFT, MVT는 OS/360과 별개의 운영 체제가 아니었다. 단지 설치 시 구성 옵션일 뿐이었다. 오늘날의 표현으로는, OS 커널 및 스케줄러의 세 가지 다른 변형이다. 그러나, 매우 다른 동작과 메모리 요구 사항으로 인해, 사용자들은 일반적으로 이를 사실상 별개의 운영 체제로 간주하고, 각각 "초기 OS/360", "OS/MFT", "OS/MVT"로 지칭했다. MFT는 주로 메모리를 관리하는 방식에서 MVT와 달랐다. MFT를 설치할 때, 고객은 ''시스템 생성''(SysGen)에서 고정된[17] 수의 ''파티션''을 지정했는데, 파티션은 고정된 경계를 가진 메모리 영역으로, 애플리케이션 프로그램을 동시에 실행할 수 있었다.[18]
OS/VS1은 MFT의 후속 제품으로, RES, 가상 메모리 등 몇 가지 기능이 추가되어 유사한 기능을 제공했다. VSAM(아래 참조)은 처음에는 독립적인 구성 요소 릴리스(ICR)로 제공되었으며 나중에는 OS/VS1 기본 시스템에 통합되었다.[18] IBM은 1983년까지 OS/VS1에 대한 비교적 사소한 개선을 출시했으며, 1984년에는 더 이상 출시하지 않겠다고 발표했다. AIX/370, AIX/ESA, DPPX, IX/370, OS/VS1 및 TSS/370은 현대적인 후손이 없는 유일한 System/370 운영 체제이다.
OS/VS2 릴리스 1은 가상 메모리와 VSAM을 갖춘 MVT였다(아래 참조).[18] 이 버전은 OS/VS2 릴리스 2(MVS라고도 함, Multiple Virtual Storage)가 도입되면서 결국 OS/VS2 SVS로 이름이 변경되었다. SVS는 MVT에서 MVS로 넘어가는 발판으로 의도되었으며, 오늘날에는 역사적인 의미만 있다.
1974년 IBM은 OS/VS2 릴리스 1과 상위 호환되는 새로운 운영 체제인 OS/VS2 릴리스 2를 출시했다. 새로운 시스템의 Supervisor는 BSL의 새로운 방언인 PL/S로 대대적으로 다시 작성되었다.[33][34] BSL과 PL/S는 어셈블리 언어 코드를 특권 명령을 포함하여 전체 컴퓨터를 제어하는 데 필요한 PL/I의 방언이었다. OS 디스패처 및 IOS와 같은 시간 제약적인 OS 구성 요소는 OS/360 IEUASM 어셈블러에서 IFOX00 어셈블러[35](구형 OS/360)로 OS/VS를 위해 향상된 어셈블리 언어로 코딩되었다.
{| class="wikitable"
| align="center" | '''MVS 주소 공간 - 전체 보기'''
|-
MVS(모든 주소 공간의 공유 부분) | ||
앱 1 | 앱 2 | 앱 3 |
공유 가상 영역(MVS 제어) |
|-
|align="center" | '''한 애플리케이션의 보기'''
|-
MVS |
앱 1 |
공유 가상 영역 |
|}
새로운 버전의 가장 눈에 띄는 기능은 여러 가상 주소 공간을 지원한다는 점이었다. 즉, 서로 다른 애플리케이션이 동일한 범위의 가상 주소를 사용하고 있다고 생각했지만, 새로운 시스템의 가상 메모리 기능은 이를 서로 다른 범위의 실제 메모리 주소에 매핑했다. 각 애플리케이션의 주소 공간은 운영 체제(모든 작업에서 공유되는 하나의 인스턴스), 각 애플리케이션에 고유한 애플리케이션 영역, 작업 간 통신을 포함한 다양한 용도로 사용되는 공유 가상 영역의 3개 영역으로 구성되었다. IBM은 애플리케이션 영역이 항상 8MB 이상이 될 것이라고 약속했다. 이 방식은 MVT와 SVS에 존재했던 메모리 단편화의 위험을 제거하고 시스템의 내부 보안을 개선했다.[18] 새로운 시스템은 빠르게 "MVS"(Multiple Virtual Storages)로 알려지게 되었고, 원래 OS/VS2는 "SVS"(Single Virtual Storage)로 알려지게 되었으며, IBM 자체도 이러한 용어를 받아들여 MVS의 후속 제품에 "MVS/''xxx''"라는 레이블을 붙였다.[36]
MVS는 새로운 작업 부하 관리 방식을 도입하여 사용자가 높은 우선순위의 일괄 작업에 대한 성능 목표를 정의할 수 있도록 했다. 이를 통해 사용자는 최고 우선순위 작업의 성능에 영향을 미치지 않으면서 이전보다 더 많은 작업을 시스템에 제공할 수 있었다.[37]
MVS는 IBM이 ''긴밀하게 결합된 멀티프로세싱''이라고 부르는 것을 지원하는 System/370[38]의 IBM 최초의 주류 운영 체제였으며, 2개의 CPU(나중에 IBM 메인프레임의 경우 최대 12개, Amdahl 메인프레임의 경우 최대 16개)가 동일한 메모리에 대한 동시 액세스(운영 체제 및 주변 장치의 ''단일'' 복사본)를 공유하여 더 강력한 처리 능력을 제공하고, 하나의 CPU가 실패할 경우 어느 정도의 무결성 저하를 제공했다(다행히 시스템 가동 시간이 ''시간''에서 ''일''로, 그리고 ''년''으로 증가함에 따라 점점 더 드문 이벤트가 되었다).
처음에 MVS는 작업 대기열 관리자인 JES2 (Job Entry Subsystem 2)와 함께 제공되었으며, HASP (휴스턴 자동 스풀링 우선순위)에서 파생되었으며 다른 곳에 위치한 워크스테이션에서 원격 작업 입력도 지원했다. JES2는 하나의 CPU(긴밀하게 결합된 다중 프로세서 시스템일 수 있음)에 대한 작업만 관리할 수 있다. 1976년 IBM은 ASP (첨부 지원 프로세서)의 파생 제품인 JES3 (Job Entry Subsystem 3)라는 또 다른 옵션을 제공하여 하나의 CPU가 여러 물리적으로 다른 CPU에 작업을 공급하는 단일 작업 대기열을 관리할 수 있으므로, 하나의 운영자 콘솔이 해당 CPU의 모든 작업을 관리할 수 있게 하였다.[39] 참고: JES1은 OS/VS1(위 참조)의 작업 대기열 관리자였다.
5. 2. 방계(소형 기종용)
- '''BOS''' (Basic Operating System) (1965년~) (최소 구성용)
- '''TOS''' (Tape Operating System) (1965년~) (테이프 장치만 있는 구성용)
- '''DOS''' (Disk Operating System) (1965년~) (디스크 장치가 있는 구성용. 현재의 z/VSE의 기원)[16]
6. 역사
OS/360은 세 가지 제어 프로그램 계열로 탄생했다. 기능과 마찬가지로 그 크기도 증가했다. 먼저, 작업을 순차적으로 처리하는 싱글 태스크인 '''PCP'''가 탄생했다. 다음으로, 멀티태스킹을 처리하지만, 미리 크기와 수를 설정해 놓은 메모리만큼만 태스크의 동시 처리를 허용하는 '''MFT'''가 탄생했다. 마지막으로, 사용하는 메모리 크기를 동적으로 변경할 수 있으며, 동시에 처리하는 태스크의 수도 가변적으로 처리할 수 있는 '''MVT'''가 등장했다.[45] OS/360은 IBM의 일괄 처리 스크립트 언어인 JCL을 낳았다.
IBM은 1966년에 한 번에 하나의 작업만 실행할 수 있는 PCP(기본 제어 프로그램), 중간급 기계를 위한 MFT(고정된 작업 수로 멀티프로그래밍), 최고급 기계를 위한 MVT(가변적인 작업 수로 멀티프로그래밍)의 세 가지 OS/360 변형을 출시했다. MFT와 MVT는 후속 제품이 출시된 지 10년 후인 1981년까지 사용되었다.[12][13] 초기에 IBM은 MFT와 MVT가 단순히 "OS/360 제어 프로그램의 두 가지 구성"이라고 주장했지만, 나중에 IBM은 이를 "OS/360의 별도 버전"이라고 설명했다.[18]
IBM은 원래 OS/360을 어셈블리 언어로 작성했다. 나중에 IBM은 PL/I에서 파생된 새로운 언어인 기본 시스템 언어(BSL)[14]로 일부 OS/360 코드를 작성했다. 릴리스 20의 TSO 코드 중 상당 부분이 BSL로 작성되었다.
OS/360은 퍼블릭 도메인에 있으며 자유롭게 다운로드할 수 있다. 실제 System/360 하드웨어에서 실행될 뿐만 아니라, 리눅스, Solaris, macOS, Windows를 포함한 대부분의 UNIX 및 Unix 계열 시스템에서 실행되는 무료 Hercules 에뮬레이터에서도 실행할 수 있다. Hercules에서 실행할 준비가 된 사전 생성된 OS/360 21.8 시스템을 제공하는 OS/360 턴키 CD가 있다.
6. 1. 개발 배경
IBM은 원래 System/360이 32KiB의 작은 기계에서도 실행할 수 있는 배치 지향적[7] 운영 체제인 OS/360만을 갖도록 의도했다. 그러나 다음과 같은 두 가지 이유로 인해 다른, 더 간단한 배치 지향적 운영 체제를 생산하기로 결정했다.- OS/360을 구성하는 "수동 개입 없이 시스템을 작동할 수 있게 하는 약 150만 개의 명령어"[9]가 더 작은 System/360 모델에서 사용 가능한 제한된 메모리에 맞지 않았기 때문이다.[10]
- OS/360의 개발이 예상보다 훨씬 오래 걸릴 것이라는 것을 깨달았기 때문이다.
이러한 문제로 인해, IBM은 System/360 하드웨어 판매 붕괴를 막기 위해 일련의 임시 방편을 도입했다. 먼저 기본 프로그래밍 지원(BPS)과 BOS/360(8K 바이트 메모리를 가진 가장 작은 기계를 위한 기본 운영 체제), 그다음 TOS/360(최소 16K 바이트 메모리와 테이프 드라이브만 있는 기계를 위한 테이프 운영 체제)를 출시했으며, 마지막으로 주류 운영 체제가 되어 오늘날 널리 사용되는 VSEn의 조상이 된 DOS/360을 출시했다.[10][11]
6. 2. 개발 지연 및 임시 방편
OS/360은 IBM의 조직상의 혼란과 거대한 소프트웨어 개발 경험 및 기술상의 중요한 변경 경험 부족으로 인해 예정보다 늦게 출시되었다.[45] 당초 계획은 첫 번째 단순 버전을 1965년에, 기능을 담은 복합 버전을 1966년에 출시할 예정이었으나, 각각 1년씩 늦어져 PCP는 1966년에, MVT는 1967년에 출시되었다.이 때문에 System/360을 사용하는 고객에게는 대체로 더 단순한 시스템인 BOS, TOS, DOS 계열이 세트로 급하게 제공되었다.
6. 3. 후속 개발
DOS는 임시적인 도구로 기획 및 제작되었지만, 오늘날까지 살아남았다. 가상 기억 장치를 다루는 DOS/VS로 변화 및 지속되었고, 이후 '''DOS/VSE''', VSE/ESA, z/VSE로 변천해 갔다.[46]이후 System/370을 위해 가변 어드레싱을 수행하는 하드웨어가 개발되었을 때, OS/360 패밀리는 업그레이드되었고, MFT는 '''OS/VS1'''로, MVT는 '''OS/VS2'''로 이름을 변경했다. OS/VS2는 '''OS/VS2 Release 1''', 별칭 '''SVS''' (Single Virtual Storage)와 '''OS/VS2 Release 2''', 별칭 '''MVS''' (Multiple Virtual Storage)의 두 가지 형태로 발표되었다. SVS는 MVT에서 MVS로 이어지는 과정의 중간 단계로 의도된 버전으로, 오늘날에는 역사적인 관심의 대상으로서만 존재한다.[46]
MVS는 성공적인 머신 IBM360 시리즈의 System/370, System/390, zSeries, System z의 OS로서, OS/390, z/OS로 그 이름은 바뀌었지만, 2008년 시점에 현재도 계속 사용되고 있다.[46]
7. 타임라인
Single Sequential Scheduler
MFT
MVT?
MVT
MFT-II, VTOC positioning
MVT용 SMF
MFT용 SMF, MFT Attach, 1285/87/88 지원
(MVS/Extended Architecture) (MVS/XA)
(MVS/Extended Architecture) (MVS/XA)
(MVS/Enterprise System Architecture) (MVS/ESA)
(MVS/Enterprise System Architecture) (MVS/ESA)