TSS(운영 체제)

TSS (operating system)
TSS
IBM logo.svg
개발자IBM
동작 상태단종
소스 모델사용 가능한 소스
초기 릴리즈1967년; 55년 전 (재설정)
이용가능기간:영어
플랫폼시스템/360 모델67, 시스템/370 모델(DAT 포함)
체납
사용자 인터페이스
명령줄 인터페이스
면허증.TSS/360: 무료
TSS/370: 독자 사양
IBM System/360 모델 67-2.이것은 TSS/360이 동작하는 컴퓨터 모델입니다.

IBM Time Sharing System TSS/360시스템/360 메인프레임 라인의 특수 모델인 모델 67만을 위해 설계된 단종된 초기 시분할 운영 체제입니다.1967년 제한된 고객에게 시험적으로 제공되었지만, IBM은 공식적으로 지원 제품으로 출시하지 않았습니다.TSS는 많은 새로운 기능을 개척했으며, 그 중 일부는 나중에 MVS와 같은 더 인기 있는 시스템에 등장했습니다. TSS는 System/370303x 시스템으로 마이그레이션되었지만, 많은 진보와 새로운 기능에도 불구하고 기대에 부응하지 못하고 결국 취소되었습니다.TSS/370은 UNIX에서 IBM [1]메인프레임으로의 포트의 기반으로 사용되었습니다.TSS/360은 또한 TSS/8 운영 [2]체제의 개발에 영감을 주었습니다.

참신한 특징

TSS/360은 긴밀하게 결합된 대칭 다중 처리의 첫 번째 구현 중 하나였습니다.모델 67 메인프레임 쌍은 공통 물리 메모리 공간을 공유하여 커널(및 애플리케이션) 코드의 단일 복사본을 실행했습니다.1개의 프로세서에서 기동하는 I/O 조작이 종료되어 다른 프로세서에서 인터럽트가 발생할 수 있습니다.모델 67은 코드 크리티컬 섹션에 잠금을 구현하기 위해 테스트 및 세트라고 하는 표준 360 명령을 사용했습니다.

또한 위치 독립 [3]코드를 사용하여 가상 메모리와 가상 머신을 구현했습니다.

TSS/360에는 "Table Driven Scheduler"의 초기 구현이 포함되어 있습니다.이 테이블은 현재 priority, 작업 세트 크기, 지금까지 사용된 타임 라이선스 수 등의 파라미터를 컬럼으로 하는 사용자 구성 테이블입니다.커널은 스레드의 새로운 우선순위를 계산할 때 이 표를 참조합니다.이는 나중에 Honeywell CP-VIBM z/OS같은 다양한 시스템에서 나타났습니다.

당시 운영체제 소프트웨어의 표준과 마찬가지로 TSS/360 고객(General Motors Research Laboraties 등)은 운영체제 코드와 개발 도구의 모든 소스에 액세스할 수 있었습니다.사용자가 개발한 개선사항과 패치가 공식 소스 코드에 자주 포함되었습니다.

사용자 인터페이스

TSS는 사용자에게 명령줄 [4]인터페이스를 제공합니다.사용자는 명령 시스템과 상호 작용합니다.명령어 형식은 다음과 같습니다.Command_Name[ operands]명령어 이름은 공백 없이 1~8글자입니다.오퍼랜드는 명령어에 따라 옵션이며 명령어 이름과 적어도1개의 공백으로 구분해야 합니다.여러 오퍼랜드는 TAB 문자 또는 쉼표로 구분해야 합니다.명령줄은 계속할 줄의 끝에 하이픈("-")을 입력하고 다음 줄의 시작 부분에 계속을 입력하여 계속할 수 있습니다.세미콜론(";")으로 구분하여 한 줄에 여러 명령을 쓸 수 있습니다.코멘트는 명령줄에서 허용되며 세미콜론으로 구분되며 작은 따옴표("")에 포함됩니다.피연산자는 "positional" 또는 "positional=value" 형식의 키워드일 수 있습니다.

