단자 에뮬레이터

Terminal emulator
X term, X 창 시스템용으로 설계된 터미널 에뮬레이터
Windows 터미널, Windows 10 및 Windows 11용 오픈 소스 터미널 에뮬레이터

단말기 에뮬레이터, 단말기 애플리케이션 또는 [citation needed]용어는 다른 디스플레이 아키텍처 내에서 비디오 단말기에뮬레이션하는 컴퓨터 프로그램이다.일반적으로 또는 텍스트 단자와 동의어가 있지만, 터미널이라는 용어는 그래픽 인터페이스를 포함한 모든 원격 단자를 포괄한다.그래픽 사용자 인터페이스 내부의 단말 에뮬레이터는 흔히 단말 창이라고 불린다.

터미널 창은 사용자가 텍스트 터미널과 명령줄 인터페이스(CLI) 및 텍스트 사용자 인터페이스(TUI) 애플리케이션과 같은 모든 애플리케이션에 액세스할 수 있도록 허용한다.이는 텔넷, ssh, 전화 접속 또는 직접 직렬 연결을 통해 동일한 기기에서 또는 다른 기기에서 실행될 수 있다.Unix와 같은 운영 체제에서는 하나 이상의 터미널 창을 로컬 컴퓨터에 연결하는 것이 일반적이다.

일반적으로 단자는 색상, 커서 위치 등을 제어하기 위한 일련의 이스케이프 시퀀스를 지원한다.예를 들어 ECMA-48, ANSI X3.64 또는 ISO/IEC 6429로 알려진 단자 제어 시퀀스 표준 제품군을 들 수 있다.

역사

컴퓨터 단자

"지능형" 단말기는[1] 자체 처리를 하는데, 대개 마이크로프로세서가 내장되어 있다는 것을 암시하지만, 마이크로프로세서가 장착된 모든 단말기가 입력의 실제 처리를 한 것은 아니다. 즉, 마이크로프로세서가 부착된 메인 컴퓨터는 각 키 입력에 빠르게 반응해야 할 것이다.이러한 맥락에서 "지능"이라는 용어는 1969년부터 유래되었다.[2]

주목할 만한 예로는 IBM 3250과 IBM 5080의 전신인 IBM 22501964년 System/[3]360함께 도입된 IBM 3270의 전신인 IBM 2260이 있다.

IBM 2250 모델 4(라이트 펜 및 프로그래밍된 기능 키보드 포함)
대부분의 터미널은 미니컴퓨터메인프레임 컴퓨터에 연결되어 있었고 종종 녹색이나 황색 스크린이 있었다.일반적으로 터미널은 Null 모뎀 케이블을 통해 직렬 포트를 통해 컴퓨터와 통신하며, 종종 EIARS-232 또는 RS-422 또는 RS-423 또는 전류 루프 직렬 인터페이스를 사용한다.IBM 시스템은 일반적으로 전용 프로토콜을 사용하는 동축 케이블버스 및 태그 채널을 통해 통신했으며, Binary Syncial Communications 또는 IBM의 SNA 프로토콜을 사용하는 통신 링크도 제공되었지만, 많은 DEC, Data General 및 NCR(이상) 컴퓨터에는 termi를 위해 컴퓨터 제조업체와 경쟁하는 많은 시각 디스플레이 공급업체가 있었다.시스템을 확장할 수 있는 방법.사실, 인텔 8008에 대한 명령 설계는 원래 Computer Terminal Corporation에서 데이터포인트 2200의 프로세서로 구상되었다.

IBM 3270DEC VT100(1978년)의 도입으로 사용자와 프로그래머는 VDU 기술 향상에 있어 상당한 이점을 발견할 수 있었지만, 모든 프로그래머가 새로운 단말기의 기능(예: "dumb terminals"와 "dumb terminals"로 프로그래머들이 경쟁할 수 있도록 VT100 및 이후 TeleVideo 단말기의 역호환성)을 사용하지는 않았다.오래된 소프트웨어를 사용하게 된다.

