Stratus VOS

Stratus VOS
VOS 또는 OpenVOS
개발자Stratus 테크놀로지
기입처PL/I, C, 어셈블리 언어
OS 패밀리멀티크라이즈
동작 상태현재의
소스 모델폐쇄 소스
최신 릴리즈19.3.0 (R762)
플랫폼i860, x86, PA-RISC, 68k
커널 타입모노리식 커널
영향을 받다멀티픽스, UNIX
면허증.커널: Stratus 테크놀로지
드라이버, 라이브러리 및 사용자 랜드 프로그램:Stratus Technologies, 기타
공식 웹사이트Stratus VOS

Stratus VOS(Virtual Operating System)는 Stratus Technologies 폴트 톨러런스 컴퓨터 시스템에서 실행되는 자체 운영 체제입니다.VOS는 Stratus의 ftServer [1]및 Continuum 플랫폼에서 사용할 수 있습니다.VOS 고객은 지속적인 가용성을 필요로 하는 대용량 트랜잭션 처리 애플리케이션을 지원하기 위해 이 애플리케이션을 사용합니다.VOS는 완전히 록스테핑된 하드웨어에서 실행되는 몇 안 되는 운영 체제 중 하나입니다.

1980년대에 IBM 버전의 Stratus VOS가 존재했으며 System/88 운영 체제라고 [2]불렸습니다.

역사

VOS는 처음부터 폴트 톨러런스 [3]하드웨어에 맞춘 고도의 보안 트랜잭션 처리 환경으로 설계되었습니다.MIT/Bell-Laboraties/General-Electric(나중에 Honeywell) Multics 프로젝트에서 얻은 설계 경험의 대부분을 포함하고 있습니다.

1984년 Stratus는 Unix System Facilities(USF)라는 UNIX System V 구현을 VOS에 추가하여 커널 수준에서 [4]Unix와 VOS를 통합했습니다.

최근 [when?]Stratus는 POSIX 컴플라이언스를 추가했으며, 많은 오픈 소스 패키지가 [5]VOS에서 실행될 수 있습니다.

VOS는 경쟁사의 독자 사양 운영 체제와 마찬가지로 1990년대와 2000년대 [6]초반에 시장 점유율이 꾸준히 감소했습니다.

발전

VOS용 프로그래밍

VOS는 PL/I, COBOL, Pascal, Fortran, C(VOS C 및 GCC 컴파일러 포함) 및 C++(GCC도 포함)[7]용 컴파일러를 제공합니다.이러한 프로그래밍 언어는 각각 VOS 시스템을 호출할 수 있습니다(예:s$seq_read파일에서 레코드를 읽다) 및 PL/I 스타일의 가변 길이 문자열을 지원하는 확장자를 가지고 있습니다.개발자는 일반적으로 시스템에서 컴파일하기 전에 마음에 드는 VOS 텍스트 에디터로 코드화하거나 오프라인으로 코드화합니다.VOS IDE 애플리케이션은 없습니다.

Stratus는 지금까지 Motorola 68000 마이크로프로세서 패밀리(FT 및 XA 시리즈), 인텔 i860 마이크로프로세서 패밀리(XA/R 시리즈), HP PA-RISC 프로세서 패밀리(Continuum 시리즈) 및 인텔 Xeon x86 프로세서 패밀리(V 시리즈)를 기반으로 하드웨어 플랫폼을 제공해 왔습니다.모든 버전의 VOS는 네이티브 명령 세트를 대상으로 컴파일러를 제공하며 일부 버전의 VOS는 크로스 컴파일러를 제공합니다.

Stratus는 VOS Release 14.3 (Continuum)에서 POSIX API 지원을 추가하였고, VOS Release 14.4에서 GNU C/C++ 컴파일러, GNU gdb 디버거 및 많은 POSIX 명령 지원을 추가하였습니다.VOS가 추가될 때마다 POSIX.1 기능이 추가되어 많은 사용자 모드 오픈 소스 패키지를 구축할 수 있게 되었습니다.이 때문에 Release 17.0 이후 Stratus는 VOS의 이름을 OpenVOS로 변경했습니다.