시스템 명령어는 7개의 카테고리로 나뉩니다.

  • 작업 관리 – LOGON, LOGOFF, ABEND 등
  • 데이터 관리 – Catalog, DDEF, DELETE 등
  • 프로그램 관리 – 로드, 덤프, 디스플레이, 트랩 등
  • 명령어 작성 – PROCDEF, 빌트인
  • 메시지 처리
  • 사용자 프로파일– SYSONE, DEFAULT, PROFILE 등
  • 프로그램 제품 언어 인터페이스– ASM (어셈블러 (F), COBOL, HASM (어셈블러 (H), PLI (PL/I (F), PLIOPT (PL/I 최적화 컴파일러), FTNH (FORTRAN (H)

위치 독립 코드

TSS는 위치 독립 코드의 조기 구현을 제공했으며, 각 프로세스에서 서로 다른 가상 주소에 매핑될 수 있는 실행 파일의 단일 복사본을 서로 다른 프로세스에서 실행하도록 하는 기능을 제공했습니다.

각 절차에는 읽기 전용 공용 CPECT, 쓰기 가능한 개인 프로토타입 섹션(PSECT) 및 쓰기 가능한 저장 영역이 있을 수 있으며, 일반적으로 PSECT에 위치합니다.동적[5] 로더는 모든 프로세스에서 동일한 가상 주소에 루틴을 배치하지 않으므로 외부 절차 및 진입점의 주소 상수는 PSECT에 위치해야 합니다.타입 I 연동 규약에 따르는 프로그램은 일반적으로 레지스터 13이 가리키는 세이브 영역에 레지스터를 저장하고, 세이브 영역의 워드 19에서 그 PCECT의 주소를 검색하여 세이브 영역을 새로운 세이브 영역으로 체인하고, 새로운 세이브 영역의 주소를 레지스터 13에 넣는 역할을 한다.타입 I 링크 규약에 따르는 발신자는, 그 루틴의 V상수를 General Register 15(GR15)에 로드해,[6][7] 그 루틴을 호출하기 전에, 그 루틴의 PSECT의 R상수를 세이브 영역의 19번째 워드에 카피한다.

다이내믹 로더는 프로그램을 로드하면 PSECT의 복사본을 만들고 현재 프로세스 내에서 할당된 가상 주소를 반영하도록 애드콘을 재배치합니다.따라서 프로그램의 각 사용자는 PSECT의 고유한 복사본을 가집니다.

다이내믹 로더는 첫 번째 페이지에 장애가 발생할 때까지 프로그램 페이지를 로드하거나 주소 상수를 확인하지 않습니다.

비판

TSS/360은 성능 및 신뢰성 문제와 OS/360과의 호환성 부족으로 어려움을 겪었지만, 이러한 문제는 결국 해결되었습니다.IBM은 Multics와 경쟁하기 위해 다수의 프로그래머 직원과 함께 매우 공격적인 일정에 따라 TSS를 개발하려고 시도했습니다.1967년에는 TSS/360이 OS/360과 같은 지연을 겪고 있는 것이 분명해졌습니다.1968년 2월, SHARE 30 당시, 18개의 S/360-67 사이트가 TSS를 실행하려고 했습니다.컨퍼런스에서 IBM은 "블루 레터"를 통해 TSS/360이 폐기될 것이라고 발표했으며, 이는 시분할 커뮤니티에 큰 타격을 주었습니다.이 결정은 일시적으로 번복되어 1971년까지 TSS/360은 공식적으로 취소되지 않았다.다만, TSS/360은, 잠정적인 대책으로서 기존의 TSS/360 고객에게도 당분간 조용히 이용 가능하게 되었습니다.

TSS/360이 취소된 후, IBM은 OS/360용 시간 공유 모니터인 TSO(Time Sharing Option)에 주력했습니다.다른 몇몇 그룹에서는 S/360-67을 위한 야심적이지 않고 더 성공적인 시간 공유 시스템을 개발했습니다. 특히 IBM의 Cambridge Scientific Center, VM/370, 미시간 대학의 MTS, 스탠포드 대학의 ORVYL로 발전한 초기 가상 머신 모니터의 CP-67이 그렇습니다.IBM은 또한 여러 릴리스를 거친 기존 TSS/360 고객을 위한 마이그레이션 경로로 TSS/370 PRPQ를 제공했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Felton, W. A.; Miller, G. L.; Milner, J. M. (October 1984). "The UNIX System : A UNIX System Implementation for System/370". AT&T Bell Laboratories Technical Journal. 63 (8): 1751–1767. doi:10.1002/j.1538-7305.1984.tb00063.x.
  2. ^ C. Gordon Bell; J. Craig Mudge; John E. McNamara (12 May 2014). Computer Engineering: A DEC View of Hardware Systems Design. Elsevier Science. p. 180. ISBN 978-1-4832-2110-6. TSS/8 was designed at Carnegie-Mellon University with graduate student Adrian van de Goor, in reaction to the cost, performance, reliability, and complexity of IBM's TSS/360 (for their Model 67). Although the TSS/360 was not marketed, it eventually worked and contributed some ideas and trained thousands for IBM. At Carnegie-Mellon (CMU), a TSS/8 operated until 1974 when the special swapping disk expired. The cost per user or per job tended to be about 1/20 of the TSS/360 system CMU ran.
  3. ^ Levine, John R. (2000) [October 1999]. "Chapter 8: Loading and overlays". Linkers and Loaders. The Morgan Kaufmann Series in Software Engineering and Programming (1 ed.). San Francisco, USA: Morgan Kaufmann. ISBN 1-55860-496-0. OCLC 42413382. ISBN 978-1-55860-496-4. 코드: [1] 에라타: [2]
  4. ^ IBM Corporation (August 1976). Time Sharing System Command System User's Guide (GC28-2001-9) (PDF). Retrieved May 2, 2015.
  5. ^ IBM System/360 Time Sharing System Dynamic Loader (PDF) (Fourth ed.). September 1971. GY28-2031-3.
  6. ^ IBM Corporation (April 1976). IBM Time Sharing System Assembler Programmer's Guide (GC28-2032-6) (PDF). pp. 132–147. Retrieved December 25, 2021.
  7. ^ IBM Corporation (1966). IBM System/360 Model 67 Time Sharing System Preliminary Technical Summary (C20-1647-0) (PDF). pp. 47–50. Retrieved December 25, 2021.

추가 정보

외부 링크