일부 벙어리 단말기는 마이크로프로세서가 필요 없이 몇 가지 탈출 시퀀스에 반응할 수 있었다. 즉, 다수의 집적회로가 있는 다중 인쇄 회로 기판을 사용하였다. 단자를 "지능적"으로 분류한 단일 요인은 각 키 입력 시 메인 컴퓨터를 방해하지 않고 단말기 내에서 사용자 입력을 처리하는 기능이었다.한 번에 데이터 블록을 전송(예: 사용자가 전체 필드 또는 양식을 완료한 경우)ADM-3A, TVI912, Data General D2, DEC VT52와 같은 1980년대 초기의 대부분의 단말은 1978년 ANSI 단말의 도입에도 불구하고, 일부(후기 ADM 및 TVI 모델 등)는 원시적인 블록 송신 기능을 가지고 있었지만, 본질적으로 "덤" 단말이었다.로컬 처리 능력의 일반적인 초기 사용에는 호스트 컴퓨터에서 데이터 처리와 거의 관련이 없지만 로컬 프린터로의 인쇄, 버퍼링된 직렬 데이터 전송 및 직렬 핸드셰이킹과 같은 유용한 기능이 추가되었으며(일련 전송 속도가 더 빠를 수 있도록), 보다 정교한 문자 속성es는 디스플레이를 위해, 그리고 경쟁사의 모델을 모방하기 위해 에뮬레이션 모드를 전환하는 기능뿐만 아니라, 특히 구매자들이 이전보다 더 큰 범위에서 서로 다른 공급업체의 장비를 혼합하고 일치시킬 수 있는 1980년대에 점점 더 중요한 판매 특징이 되었다.

마이크로프로세서의 발전과 낮은 메모리 비용은 단말기가 컴퓨터로부터 문자들로 가득 찬 완전한 스크린이 필요했던 필드, 아마도 느린 모뎀 회선을 통해 다시 전송되어야 하는 필드 내에 문자를 삽입하는 것과 같은 편집 작업을 처리할 수 있게 했다.1980년대 중반 무렵 대부분의 멍청한 단말기보다 비용이 적게 드는 대부분의 지능형 단말기는 충분한 사용자 친화적인 로컬 데이터 편집을 제공하고 완성된 양식을 메인 컴퓨터로 전송할 수 있었다.훨씬 더 많은 처리 가능성을 제공함으로써, TS-800과 같은 워크스테이션은 CP/M-86을 실행할 수 있어 터미널과 개인용 컴퓨터의 구분이 모호해졌다.

마이크로프로세서 개발을 위한 또 다른 동기는 단말기에 필요한 전자장치를 단순화하고 줄이는 것이었다.그것은 또한 단일 단말기에 여러 "개인 정보"를 탑재할 수 있게 하여, Qume QVT-102는 오늘날 많은 인기 있는 단말기를 모방할 수 있으므로, 어떠한 소프트웨어 변경도 원하지 않는 조직으로 판매된다.자주 에뮬레이션되는 터미널 유형:

ANSI X3.64 이스케이프 코드 표준은 어느 정도 균일성을 생성했지만 상당한 차이는 남아 있었다.예를 들어, VT100, ANSI 모드의 Heathkit H19, Televideo 970, Data General D460, Qume QVT-108 단말기는 모두 ANSI 표준을 따랐지만 기능 키와의 코드, 사용 가능한 문자 속성, 양식 내의 필드 블록 변환, "외국" 문자 시설, 연결된 프린터 t의 취급 등에 차이가 있을 수 있다.o 화면 뒷면

에뮬레이터

국소 에코

단자 에뮬레이터는 국소 에코 기능을 구현할 수 있으며, 는 잘못 "반복"으로 명명되거나, 여전히 약간 잘못 "에코플렉스"(입력 표시 옵션이 아닌 공식적으로 오류 감지 메커니즘)로 명명될 수 있다.[4][5][6][7]

한 번에 라인 모드/로컬 편집