Stratus는 지원되는 Samba, OpenSSL, OpenSSH, GNU Privacy Guard, OpenLDAP, Berkeley DB, MySQL Community Server, Apache, IBM WebSphere MQ 및 Java 커뮤니티 에디션 포트를 제공합니다.

VOS의 숫자 값은 기본 하드웨어 플랫폼의 엔드성에 관계없이 항상엔디안입니다.x86 프로세서를 탑재한 리틀 엔디언 서버에서는 컴파일러는 값을 메모리에 읽거나 쓰기 전에 바이트 스왑을 수행하여 데이터를 네이티브 리틀 엔디언 형식으로 변환합니다.

명령어 매크로 언어

VOS에는 메뉴 시스템 작성, 태스크 자동화 등에 사용할 수 있는 비교적 완전한 명령어 매크로 언어가 있습니다.VOS 명령 매크로에서는 명령줄 또는 사용자 인터페이스 "form"을 통해 인수를 허용합니다.인수는 "파라미터" 섹션의 명령어 매크로 시작 부분에 정의됩니다.이 언어는 if/then/else, boolean 연산, while 루프, goto 및 우수한 오류 보고 등 다양한 문을 지원합니다.명령 매크로 언어는 인터랙티브 및 비인터랙티브(배치 또는 프로세스 시작) 모드에서 실행할 수 있습니다.프로그램을 자동화하고 프롬프트를 캡처하여 적절한 응답을 보내는 데 사용할 수 있습니다.이로 인해 Stratus는 매크로 [8]언어 명령어의 기능을 제한하게 되었습니다.

매크로 언어는 사용자 정의 함수를 지원하지 않으며 포함 [citation needed]파일을 쉽게 지원하지 않습니다.문자열 처리는 특히 내장된 제어 [citation needed]문자의 경우 오류가 발생하기 쉽습니다.

개요

VOS는 ftServer [citation needed]시리즈로 이행되기 전에 주로 소량의 어셈블리 언어로 PL/I로 코딩되었습니다.1991년 현재 시스템은 PL/I 및 C로 작성되었으며 조립률은 3%[9]에 불과했다.

이 시스템의 전체적인 구조는 멀티틱스와 많은 공통점을 가지고 있으며, 이 시스템의 많은 기능은 멀티틱스로부터 다양한 수준으로 추적될 수 있습니다.이 시스템은 소프트웨어 설계자 또는 프로그래머에게 많은 기본적인 추상화를 제공합니다.가장 주목할 만한 것은 다음과 같습니다.

  • 과정
  • 장치들
  • 하드 디스크
  • 다양한 IPC 메커니즘
  • 임무들

프로세스는 VOS에서 스케줄링된 엔티티이며 각 프로세스에는 시스템에서 프로세스를 조작하는 방법을 제어하는 속성 집합이 있습니다.예를 들어 프로세스에는 사용자 이름프로세스 이름이 있습니다.전자는 VOS에서 파일 시스템의 외부 디바이스 및 항목에 대한 프로세스 액세스 권한을 결정하기 위해 사용됩니다.프로세스의 특권 플래그(바이너리 속성)는 기본적으로 중요합니다.권한 있는 프로세스는 권한 있는 작업을 수행할 수 있습니다.이 메커니즘은 시스템 전체에 영향을 미칠 수 있는 특정 강력한 작업을 제한하기 위해 사용됩니다(시스템 셧다운, 하드 디스크 분리 등).

분배

VOS는 Stratus Technologies에서만 배포됩니다.배포 미디어는 Continuum용 3.5mm DAT 테이프와 초기 V 시리즈 플랫폼용 SDLT 테이프입니다.OpenVOS Release 17.0 이후 Stratus는 DVD 또는 릴리스 파일을 다운로드하여 OpenVOS를 배포할 수 있습니다.소프트웨어의 인스톨은 Stratus Field Engineer 또는 고객의 시스템 관리자가 실시할 수 있습니다.

인터페이스

명령줄 인터페이스는 VOS 시스템의 가장 강력한 메인 사용자 인터페이스입니다.

