입출력 감독자
Input/Output Supervisor입출력 감시자(IOS)[1]는 IBM 메인프레임 OS/360 및 승계자 운영체제의 제어 프로그램의 일부로서, 권한이 부여된 I/O 명령을 발행하고 I/O 장치 작동을 요청하는 프로그램의 I/O 중단을 정상 또는 비정상적인 종료까지 감독한다.
목적들
IOS는 두 가지 목적을 가지고 있다.
- 채널 프로그램 실행 요청인 I/O 요청을 처리하려면 다음과 같이 하십시오.
- 채널 프로그램 실행 및 운영자의 개입으로 인해 발생하는 I/O 인터럽트를 처리하려면 다음과 같이 하십시오.
프로그램 섹션
I/O 요청 및 중단을 쉽게 처리하기 위해 IOS는 두 개의 기본 프로그램 섹션(CGP)으로 나뉜다.
이 1차 섹션은 메인 저장소에 상주하며 채널 프로그램의 정상적인 실행을 위한 제어 프로그램 지원을 제공한다.
ERP(Error Recovery Procedures)라고 불리는 보조 프로그램 섹션(CSects)은 한 가지 예외를 제외하고는 외부 저장소에 위치하며 채널 프로그램의 비정상적인 실행으로부터 복구하기 위해 메인 저장소에 보관된다.OS의 초기 사례에서는, OS/360 제어 프로그램의 감독자 호출 「변환 영역」과 달리, 입력·출력 감독자의 「변환 영역」에 이 섹션이 도입되었다.OS의 포스트 MVT 인스턴스에서, 이 섹션들은 페이지 가능 링크팩 영역(PLPA)에 위치하며 요구 페이징된다.
유일한 예외는 물론, IPL 볼륨 및 특정 시스템 데이터셋과 연계될 수 있는 데이터셋을 포함하는 다른 볼륨에서 I/O 오류를 복구하기 위해 항상 상주해야 하는 직접 액세스 스토리지 장치의 ERP이다.
멀티프로그래밍
IOS는 여러 I/O 채널, 제어 장치 및 장치의 조작을 동시에 그리고 명백히 동시에 관리할 수 있는 다중 프로그래밍 개념을 기반으로 설계되었다.이러한 동시성과 명백한 동시성은 가장 기본적인 OS인 PCP에도 존재하는데, 이는 기본 하드웨어 아키텍처가 장치 접근과 결과 장치 상태 접속을 위해 각각 하나의 I/O 명령 집합과 하나의 I/O 중단만을 가지고 있기 때문이다.모든 연결된 I/O 장치를 지원하려면 모든 I/O 장치 작동이 반쪽짜리 특권 I/O 지침에 동시에 멀티플렉싱되어야 하며[NB 1] IOS에 의한 단일 I/O 중단으로부터 비동기적으로 다중화되어야 하지만, 처음부터 끝까지 이 전체 프로세스는 애플리케이션에 동기화된 것으로 보인다.본질적으로 IOS는 OS 그 자체 위에 구축된 하이퍼바이징 운영 체제로서, 그 안에서 완전히 분리할 수 있는 기능이 아니다.하이퍼바이저는 여러 I/O 지침과 I/O 중단으로 제한되므로 매우 전문화된 하이퍼바이저임
다중 처리
OS의 MVS/370 이후 인스턴스에서 IOS는 또한 MVS/370에서 최대 2개, 이후 OS에서 최대 16개(IBM에서 12개, Amdahl에서 16개)의 모든 가용 프로세서가 효과적이고 효율적으로 활용되는 멀티 프로세싱 개념을 중심으로 설계되었다.그리고, 이 다중 처리 능력을 가장 잘 활용하기 위해, IOS의 다중 프로그래밍 구현은 더 작은 실행 단위, 특히 SRB의 통제 하에 실행될 수 있는 실행 단위들로 분할되었다.
시작/완료
IOS는 프로그래머에 의해 직접 호출되지 않는다.오히려 IOS는 I/O 요청을 시작하기 위해 "branch entry"를 통해 호출되며, I/O 요청을 완료하기 위해 "interrupted 핸들러"를 통해 호출된다.
메모들
- ^ 역사적으로, 이 멀티플렉싱/디-멀티플렉싱은 IOS와 그 구성요소의 전용인 전문 제어 블록의 도움을 받았으며, OS/360 이전 MVT의 소위 "12개의 별"(약칭, 12*), MVT의 소위 "6개의 별"(약칭, 16*)의 도움을 받았으나, 대부분의 경우 여전히 "12개의 별"로 불린다."Sixteen stars"는 호환성을 위해 MVS/370의 EXCP 프로세서에 남아 있었지만 하드웨어 및 소프트웨어의 MVS/370 이후의 포장에서 I/O 채널 자체에 IOS의 기능이 더 많이 탑재되지 않아 이러한 사설 제어 블록의 중요성이 낮아졌다.
참조
- ^ IBM Corporation (1967). IBM System/360 Operating System Input/Output Supervisor (PDF).