터미널 에뮬레이터는 "회선 모드"라고도 하는 로컬 편집을 구현할 수 있다.이것은 또한 실수로 "반복형"이라고도 불린다.[citation needed]이 모드에서 단말기 에뮬레이터는 완전한 입력 라인만 호스트 시스템으로 보낸다.사용자가 줄을 입력하여 편집하지만, 편집하는 동안 터미널 에뮬레이터 내에서 로컬로 고정된다.사용자가 완료 신호를 보낼 때까지 전송되지 않으며, 대개는 다음과 같다.↵ Enter 키보드의 키 또는 사용자 인터페이스의 어떤 종류의 "보내기" 버튼.그 때, 전 회선이 전송된다.한 번에 한 줄씩 모드는 로컬 에코를 의미하며, 그렇지 않으면 사용자는 줄을 편집하고 구성하면서 볼 수 없기 때문이다.[4][8]그러나 한 번에 라인-at-time 모드는 에코 모드와 독립적이며 로컬 에코를 필요로 하지 않는다.예를 들어, 암호를 입력할 때 로컬 편집과 함께 한 번에 라인 입력도 가능하지만 로컬 에코가 꺼진 경우(그렇지 않으면 암호가 표시됨)[9]

실시간 회선 모드의 복잡성은 텔넷 프로토콜에서 시간별 회선 모드 옵션으로 예시된다.그것을 올바르게 구현하기 위해서, 단말 에뮬레이터 프로그램에 의해 제공되는 네트워크 가상 터미널 구현은 로컬로 라인을 편집하는 도중에 도착하는 "중단" 및 "부적절한" 이벤트를 인식하고 적절하게 처리할 수 있어야 한다.[10]

동기식단말기

비동기 단말에서는 데이터가 언제든지 어떤 방향으로도 흐를 수 있다.동기식 단말기에서 프로토콜은 다음에 데이터를 전송할 수 있는 사용자를 제어한다.IBM 메인프레임 컴퓨터와 함께 사용되는 IBM 3270 기반 단말기는 동기식 단말의 예다.그것들은 본질적으로 "스크린-at-a-time" 모드(블록 모드라고도 함)에서 작동한다.사용자는 업데이트된 화면을 원격 컴퓨터에 단일 작업으로 제출하기 전에 페이지를 여러 번 변경할 수 있다.

3270 프로토콜을 시뮬레이션하는 터미널 에뮬레이터는 대부분의 운영 체제에서 사용할 수 있으며, z9와 같은 관리 시스템뿐만 아니라 CICS와 같은 해당 애플리케이션을 사용하는 시스템에서도 사용할 수 있다.

동기식 단말기의 다른 예로는 IBM 5250, ICL 7561, Honeywell Bull VIP7800 및 Hewlett-Packard 700/92가 있다.

가상 콘솔

가상 터미널이라고도 하는 가상 콘솔은 개인용 컴퓨터나 워크스테이션의 키보드와 모니터를 사용하여 에뮬레이트된 텍스트 터미널이다.가상 콘솔은 GUI 터미널이 아니며 그래픽 인터페이스 내에서 실행되지 않기 때문에 "텍스트"라는 단어가 핵심이다.가상 콘솔은 대부분의 Unix 유사 시스템에서 발견된다.주로 그래픽 데스크톱 환경을 사용하지 않고 서버에 액세스하고 서버와 상호 작용하는 데 사용된다.

에뮬레이트된 단자의 예

Many terminal emulators have been developed for terminals such as VT52, VT100, VT220, VT320, IBM 3270/8/9/E, IBM 5250, IBM 3179G, Data General D211, Hewlett Packard HP700/92, Sperry/Unisys 2000-series UTS60, Burroughs/Unisys A-series T27/TD830/ET1100, ADDS ViewPoint, Sun console, QNX, AT386, SCO-ANSI, SNI 97801, Televideo, and Wyse 50/60.또한 xterm 및 다양한 콘솔 터미널(예: Linux)과 같은 다른 터미널 에뮬레이터를 에뮬레이트하는 프로그램이 개발되었다.마지막으로, 일부 에뮬레이터는 단순히 ANSI와 같은 표준을 가리킨다.그러한 프로그램들은 DOS유닉스에서부터 윈도우맥OS, 그리고 휴대폰과 산업용 하드웨어에서 발견되는 임베디드 운영체제에 이르는 많은 플랫폼에서 이용 가능하다.

이행내역

유닉스 유사 시스템