사용자는 필요에 따라 명령 매크로 스크립트에[10] 의해 "폼" 기반의 서브시스템에 잠길 수 있지만 숙련된 사용자는 이를 벗어나 명령줄에 액세스할 수 있습니다.(실제로 Stratus 시스템 관리자는 FMS(Stratus Forms Management System)에서 명령줄을 끊으려고 하면 사용자가 로그아웃되도록 사용자의 계정을 설정할 수 있습니다).

명령어 매크로 및 프로그램을 인수로 호출하여 사용 가능한 모든 파라미터를 나열한 폼을 표시할 수 있습니다.이 폼은 사용자가 탭 키를 사용하여 탐색할 수 있습니다.일반적으로 각 파라미터는 사용자가 입력할 수 있는 것을 제어하기 위해 제한됩니다.여기에는 유효한 값 목록, 숫자만, 텍스트만 등이 포함됩니다.파라미터는 "비밀" 태그를 사용하여 숨기거나 필수화할 수도 있습니다.

VOS의 모든 명령어는 단어를 구분하기 위한 언더바를 사용하여 완전히 정의됩니다.예를들면,change_current_module을 지정하면 작업 디렉토리가 변경됩니다.VOS 도움말시스템은 이 규칙을 사용하여 가능한 명령어 서브셋을 찾고 있는 사용자를 지원합니다.예를 들어, "변경"을 참조하는 명령어는 help - match change에 의해 검색됩니다.

사용자는 명령어 약어가 포함된 파일을 사용하여 명령어인터페이스를 커스터마이즈 할 수 있습니다.명령어 약어는 일반적으로 그것들이 나타내는 명령어의 첫 글자를 따서 명명되므로 ccdchange_current_dir foodir로 확장할 수 있습니다.

적용들

시스템 응용 프로그램

VOS는 Continuum 및 ftServer 시스템에서 사용되며 둘 다 폴트 톨러런스가 뛰어난 설계입니다.따라서 이러한 시스템은 일반적으로 은행, 병원, 통신 및 트랜잭션 처리 회사 [11]등 안전 또는 미션 크리티컬 애플리케이션에 사용됩니다.

통신

VOS는 다음 프로토콜을[7] 지원합니다.

이전 버전의 VOS에서는 버전 14.x에서 OSI 준거 Streams-TCP가 구현되었기 때문에 OS TCP/IP(운영 체제 TCP/IP)라고 불리는 비 OSI 표준 TCP/IP가 구현되었습니다.OS TCP/IP 를 사용하는 낡은 애플리케이션은, STCP [12]를 사용하려면 , 포토 할 필요가 있습니다.이는 OS TCP/IP가 OSI에 준거하지 않는 여러 기능을 지원하므로 기능이 상실될 수 있습니다.V 시리즈가 실행되는 ftServer 하드웨어는 TCP/IP 및 X.25만 지원합니다(옵션 NIO가 장착된 경우에만 X.25).WebSphere MQ 6.0(일명.k.a).MQ 시리즈)는 TCP/IP 기반이므로 ftServer 하드웨어에서도 지원됩니다.레거시 프로토콜을 지원하는 디바이스는 Continuum 하드웨어에서 실행되며 Open Strata를 통해 현재 하드웨어에서 액세스할 수 있습니다.LINK[13] 네트워크

폴트 톨러런스

폴트 톨러런스는 VOS에 처음부터 내장되어 있습니다.하드웨어 레벨에서 메이저디바이스는 록스테프 듀플렉스 모드로 동작합니다.즉, 동시에 같은 액션을 실행하는 동일한 디바이스가 2개 존재합니다.(또한 하드웨어 레벨에서 내부 보드의 장애를 특정하기 위해 각 디바이스 또는 보드는 이중화되므로 Stratus 하드웨어는 "잠금 단계"로 정의할 수 있습니다.)이러한 보드는 운영체제에 의해 액티브하게 감시되고 있으며, 디스크 쓰기나 읽기 불량 등의 사소한 불일치를 수정할 수 있습니다.허용할 수 없는 수의 장애를 보고한 보드는 시스템에 의해 서비스에서 삭제됩니다.양면 인쇄 보드는 문제가 핫픽스로 해결될 때까지 동작을 계속합니다.여기에는 CPU, 디스크 드라이브 및 논리적으로 이중화할 수 있는 기타 디바이스(정의상 통신 디바이스 제외)가 포함됩니다.시스템은 정상적으로 처리를 계속하고 RSN(리모트 서비스 네트워크)을 통해 Stratus 고객 서비스에 장애 티켓을 자동으로 발행합니다.다음으로 Stratus 고객서비스가 RSN을 사용하여 시스템에 전화를 걸어 문제를 조사하고 교체 부품을 발송합니다.

