멀티 환경 실시간

Multi-Environment Real-Time
멀티 환경 실시간
개발자벨 연구소[1]
기입처C[2]
OS 패밀리Unix와 같은
동작 상태UNIX-RTR/3B21D 버전이 아직 사용 중입니다.
마케팅 대상실시간 컴퓨팅 애플리케이션
이용가능기간:영어
플랫폼PDP-11,[1] 3B20D, 3B21D
커널 타입마이크로커널[1] RTOS

MERT(Multi-Environment Real-Time)는 나중에 UNIX-RT([3]UNIX-RT)로 개명된 하이브리드 시분할실시간 운영체제로 1970년대에 Bell Labs에서 개발되어 임베디드 미니 컴퓨터(특히 PDP-11s)에 사용됩니다.Duplex Multi Environment Real Time(DMERT; 듀플렉스 멀티 환경 실시간)이라는 이름의 버전은 AT&T 3B20D 전화 스위칭 미니컴퓨터의 운영체제시스템으로 고가용성[4][5][6]위해 설계되었습니다.DMERT는 나중에 Unix RTR(실시간 신뢰성 있음)[6]이름변경되었습니다.

Bell Labs의 시분할 운영체제 [7]Unix의 일반화로 MERT는 Unix 프로그램과 특권 있는 실시간 컴퓨팅 프로세스를 실행할 수 있는 재설계된 모듈러 커널을 특징으로 합니다.이러한 프로세스의 데이터 구조는 공유 메모리도 구현되었지만 메시지 전달이 프로세스 간 통신(IPC)의 바람직한 형태인 다른 프로세스와 분리되었습니다.또한 MERT에는 실시간 데이터베이스 애플리케이션에서 사용되는 연속적이고 정적인 크기의 대용량 파일을 특별히 지원하는 커스텀 파일 시스템도 있었습니다.MERT의 설계는 Dijkstra의 THE, Hansen's Monitor 및 IBM의 CP-67[2]영향을 받았습니다.

MERT 운영체제는 [2]보호순서가 낮은 4층 설계였습니다.

  • 커널: 메모리, CPU 시간 및 인터럽트의 자원 할당
  • 입출력(I/O) 디바이스 드라이버, 파일 매니저, 스왑 매니저, 파일 매니저를 디스크에 접속하는 루트 프로세스 등 커널 모드 프로세스(통상 스왑 매니저와 조합)
  • 오퍼레이팅시스템 슈퍼바이저
  • 사용자 프로세스

표준 슈퍼바이저는 MERT/UNIX였습니다. 에뮬레이터는 확장 시스템콜 인터페이스와 MERT의 커스텀 IPC 메커니즘을 사용할 수 있는 셸을 갖춘 Unix 에뮬레이터입니다.단, [2]RSX-11 에뮬레이터도 존재했습니다.

커널 및 비커널 프로세스

DMERT – UNIX-RTR이 도입한 흥미로운 기능 중 하나는 커널 프로세스의 개념이었습니다.이는 마이크로커널리쉬 아키텍처 루트와 연결되어 있습니다.지원에는 별도의 명령어가 있습니다./bin/kpkill(가 아니라)/bin/kill)는 커널 프로세스에 신호를 보내기 위해 사용됩니다.또, 2개의 다른 시스템콜이 있을 가능성이 있습니다(kill(2)그리고.kpkill(2)첫 번째 사용자 프로세스를 종료하고 두 번째 커널 프로세스를 종료합니다).userland 시그널링 메커니즘의 통상적인 양이 어느 정도인지 알 수 없습니다./bin/kpkill시스템 콜이 있는 경우, 다양한 신호를 송신할 수 있는지, 아니면 단순히 송신할 수 있는지 알 수 없습니다.또한 커널 프로세스에 전달되는 신호를 포착하는 방법이 있는지 여부도 알 수 없습니다.UNIX-RTR 개발자는 커널 프로세스를 위해 전체 신호 및 메시징 애플리케이션 프로그래밍 인터페이스(API)를 구현했을 수 있습니다.

파일 시스템 비트

UNIX-RTR 시스템에 root이 있는 경우, 그들은 머지않아 그 루트를 발견하게 될 것입니다.ls -l출력이 예상과 조금 다릅니다.즉, 2개의 완전히 새로운 비트가 있습니다.drwxr-xr-x둘 다 첫 번째 열에서 발생하며,C(연속) 및x(확장).이 두 가지는 모두 연속된 데이터와 관련이 있지만, 하나는 inode와 다른 하나는 비메타데이터와 관련이 있을 수 있습니다.