과거 유닉스·유닉스 유사 시스템은 RS-232 포트 등 직렬 포트 장치를 사용해 제공했다./dev/* 장치 파일.[11]

터미널 에뮬레이터를 사용하여 그러한 장치 파일은 한 쌍의 유사 장치 장치를 사용하여 에뮬레이션된다.이 쌍은 물리적 포트/호스트 컴퓨팅 엔드포인트 연결 - 운영 체제 API에 의해 제공되는 컴퓨터의 하드웨어, rlogin, 텔넷 또는 SSH와 같은 다른 소프트웨어에 에뮬레이트하는 데 사용된다.[12]예를 들어, Linux 시스템에서는/dev/ptyp0(마스터 측의 경우) 및/dev/ttyp0(슬레이브 측면의 경우) 가성소자 장치 각각.

또한 다음과 같은 특별한 가상 콘솔 파일도 있다./dev/console. 텍스트 모드에서 파일에 쓰는 것은 가상 콘솔에 텍스트를 표시하고 파일에서 읽는 것은 사용자가 가상 콘솔에 쓰는 텍스트를 반환한다.다른 텍스트 단자와 마찬가지로 프로그램이 가장 쉽게 사용할 수 있는 특수 탈출 시퀀스, 제어 문자기능ncurs와 같은 라이브러리를 통해 있다.좀 더 복잡한 운영을 위해, 프로그램은 콘솔과 터미널 특수 ioctl 시스템 호출을 사용할 수 있다.VCS("가상 콘솔 화면")와 vcsa(속성이 있는 가상 콘솔 화면")를 사용하여 디바이스를 비교할 수 있음/dev/vcs1, 그리고/dev/vcsa1.[13]

또한 일부 단말기 에뮬레이터는 예를 들어 페이스트 브래킷을 구성하기 위해 터미널과 터미널 내부에서 실행되는 프로그램 사이의 원활한 상호작용을 촉진하기 위해 터미널의 동작을 구성하기 위한 이스케이프 시퀀스를 포함한다.

파일에서 가상 콘솔을 구성할 수 있음/etc/inittabinit로 읽기 - 일반적으로 여러 가상 콘솔에 대해 텍스트 모드 로그인 프로세스 게티를 시작한다.X Window 시스템 구성 가능/etc/inittab또는 X 표시 관리자에 의해.다수의 Linux 배포판에서는 init 대신 systemd를 사용하며, 이를 통해 가상 콘솔 구성도 가능하다.

CLI 도구

가상 콘솔에 액세스하는 데 사용되는 일반적인 리눅스 시스템 프로그램에는 다음이 포함된다.

  • chvt현재 가상 콘솔을 전환하다
  • openvt새 가상 콘솔에서 프로그램을 실행하다
  • deallocvt현재 사용되지 않는 가상 콘솔을 닫으려면 다음과 같이 하십시오.

시스템 로딩

프로그램 startx는 새 가상 콘솔에서 X Window 시스템을 시작한다.콘솔에서 시작할 수 있는 다른 그래픽 프로그램(: LinuxTV 및 MPlayer 등)도 있다.

참고 항목

메모들

  1. ^ "intelligent terminal Definition from PC Magazine Encyclopedia".
  2. ^ 20세기 단어; John Ayto; Oxford Unity Press; 413페이지
  3. ^ "What is 3270 (Information Display System)". 3270 .. over its predecessor, the 2260
  4. ^ a b Daintith 2004, 페이지 171.
  5. ^ Weik 2000, "echo" 페이지 478.
  6. ^ 웨이크 2000, "Echoplex" 페이지 479.
  7. ^ Weik 2000, "Echoplex mode" 페이지 479.
  8. ^ 방아 2010, 페이지 324.
  9. ^ 스티븐스 & 라이트 1994, 페이지 413.
  10. ^ 밀러 2009, 페이지 590, 591.
  11. ^ "A Brief History of Terminal Emulation Turbosoft". www.ttwin.com. Retrieved 2021-10-04.
  12. ^ "Ubuntu Manpage: tty — general terminal interface". manpages.ubuntu.com. Retrieved 2021-10-04.
  13. ^ "Screen dumps". The Linux keyboard and console HOWTO. The Linux Documentation Project. Retrieved 2008-07-31. The current contents of the screen of /dev/ttyN can be accessed using the device /dev/vcsN (where `vcs' stands for `virtual console screen'). [...] From a program it is usually better to use /dev/vcsaN (`virtual console screen with attributes') instead - it starts with a header giving the number of rows and columns and the location of the cursor. See vcs(4).

참조

외부 링크