운영체제는 단순한 하드웨어 장애로 인한 크래시를 방지하도록 설계되어 있습니다.

파일 시스템

VOS는 다음과 같은 여러 고유한 파일 유형을 지원합니다.

  • 스트림 파일: 바이너리 데이터의 스트림으로, 다른 운영 체제의 파일 개념에 직접 대응합니다.
  • 고정 파일: 고정 크기의 일련의 레코드.
  • 상대 파일: 랜덤 액세스를 지원하는 일련의 고정 파일 레코드
  • 시퀀셜 파일: 가변 크기의 레코드 시퀀스
  • 큐 파일: 메시지큐 파일시스템 기반 백업
  • 파이프: 프로세스통신을 위한 명명된 파이프
  • 트랜잭션 파일: 저널 기반 롤백을 지원합니다.

VOS API를 사용하면 파일당 여러 인덱스를 생성하여 레코드, 외부 키, 내부 키 또는 잘 정의된 여러 키 집합에 따라 정렬할 수 있습니다.하나 이상의 인덱스가 있는 VOS 파일을 C-ISAM 데이터베이스 테이블로 사용할 수 있습니다.

VOS에서는 시스템 이름, 모듈 이름, 디스크 번호 및 디렉토리를 포함하는 자체 파일 이름 구문을 사용하여 구성 요소를 ">" 기호로 구분합니다.일반적으로 시스템 디스크는 CPU와 같은 모듈에 내장됩니다.#m1따라서 VOS 클러스터의 시스템파일은 다음과 같이 참조됩니다.

(%system) #m1_d01> system> system.table

VOS 디스크 할당 및 메모리는 "블록"으로 구성되어 있으며 각 블록은 4,096바이트입니다.메모리는 RAM 또는 페이징 형식.VOS 시스템은 페이징 파티션 및 페이징 파일을 지원합니다.최신 버전의 VOS에서는 SysAdmin에 의해 페이징 파일을 동적으로 생성할 수 있습니다(단, 재부팅하지 않으면 삭제할 수 없습니다).이러한 페이징 파일은 이론적으로 연속되거나 연속되지 않을 수 있는 여러 익스텐트(커널에 의해 미니 페이징 파티션으로 인식됨)로 구성될 수 있습니다.그러나 연속되지 않은 익스텐트는 디스크 액티비티를 크게 증가시키므로 권장하지 않습니다.관리자는 시스템 [14]부팅 후 페이징 파일의 익스텐트를 가능한 한 빨리 작성해야 합니다.

파일 시스템 보안

VOS는 모든 파일, 디렉토리 및 디바이스에 대한 쓰기, 읽기, 실행 및 늘(no) 액세스를 지원합니다(디렉토리와 파일의 액세스 리스트는 약간 다릅니다).사용자, 그룹 또는 월드에 액세스를 할당할 수 있습니다.실행 프로그램을 실행하려면 읽기 액세스만 필요합니다.단, 사용자가 해당 프로그램이 있는 디렉토리에 대한 "상태" 액세스 권한을 가지고 있어야 합니다.

VOS는 Multics에서 액세스 제어 목록을 상속받고 디렉토리 액세스 제어 목록도 구현합니다.파일에 액세스 제어 목록이 없는 경우, 포함하는 디렉토리의 기본 액세스 제어 목록이 적용됩니다.

일반적으로 디바이스에 대한 액세스는 관리자가 디바이스에 링크된 파일을 생성하여 제어합니다.(이는 OpenVOS에서는 해당될 수 있지만 원래 운영 체제에는 적용되지 않습니다.)다음으로 이 파일에 대한 액세스가 부여되고 디바이스에 대한 액세스가 설정됩니다.