ls -l:

 drwxr-x root 64 2003년 12월 4일 /cft xrwxr-xr-x root 64 2013년 12월 11일 () /no5text Crwxr-xr-x root 256 2014년 12월 12일 (화) / no5 data

Lucent 에뮬레이터 및 VCDX

AT&T, 그 Lucent, 그리고 현재는 Alcatel-Lucent가 SPARC 기반 및 Solaris-OEM 패키지 ATT3bem(/opt/ATT3bem의 Solaris SPARC에 있음)의 벤더입니다.이것은 풀 3B21D 에뮬레이터(3B21E, Very Compact Digital eXchange 또는 VCDX의 배후에 있는 시스템)로, 5ESS 스위치의 Administrative Module(AM; 관리 모듈) 부분에 실가동 환경을 제공하는 것을 목적으로 하고 있습니다.5ESS에는 3B21D 마이크로컴퓨터의 일부가 아닌 SM과 CM이 있습니다.에뮬레이터에서는 워크스테이션을 'AW'(Administrative Workstation)라고 부릅니다.이 에뮬레이터는 Solaris 2.6/SPARC와 함께 설치되며 이전에는 SunLink X.25로 알려졌던 동지 X.25 9.1(SUNWconn)도 함께 제공됩니다.X.25 스택을 3B21D 에뮬레이터로 패키징하는 이유는 Bell System, 지역 Bell 운영회사 및 ILEC가 시스템에 가장 중요한 X.25 네트워크를 사용하기 때문입니다(전화 스위치는 Bell Labs에서 개발된 유사한 네트워크인 X.25 또는 Datakit VCS II에 상주할 수 있지만 TCP/IP는 없습니다).

AT&T/Alcatel-Lucent 에뮬레이터는 정상적으로 동작하는5ESS 하드디스크 'dd' 출력 파일에서 이미지를 얻을 수 있어도 쉽게 동작할 수 있는 프로그램이 아닙니다.우선 설치 과정에서 사용자가 탐색해야 하는 버그가 상당히 많습니다.이것이 완료되면 주변기기를 에뮬레이트된 주변기기에 접속하는 설정파일이 생성됩니다.그러나 CD에는 이를 설명하는 문서가 거의 없습니다.이 파일의 이름은 SS5의 경우 em_devmap 및 em_devmap입니다.Ultra60s용.

또한 설치 프로세스에서 언급된 오류 중 하나는 fdisk와 하드디스크 이미지를 올바르게 작성하기 위한 스크립트가 고장난 것입니다. /opt/ATT3bem/bin/3bem 프로세스는 이러한 하드 코딩된 위치를 예상하거나 필요로 하는 것처럼 보이기 때문에 특정 사항을 특정 오프셋에 기록해야 합니다.

에뮬레이터는 SPARCstation-5s 및 UltraSPARC-60s에서 동작합니다.MIPS로 측정한 3B21D 마이크로컴퓨터의 프로세서보다 3B21D가 최신 SPARC에서 에뮬레이트되는 속도가 빠를 수 있습니다.에뮬레이터를 사용할 때 가장 어려운 것은 실제로 실행하기 위한 DMERT/UNIX-RTR hd 이미지를 얻는 것입니다.5ESS의 운영체제는 벤더의 직원 및 고객 중 몇 명만 사용할 수 있으며, 이들은 이 운영체제를 작업하거나 코드를 작성합니다.실행 중인 시스템의 이미지를 eBay에서 취득하여 동작 중인 3B21D에서 가져와 파일로 이미징하거나 Ultra60 또는 SPARCstation-5에 삽입할 수 있으므로 UNIX-RTR 시스템을 실행할 수 있는 리소스가 제공됩니다.

UNIX-RTR(Real-time Reliable)을 실행하는 Bourne 쉘의 uname -a 출력은 다음과 같습니다.

 # uname - a <3B21D> <3B21D>

3B20D 시스템에서는 21이 아닌 20을 인쇄합니다만, 3B20D는 드물지만, 현재 VCDX 이외의 5ESS는 3B20D가 아닌 3B21D 하드웨어입니다(소프트웨어는 정상적으로 동작합니다).3B20D는 WE32000 프로세서를 사용하고 21은 WE32100을 사용합니다.다른 차이점도 있을 수 있습니다.프로세서의 특이한 점은 스택의 증가 방향입니다.업입니다.