오픈 스트라타링크

VOS는 항상 네트워크 인식 운영 체제였습니다.네이티브 API의 거의 모든 시스템 호출에는 조작이 [15][failed verification][16][failed verification]어떤 컴퓨터에 영향을 미치는지 결정하는 파라미터가 있습니다.작업이 로컬이 아닌 경우 원격 서브루틴 호출을 통해 대상 시스템으로 리디렉션됩니다.예를 들어 파일 이름을 구문 분석하여 파일이 있는 시스템을 나타냅니다.

더 스트라타LINK 네트워킹 모델에는 시스템 이름을 지정하기 위한 두 가지 수준 계층이 있습니다.각 컴퓨터는 모듈이라고 불리며 모듈시스템으로 집약됩니다. 시스템은 하나의 단위로 관리됩니다.즉, 시스템의 모든 모듈이 해당 시스템의 모든 디스크와 하드웨어 디바이스를 인식합니다.그 결과, 시스템명으로 시작하는 파일명은 다른 컴퓨터의 파일을 참조하기 때문에 특별한 네트워킹 없이 열 수 있습니다.디바이스도 마찬가지입니다.프로세스 등의 기타 시스템엔티티는 %system#module이라고 기재된 모듈 이름을 사용하여 참조됩니다.VOS 시스템 및 모듈명은 IP 주소 또는 도메인 이름과 정의되어 있지 않습니다.VOS API는 인터넷이 널리 채택되기 전인 1980년 말에 개발되었으며 URL이 발명되기도 훨씬 전에 개발되었습니다.

역사적으로, StrataLINK는 메모리 오버헤드와 CPU 사용률이 매우 낮은 고성능(당시에는)을 실현하는 독자적인 10Mb CSMA/CD 링 네트워크입니다.이더넷이 지배적인 네트워킹 표준이 되고 메모리와 CPU 처리 비용이 저렴해졌기 때문에 이것은 결코 10Mb를 넘어 개발되지 않았고 TCP/IP를 사용하기 위해 폐기되었습니다.

오픈 스트라타LINK 는, 와이드 에리어 통신에도 X.25 를 사용할 수 있습니다.오픈 스트라타 사용광역 통신을 위한 LINK 프로토콜은 StrataNET이라고도 합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "High Availability & Fault Tolerant Software & Solutions - Stratus Technologies". Stratus. Retrieved 16 May 2016.
  2. ^ "IBM powers up System/88 line". Computerworld. 16 November 1987.
  3. ^ "Article 5121 in comp.sys.stratus". Ftp.stratus.com. Archived from the original (TXT) on 2015-05-02. Retrieved 2016-05-21.
  4. ^ "Stratus offers Unix implementation for mainframes". Computerworld. 12 November 1984. p. 86.
  5. ^ "POSIX-based Open-Source Software for VOS and OpenVOS". Ftp.stratus.com. 2015-04-24. Archived from the original on 2016-04-02. Retrieved 2016-05-21.
  6. ^ Seacord, Robert C.; Plakosh, Daniel; Lewis, Grace A. (2003). Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices. Addison-Wesley. p. 11.
  7. ^ a b "Archived copy". Archived from the original on September 27, 2011. Retrieved August 23, 2011.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  8. ^ "Google Groups". Groups.google.ie. Retrieved 2016-05-16.
  9. ^ Johnson, Maryfran (1 April 1991). "Stratus compiler spells migration boost". Computerworld. pp. 25, 32.
  10. ^ "Introduction to Backup". Stratadoc.stratus.com. Retrieved 2016-05-21.
  11. ^ "Archived copy". Archived from the original on July 3, 2007. Retrieved July 14, 2007.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  12. ^ "Overview of Migrating from OS TCP/IP to STCP". Stratadoc.stratus.com. Retrieved 2016-05-21.
  13. ^ "OpenStrataLINK Administration". Stratus Technologies.
  14. ^ "Google Groups". Groups.google.ie. Retrieved 2016-05-16.
  15. ^ "OpenVOS C Subroutines". Stratus Technologies.
  16. ^ "OpenVOS PL/1 Subroutines". Stratus Technologies.

외부 링크