falloc 수동 페이지(연속 또는 eXtent 파일 공간 할당을 담당할 수 있음):

FALLOC(1) 5ESS UNIX FALLOC(1) NAME falloc - 연속 파일 SYNOPSIS falloc 파일 이름 크기 설명 지정된 파일 이름의 연속 파일은 '크기'(512바이트) 블록으로 할당됩니다.Diagnostics 필요한 디렉토리를 검색할 수 없거나, 최종 디렉토리에 쓸 수 없거나, 파일이 이미 존재하거나, 파일을 저장할 공간이 부족하다는 불만이 제기됩니다. 


UNIX-RTR에는 atomsw, 아래 매뉴얼페이지)의 atomsw 파일스왑 명령어가 포함되어 있습니다.

ATOMSW (1) 5ESS UNIX ATOMSW (1) NAME atomsw - 원자 스위치 파일 SYNOPSIS atomsw file1 file2 DESCRIPTION 원자 스위치.두 파일의 내용, 권한 및 소유자는 한 번의 작업으로 전환됩니다.이 명령어를 실행하는 동안 시스템에 장애가 발생한 경우 file2에는 원래 내용, 권한 및 소유자가 있거나 file1의 내용, 권한 및 소유자가 있습니다.따라서 file2는 소중하게 간주됩니다.시스템 장애 시 File1이 잘릴 수 있습니다.제약사항 두 파일이 모두 존재해야 합니다.두 파일이 동일한 파일 시스템에 있어야 합니다.어느 파일도 「특수 디바이스」(예를 들면, TTY 포토)는 할 수 없습니다.이 명령어를 크래프트셸에서 입력하려면 파일 "/tmp/abc"를 파일 "/tmp/xyz"로 스위칭합니다.MML: EXC:ENVIR:UPROC,FN="/bin/atomsw",ARS="/tmp/abc"-/tmp/xyz"; PDS의 경우 EXC:ENVIR:UPROC,FN"/bin/atomsw",ARGS("/tmp/abc",/tmp/xyz")!참고 시스템 장애 시 파일 1이 손실될 수 있습니다.파일 /bin/atomsw

레퍼런스

  1. ^ a b c Bayer, D. L.; Lycklama, H. (1975). MERT: a multi-environment real-time operating system. Fifth ACM Symposium on Operating Systems Principles. Austin, Texas. doi:10.1145/800213.806519. Retrieved 2008-08-18.
  2. ^ a b c d Lycklama, H.; Bayer, D. L. (July–August 1978). "The MERT Operating System". Bell System Technical Journal. 57 (6): 2049–2086. doi:10.1002/j.1538-7305.1978.tb02142.x. S2CID 8711402.
  3. ^ Bodenstab, D. E.; Houghton, T. F.; Kelleman, K. A.; Ronkin, G.; Schan, E. P. (1984). "UNIX Operating System Porting Experiences". AT&T Bell Laboratories Technical Journal. 63 (8): 1769–1790. doi:10.1002/j.1538-7305.1984.tb00064.x. S2CID 35326182.
  4. ^ Kane, J. R.; Anderson, R. E.; McCabe, P. S. (January 1983). "The 3B20D Processor & DMERT Operating System: Overview, Architecture, and Performance of DMERT". Bell System Technical Journal. 62 (1): 291–301. doi:10.1002/j.1538-7305.1983.tb04396.x. S2CID 31828139.
  5. ^ Grzelakowski, M. E.; Campbell, J. H.; Dubman, M. R. (January 1983). "The 3B20D Processor & DMERT Operating System: DMERT Operating System". Bell System Technical Journal. 62 (1): 303–322. doi:10.1002/j.1538-7305.1983.tb04397.x. S2CID 12901173.
  6. ^ a b Wallace, John J.; Barnes, Walter W. (August 1984). "Designing for Ultrahigh Availability: The Unix RTR Operating System" (PDF). IEEE Computer. IEEE. 17 (8): 31–39. doi:10.1109/MC.1984.1659215. S2CID 17689432.
  7. ^ Ritchie, Dennis M. (1977). The Unix Time-sharing System: A retrospective. Tenth Hawaii International Conference on the System Sciences. Archived from the original on 5 February 2015.