맨위로가기 타임라인 바로가기

단말기

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
타임라인 바로가기

1. 개요

단말기는 컴퓨터와 사용자를 연결하는 장치로, 초기에는 텔레타이프와 같은 전기 기계식 장치 형태였다. 이후 비디오 표시 방식의 단말기가 등장하면서 텍스트 입력과 표시가 가능해졌고, 인텔리전트 단말기의 발전으로 자체 처리 능력을 갖추게 되었다. 1970년대 말부터 1980년대 초까지 다양한 기업에서 단말기를 생산했지만, 호환성 문제로 인해 소프트웨어적인 해결이 필요했다. 개인용 컴퓨터의 보급과 함께 하드웨어 터미널은 터미널 에뮬레이터로 대체되었으며, 현재는 가상 콘솔, 씬 클라이언트 등 다양한 형태로 사용되고 있다.

더 읽어볼만한 페이지

  • 단말기 - 시스템 콘솔
    시스템 콘솔은 컴퓨터 시스템 제어를 위한 입출력 장치 제어반으로, 초기 토글 스위치에서 키보드와 디스플레이를 갖춘 터미널로 발전하여 CUI 환경을 제공하며, 현대에는 GUI 환경에서 터미널 에뮬레이터 형태로, 유닉스 계열에서는 가상 콘솔 기능으로 제공되고, 비디오 게임 콘솔이나 게임 내 명령줄 화면도 콘솔이라 불린다.
  • 단말기 - IBM 3270
    IBM 3270은 1970년대 초 IBM에서 개발한 메인프레임 컴퓨터용 디스플레이 시스템으로, 동축 케이블로 연결된 단말기와 프린터, 컨트롤러로 구성되어 텍스트 기반 데이터 입출력을 지원하고 화면 전체를 다시 그리는 방식으로 데이터 처리 속도를 향상시켜 금융, 보험, 공공 부문에서 널리 사용되었다.
  • 유닉스 - 유닉스 시간
    유닉스 시간은 1970년 1월 1일 00:00:00 UTC부터 경과된 초를 나타내는 시스템으로, 컴퓨터 시스템에서 시간 저장 및 처리에 널리 사용되며 32비트 정수 표현 시 2038년 문제를 야기할 수 있고 64비트 정수로 해결 가능하며, 다양한 시스템에서 타임스탬프로 활용되지만 윤초 처리 차이로 UTC 시간과 완벽히 일치하지는 않는다.
  • 유닉스 - 유닉스 계열
    유닉스 계열은 유닉스 운영체제의 특징과 설계를 공유하는 운영체제들을 지칭하며, 유전적, 상표, 기능적 유닉스로 분류되고 macOS는 상표 유닉스이자 유전적 유닉스에 해당하며 리눅스는 기능적 유닉스의 대표적인 예이다.
  • 사용자 인터페이스 - 로그인
    로그인은 특정 페이지, 웹사이트 또는 응용 프로그램에 접근하기 위해 사용자 이름과 암호를 입력하여 시스템에 접근하는 절차이며, 1960년대 시분할 시스템과 1970년대 BBS에서 사용되기 시작했다.
  • 사용자 인터페이스 - 키넥트
    키넥트는 마이크로소프트에서 개발한 동작 인식 장치로, 적외선 프로젝터와 센서를 사용하여 사용자의 움직임과 음성을 인식하며, Xbox용으로 출시되어 큰 인기를 얻었지만 개인정보 보호 문제 등으로 판매가 부진하여 생산이 중단되었고, 다양한 분야에서 활용되며 기술적 가치를 인정받아 클라우드 기반 Azure Kinect로 이어졌으나 단종되었다.
단말기

2. 역사

컴퓨터 단말기의 역사는 컴퓨팅 기술 발전과 밀접하게 연관되어 있다.

초기에는 전신에 사용되던 전기 기계식 텔레타이프 단말기 (TTY)가 단말 장치로 사용되었다. 이후 IBM은 System/360과 함께 펀치 카드 장치와 TTY를 입출력 장치로 제공했다. 1970년 DEC는 DECwriter라는 프린터 방식 단말기를 출시했으며, IBM도 IBM 3767과 같은 프린터 방식 단말기를 선보였다. 프린터 방식 단말기는 배치 처리에 유용했지만, 통신 속도 제한과 대화형 사용에는 어려움이 있었다.

IBM 2260


1962년 IBM은 IBM 2260을 통해 비디오 표시 방식(CRT) 단말기를 선보였다. 이는 기술적으로 어려운 도전이었으며, 당시에는 IC 대신 트랜지스터와 다이오드 등으로 구성된 논리 회로가 사용되었다. 1971년 IBM은 IBM 3270을 출시했다.

DEC는 1975년 VT52, 1978년 '''VT100'''을 발표했다. 이들은 이스케이프 시퀀스를 해석하여 커서 위치와 표시를 제어하는 "인텔리전트 단말기"로 불렸으며, 소프트웨어로 에뮬레이트되어 현재까지 사용되고 있다.

1970년대 말부터 1980년대 초, 여러 기업들이 VDT를 제조했지만, 대부분 명령 시퀀스에 호환성이 없었다. 이 시기 단말기는 주로 메인프레임에 연결되었고, 단색이었으며, RS-232C 시리얼 포트를 통해 연결되었다. IBM 시스템에서는 동축 케이블과 SNA 프로토콜을 사용하기도 했다.

1950년대 말부터 타임 쉐어링 개발과 함께 한 대의 대형 컴퓨터에 여러 단말기가 접속되는 컴퓨터 네트워크가 발전했다.[34] 1960년대에는 원격 단말기로 RS-232C 연결 장치, 텔레타이프 단말기 등이 사용되었다. DEC VT100은 오늘날 PC의 텔넷 클라이언트에서 에뮬레이션으로 제공되고 있다. 1981년 컬럼비아 대학교에서 커밋 프로토콜이 개발되었다.

그래픽 단말은 텍스트와 이미지를 표시할 수 있었으며, 벡터 스캔 단말과 래스터 스캔 단말로 분류된다. 벡터 스캔 단말은 오실로스코프와 유사한 구조였고, 현대 그래픽 단말은 모두 래스터 스캔 방식이다.

1970년대 후반 개인용 컴퓨터 등장 이후, 소프트웨어 터미널 에뮬레이터가 사용되었다. GUI 환경에서도 명령줄 인터페이스텍스트 사용자 인터페이스는 터미널 에뮬레이션 소프트웨어로 살아남았다. IBM PC의 디스플레이는 터미널이 아니며, PC 내 디스플레이 카드에서 생성된 비디오 신호를 표시한다.

터미널 소프트웨어의 발전으로 전용 터미널 기기 시장은 축소되었다. 리눅스FreeBSD에서는 가상 콘솔이 사용되었고, 이후 터미널 에뮬레이터가 일반화되었다. 터미널 에뮬레이터는 윈도우를 텍스트 터미널로 이용하며, Win32 콘솔, xterm 등이 대표적이다. 의사 터미널에 접속되거나, 모뎀과 함께 사용되는 특수 터미널 에뮬레이터도 있다.

2. 1. 초기 단말기

콘라트 추제Z3는 1941년에, Z4는 1942년부터 1945년까지 키보드를 갖춘 콘솔을 통해 제한적인 숫자 입력을 받았다. 이들은 계산기와 유사했으며, 프로그램, 명령어, 기타 데이터는 종이 테이프를 통해 입력되었고, 결과 확인을 위해 표시 램프 열을 사용했다.[4]

1956년, Whirlwind Mark I 컴퓨터는 키보드-프린터 조합을 갖춘 최초의 컴퓨터가 되었다. 이 장치는 프리덴 플렉소라이터였으며, 1960년대까지 다른 많은 초기 컴퓨터에서 이 용도로 사용되었다.

컴퓨터에 연결된 초기 사용자 단말기는 전신 타자기/텔레타이프(TeleTYpewriter, TTY)와 같은 전기 기계식 장치였다. 텔레타이프 모델 33은 원래 전신에 사용되었으며, 키보드 송수신 (KSR) 또는 자동 송수신 (ASR)으로 구성되었다. ASR 텔레타이프 모델에는 프로그램 목록과 같은 출력을 기록할 수 있는 천공 테이프 리더와 펀치가 포함되어 있었다. 텔레타이프는 디지털 전류 루프 인터페이스를 사용했으며, 읽기 전용 (RO) 구성도 있었다.

이후 IBM 2741(1965)[8], DECwriter(1970)[9] 등의 맞춤형 키보드/프린터 단말기가 등장했다. 텔레타이프, IBM 2741, LA30(초기 DECwriter)의 최고 속도는 각각 초당 10, 15, 30자였다. 당시에는 "종이가 최고"였지만[9][10], 상호 작용 속도는 비교적 제한적이었다.

DECwriter는 마지막 주요 인쇄 단말기 제품이었다. 1980년 이후 비디오 디스플레이 유닛 (VDU)의 압력으로 사라졌으며, 마지막 개정판(1982년의 DECwriter IV)은 데스크톱 프린터와 더 유사한 형식으로 변경되었다.

IBM 1620 콘솔, 타자기 및 전면 패널 포함


문자-숫자 CRT 시스템 콘솔이 개발되기 전, IBM 1620과 같은 일부 컴퓨터는 콘솔 타자기와 전면 패널을 갖추고 있었다. 최초의 전자 저장 프로그램 방식 컴퓨터인 맨체스터 베이비는 전산 콘솔 기능을 제공하기 위해 전자 기계식 스위치와 CRT를 조합하여 사용했으며, CRT는 컴퓨터의 윌리엄스-킬번 튜브 CRT 기반 RAM을 미러링하여 메모리 내용을 이진수로 표시했다.

2. 2. 비디오 디스플레이 유닛 (VDU)

유니백 유니스코프[11][12][13]와 IBM 2260[14]은 1964년에 출시된 VDU 개발의 초기 이정표였다. 이들은 고유 프로토콜을 사용하여 한 번에 한 페이지씩 표시하는 블록 모드 단말기였다. 문자 모드 장치와 달리 키보드 입력 데이터를 즉시 전송하지 않고 디스플레이 버퍼에 입력했다. 유니스코프는 멀티플렉서와 호스트 간에 EIA RS-232 인터페이스를 통해 동기식 직렬 통신을 사용했고, 2260은 IBM 2848과 호스트 간에 채널 연결 또는 비동기식 통신을 사용했다. 2260과 관련된 2265도 비동기식 직렬 통신을 사용했다.

1969년에 출시된 데이터포인트 3300은 컴퓨터 터미널 코퍼레이션(Datapoint)의 문자 모드 장치였으며 텔레타이프 모델 33을 에뮬레이션했다. 이는 초기 문자 모드 단말기가 운영 비용 절감을 위해 텔레타이프 머신을 대체하기 위해 배포되었다는 사실을 반영한다.

VT52


다음 세대의 VDU는 화면에 2차원 디스플레이를 가능하게 하는 주소 지정 가능한 커서로 텔레타이프 에뮬레이션을 넘어섰다. 커서 주소 지정 기능이 있는 초기 VDU에는 1970년부터 작동하는 문자 모드의 VT05 및 해절틴 2000이 포함되었다. 이러한 기능에도 불구하고, 이러한 유형의 초기 장치는 종종 "유리 TTY"라고 불렸다.[15]

VDU의 고전 시대는 1970년대 초 시분할 컴퓨터의 부상과 함께 시작되었다. ADM-3A, VT52, VT100이 중요한 초기 제품이었다. 이 장치는 복잡한 중앙 처리 장치(CPU)를 사용하지 않고, 개별 논리 게이트, 대규모 집적 회로(LSI) 칩 또는 인텔 8080과 같은 마이크로프로세서에 의존했다. 이로 인해 저렴해졌고 이전의 더 비싼 프린팅 터미널을 대체하며 인기 있는 입출력 장치가 되었다.

1970년 이후 여러 공급업체가 일련의 공통 표준을 따르게 되었다.

  • ASCII 문자 세트 사용 (\EBCDIC 또는 특정 회사에만 해당되는 것 대신). 초기/경제 모델은 대문자만 지원 (ADM-3, 데이터 제너럴 모델 6052, Heathkit H9).
  • RS-232 직렬 포트 (25핀, 모뎀 연결 가능, 일부 제조업체별 핀 사용법은 표준을 확장, 20mA 디지털 전류 루프 인터페이스와 함께 사용).
  • 72 또는 80자 텍스트의 24줄 (또는 25줄 – 때로는 특수 상태 줄) (80은 IBM 천공 카드와 같음). 이후 모델은 때때로 두 개의 문자 너비 설정을 가졌다.
  • 배치 가능한 커서 (화살표 키 또는 "홈" 및 기타 직접 커서 주소 설정 코드 포함).
  • 최소 3개의 제어 코드 구현: 캐리지 리턴(Ctrl-M), 라인 피드(Ctrl-J), 벨 문자(Ctrl-G). 밑줄, 희미하거나 반전 비디오 문자 강조, 디스플레이를 지우고 커서를 배치하는 이스케이프 시퀀스 등 더 많은 코드.


직렬 VDU의 실험 시대는 1978년 VT100으로 정점을 찍었다. 1980년대 초반까지 리-지글러, 어플라이드 디지털 데이터 시스템(ADDS), 데이터 제너럴, 디지털 이큅먼트 코퍼레이션(DEC), 해절틴 코퍼레이션, 히스킷(Heath/Zenith), 휴렛 팩커드(HP), IBM, 텔레비디오, 볼커-크레이그, 와이즈(Wyse)를 포함한 수십 개의 터미널 제조업체가 있었으며, 이들 중 다수는 호환되지 않는 명령 시퀀스를 가지고 있었다.

제조업체 간 제어 코드의 큰 변동으로 인해 시스템 소프트웨어가 적절한 제어 코드를 사용해 입력 양식을 올바르게 표시하도록 터미널 유형을 식별하고 그룹화하는 소프트웨어가 생겨났다. 유닉스 계열 시스템에서는 termcap 또는 terminfo 파일, stty 유틸리티 및 TERM 환경 변수를 사용했다. 데이터 제너럴의 비즈니스 BASIC 소프트웨어에서는 로그인 시 일련의 코드가 터미널로 전송되어 커서 위치나 25번째 줄의 내용을 읽으려고 시도했으며, 터미널 응답은 데이터 제너럴 대셔 터미널의 경우 6, ADM 3A/5/11/12 터미널의 경우 4, 특수 기능이 없는 TTY의 경우 0 또는 2와 같은 단일 숫자(프로그램에서 사용할 코드 세트 결정)를 결정했다.

대부분의 터미널은 단색이었으며 제조업체는 녹색, 흰색 또는 호박색, 때로는 파란색 화면 형광체를 제공했다. (호박색은 눈의 피로를 줄인다고 주장). 컬러 기능을 갖춘 터미널도 사용할 수 있었지만 널리 사용되지는 않았다. 와이즈 WY50의 컬러 버전인 WY350은 각 문자 셀에서 64가지 음영을 제공했다.

VDU는 결국 1985년 이후 느리게, 1990년대에는 점점 더 빠른 속도로 네트워크를 통해 연결된 개인용 컴퓨터에 의해 대부분의 응용 분야에서 대체되었다. 그러나 VDU는 PC에 지속적인 영향을 미쳤다. VT220 터미널의 키보드 레이아웃은 1985년부터 IBM PC에 탑재된 모델 M 키보드에 강력한 영향을 미쳤고, 이를 통해 이후의 모든 컴퓨터 키보드에 영향을 미쳤다.

평판 디스플레이는 1950년대부터 사용 가능했지만, 개인용 컴퓨터가 디스플레이 터미널 시장에 진출할 때까지 음극선관이 시장을 지배했다. 2000년 이후 PC의 음극선관이 평판 디스플레이로 교체될 무렵, 하드웨어 컴퓨터 터미널은 거의 쓸모없게 되었다.

2. 3. 한국의 단말기 역사

대한민국에서는 1980년대 초, 금성사(현 LG전자)가 VT100 호환 단말기인 GT-100을 생산하며 본격적인 단말기 시장이 형성되었다.[33] 1980년대 중후반, PC 통신과 인터넷의 보급으로 터미널 에뮬레이터가 널리 사용되면서, 하드웨어 단말기 시장은 점차 축소되었다.

3. 종류

단말기(터미널, terminal영어)는 통신 용어와 컴퓨터 용어로 사용된다. 통신 용어로는 통신 중계, 집약, 분배 장치에 대비되는 용어로,[32] 컴퓨터 용어로는 다른 컴퓨터(대형 컴퓨터, 호스트 컴퓨터, 서버)에 접속하여 정보 입력 및 표시를 하는 기기를 말한다.


  • 전신 시대: 전신 시대의 단말기는 전신 회선 종단에 접속된 기기로, '''전신 키''' 또는 전신기라고도 불렸다. 수동 키 조작으로 전신 신호를 송신했다.

전신 시대의 단말. 전신 키.

  • 아날로그 전화 회선 시대: 아날로그 전화 회선의 단말은 '''전화기'''나 '''팩시밀리''' 등이다.[33] 1962년 미국 AT&T에서 상업적으로 이용 가능한 최초의 모뎀인 Bell 103 모뎀이 출시되면서, 이 모뎀도 통신 용어의 "단말"이 되었다. 1990년대에도 개인용 컴퓨터나 피처폰 등을 아날로그 회선에 접속하여 데이터를 주고받았다.

전화 시대의 단말. 전화기.


통신 용어의 단말의 예. 공중 전화.


통신 용어의 단말의 예. 팩시밀리 장치.

  • 초기 컴퓨터 단말기: 초기 단말기는 전신에 사용된 ASR-33과 같은 전기 기계식 텔레타이프 단말기(TTY)였다. IBM은 1964년 System/360을 발표했고, 초기에는 펀치 카드 장치와 TTY를 입출력 장치로 사용했다.

텔레타이프 단말기는 단말 장치로도 사용 가능

  • 프린터 방식 단말기: 1970년 DEC는 :en:DECwriter라는 프린터 방식 단말기를 출시했다. 이후 DECwriter II, III, IV를 출시했다. IBM도 1974년 IBM 3767을 출시했다. 프린터 방식 단말기는 텔레타이프 단말기보다 나았지만, 인쇄 속도가 통신 속도를 제한했고, 대화식 사용에는 비디오 표시 방식이 더 적합했다.

DECwriter

  • -



IBM 3270의 후속기인 IBM 3277

  • DEC의 단말기: DEC는 1975년 VT52, 1978년 '''VT100'''을 발표했다. 이들은 이스케이프 시퀀스를 해석하여 커서 위치와 표시를 제어하는 "인텔리전트 단말기"였다. Wyse의 Wyse 60, Tektronix 4014 등도 있었다.

VT100

  • 1970년대 말 - 1980년대 단말기: DEC, Wyse, Televideo, HP, IBM, Lear-Siegler, Heath 등 다양한 기업이 단말기를 제조했지만, 명령 시퀀스 호환성은 없었다. 메인프레임에 연결되었고, 단색(녹색, 앰버) 스크린이 많았다. RS-232C 시리얼 포트나 동축 케이블 (SNA 프로토콜)로 연결되었다.

비디오 디스플레이의 ASCII 문자 터미널. 1982년경 제조된 Televideo사의 Model925.

  • 그래픽 단말기: 텍스트뿐만 아니라 이미지를 표시할 수 있는 단말기이다. 벡터 스캔 방식과 래스터 스캔 방식으로 나뉜다. 현대 그래픽 단말기는 모두 래스터 스캔 방식이다.

  • 기타: 시분할 시스템의 등장으로 한 대의 대형 컴퓨터에 여러 단말기가 접속되면서 컴퓨터 네트워크가 발전했다.[34] 1981년 컬럼비아 대학교에서 커밋 프로토콜이 개발되었다.

유닉스 시스템을 타임 쉐어링 방식으로 이용하기 위해 정렬된 단말기 그룹(1978년)

3. 1. 텍스트 터미널

텍스트 터미널(text terminal) 또는 텍스트 콘솔(text console)은 텍스트 입력 및 표시를 위한 직렬 컴퓨터 인터페이스이다. 정보는 미리 선택된 문자 배열로 보여준다.

전형적인 텍스트 터미널은 입력을 생성하고 출력, 오류를 표시한다


xterm 터미널 에뮬레이터에서 실행되는 Nano 텍스트 편집기


'''텍스트 터미널''' 또는 단순히 ''터미널''(때로는 ''텍스트 콘솔'')은 텍스트 입력 및 표시를 위한 직렬 컴퓨터 인터페이스이다. 정보는 텍스트 모드로 미리 선택된 형성된 문자 배열로 표시된다. 이러한 장치가 음극선관과 같은 비디오 디스플레이를 사용하는 경우 "비디오 디스플레이 유닛" 또는 "시각적 디스플레이 유닛"(VDU) 또는 "비디오 디스플레이 터미널"(VDT)이라고 한다.

시스템 콘솔은 컴퓨터를 작동하는 데 사용되는 텍스트 터미널이다.[16] 최신 컴퓨터는 콘솔용 내장 키보드와 디스플레이를 갖추고 있다. 리눅스FreeBSD와 같은 일부 유닉스 계열 운영 체제에는 단일 컴퓨터에서 여러 텍스트 터미널을 제공하는 가상 콘솔이 있다.

텍스트 터미널에서 실행되는 기본 유형의 응용 프로그램은 명령 줄 인터프리터 또는 ''셸''이며, 사용자의 명령을 프롬프트하고 키를 누른 후 각 명령을 실행한다.[17] 여기에는 유닉스 셸과 일부 대화형 프로그래밍 환경이 포함된다. 셸에서 대부분의 명령은 자체적으로 작은 응용 프로그램이다.

또 다른 중요한 응용 프로그램 유형은 텍스트 편집기이다. 텍스트 편집기는 일반적으로 디스플레이의 전체 영역을 차지하고 하나 이상의 텍스트 문서를 표시하며 사용자가 문서를 편집할 수 있도록 한다. 텍스트 편집기는 많은 용도로 워드 프로세서로 대체되었으며, 워드 프로세서는 일반적으로 텍스트 편집기에 없는 풍부한 서식 기능을 제공한다. 최초의 워드 프로세서는 텍스트를 사용하여 문서의 구조를 전달했지만, 이후의 워드 프로세서는 그래픽 환경에서 작동하며 서식 있는 출력의 WYSIWYG 시뮬레이션을 제공한다. 그러나 텍스트 편집기는 여전히 마크업 언어 (예: DocBook 또는 LaTeX)를 포함하는 문서에 사용된다.

Telix 및 Minicom과 같은 프로그램은 모뎀과 로컬 터미널을 제어하여 사용자가 원격 서버와 상호 작용할 수 있도록 한다. 인터넷에서는 telnet 및 ssh가 유사하게 작동한다.

가장 간단한 형태에서 텍스트 터미널은 파일과 같다. 파일에 쓰면 텍스트가 표시되고, 파일에서 읽으면 사용자가 입력한 내용이 생성된다. 유닉스 계열 운영 체제에는 사용 가능한 텍스트 터미널에 해당하는 여러 문자 특수 파일이 있다. 다른 작업의 경우 프로그램이 사용할 수 있는 특수 이스케이프 시퀀스, 제어 문자 및 `termios` 시스템 콜이 있으며, ncurses와 같은 라이브러리를 통해 가장 쉽게 사용할 수 있다. 보다 복잡한 작업의 경우 프로그램은 터미널별 ''ioctl'' 시스템 콜을 사용할 수 있다. 응용 프로그램의 경우 터미널을 사용하는 가장 간단한 방법은 단순히 텍스트 문자열을 순차적으로 쓰고 읽는 것이다. 출력 텍스트가 스크롤되어 마지막 몇 줄(일반적으로 24줄)만 표시된다. 유닉스 시스템은 일반적으로 Enter 키를 누를 때까지 입력 텍스트를 데이터 버퍼하므로 응용 프로그램은 준비된 텍스트 문자열을 수신한다. 이 모드에서 응용 프로그램은 터미널에 대해 많은 것을 알 필요가 없다. 많은 대화형 응용 프로그램의 경우 이것으로는 충분하지 않다. 일반적인 향상 기능 중 하나는 ''명령줄 편집'' (readline과 같은 라이브러리로 지원)이며, 명령 기록에도 액세스할 수 있다. 이는 다양한 대화형 명령줄 인터프리터에 매우 유용하다.

더욱 발전된 대화형 기능은 ''전체 화면'' 응용 프로그램으로 제공된다. 이러한 응용 프로그램은 화면 레이아웃을 완전히 제어하며 키를 누르는 즉시 응답한다. 이 모드는 텍스트 편집기, 파일 관리자웹 브라우저에 매우 유용하다. 또한 이러한 프로그램은 화면의 텍스트 색상과 밝기를 제어하고 밑줄, 깜박임 및 특수 문자(예: 상자 그리기 문자)로 장식한다. 이 모든 것을 달성하기 위해 응용 프로그램은 일반 텍스트 문자열뿐만 아니라 임의의 위치로 커서를 이동하고 화면의 일부를 지우고 색상을 변경하고 특수 문자를 표시하며 기능 키에 응답할 수 있는 제어 문자 및 이스케이프 시퀀스도 처리해야 한다. 여기서 가장 큰 문제는 각각 고유한 이스케이프 시퀀스 집합을 가진 다양한 터미널과 터미널 에뮬레이터가 많다는 것이다. 이를 극복하기 위해 라이브러리 (예: curses)와 Termcap 및 Terminfo와 같은 터미널 설명 데이터베이스가 생성되었다.

3. 2. 단순 단말기 (덤 터미널)

덤 터미널은 제한된 수의 제어 코드(CR, LF 등)만 해석할 수 있는 단말기이다.[5] 줄을 지우거나 커서 위치를 제어하는 등의 기능을 수행하는 특별한 이스케이프 시퀀스를 처리할 능력은 없다. 단순 터미널은 기계식 타자기와 거의 같은 수준의 제한된 기능만을 가진다.

이러한 종류의 단순 터미널은 환경 변수 `TERM`을 `dumb`로 설정하면 현대의 유닉스 계열 시스템에서 사용할 수 있다. 스마트 단말기는 특히 VT52, VT100, ANSI 이스케이프 시퀀스에서 이스케이프 시퀀스를 처리할 수 있다.

더 넓은 의미로, 단순 단말기는 사용자 프로그램을 실행하거나 데이터를 로컬로 처리하지 않고 RS-232 연결로 직렬 통신하는 모든 종류의 전통적인 단말기를 가리킨다. 여기에는 개인용 컴퓨터, 디스크 없는 워크스테이션, 네트워크 컴퓨터, 씬 클라이언트, X 터미널 등이 포함될 수 있다.

3. 3. 인텔리전트 단말기

라이트 펜 및 프로그래밍된 기능 키보드를 포함한 IBM 2250 Model 4


'''지능형 단말기'''[26]는 자체 처리를 수행하며, 일반적으로 마이크로프로세서가 내장되어 있다. 하지만 마이크로프로세서를 탑재한 모든 단말기가 입력에 대한 실제 처리를 수행하는 것은 아니었다. 연결된 주 컴퓨터는 각 키 입력에 빠르게 응답해야 했다. "지능형"이라는 용어는 1969년부터 사용되었다.[27]

주목할 만한 예로는 IBM 2250, IBM 3250 및 IBM 5080의 전신, 그리고 1964년 System/360과 함께 출시된 IBM 2260[28], IBM 3270이 있다.

IBM 3270과 DEC VT100 (1978) 도입 이후, 사용자와 프로그래머는 VDU 기술 개선의 이점을 인식할 수 있었다. 그러나 모든 프로그래머가 새로운 단말기의 기능을 사용한 것은 아니었다. 하위 호환성 덕분에 VT100 및 이후의 TeleVideo 단말기에서 "덤 단말기" 기능을 사용하여 이전 소프트웨어를 계속 사용할 수 있었다.

1980년대 초반 대부분의 단말기(ADM-3A, TVI912, Data General D2, DEC VT52)는 1978년에 ANSI 단말기가 도입되었음에도 불구하고 본질적으로 "덤" 단말기였다. 다만, 일부(이후의 ADM 및 TVI 모델)는 원시적인 블록 전송 기능을 가지고 있었다. 초기에 지역 처리 능력을 활용한 일반적인 사례는 호스트 컴퓨터에서 데이터 처리를 오프로드하는 것과는 거의 관련이 없었다. 대신 지역 프린터로 인쇄, 버퍼링된 직렬 데이터 전송 및 직렬 핸드셰이킹(더 높은 직렬 전송 속도 수용)과 같은 유용한 기능이 추가되었다. 또한, 디스플레이에 대한 더 정교한 문자 속성과 더불어, 특히 1980년대에는 경쟁 업체의 모델을 모방하기 위해 에뮬레이션 모드를 전환하는 기능이 중요한 판매 기능이 되었다.

마이크로프로세서 발전과 메모리 비용 감소로 인해 단말기는 필드 내 문자 삽입과 같은 편집 작업을 처리할 수 있게 되었다. 이전에는 이러한 작업에 전체 화면의 문자를 컴퓨터에서 다시 전송해야 했을 수도 있었다. 1980년대 중반경에는 대부분의 지능형 단말기가 이전보다 저렴한 비용으로 사용되었다. 이들은 덤 단말기보다 사용하기 쉬운 데이터를 로컬로 편집하고 완성된 양식을 주 컴퓨터로 보낼 수 있었다. CP/M-86을 실행할 수 있었던 TeleVideo TS-800과 같은 워크스테이션은 터미널과 개인용 컴퓨터 간의 구분을 모호하게 만들었다.

21세기에는 "지능형 단말기"라는 용어가 소매 POS 시스템 컴퓨터를 의미할 수 있다.[29]

3. 4. 그래픽 단말기

그래픽을 표시하는 VT640 변환 보드가 장착된, 일반적으로 텍스트 전용인 VT100 터미널


그래픽 단말기는 텍스트뿐만 아니라 이미지도 표시할 수 있다.[23] 그래픽 단말기는 벡터 모드 터미널과 래스터 모드로 나뉜다.

벡터 모드 디스플레이는 호스트 컴퓨터 시스템의 제어 하에 음극선관 표면에 직접 선을 그린다. 선은 지속적으로 형성되지만 전자 장치의 속도가 제한되어 한 번에 표시할 수 있는 동시 선의 수가 제한된다. 벡터 모드 디스플레이는 역사적으로 중요했지만 더 이상 사용되지 않는다.

실질적으로 모든 현대 그래픽 디스플레이는 텔레비전에 사용되는 그림 스캔 기술에서 파생된 래스터 모드이며, 여기서 시각적 요소는 픽셀의 사각형 배열이다. 래스터 이미지는 매우 짧은 시간 동안만 사람의 눈에 전체로 인식되므로 영구적인 디스플레이의 모습을 제공하기 위해 래스터를 초당 여러 번 새로 고쳐야 한다. 디스플레이 메모리를 새로 고치는 데 필요한 전자 요구 사항은 텍스트 터미널보다 그래픽 터미널이 훨씬 늦게 개발된 원인이 되었으며, 초기에는 훨씬 더 많은 비용이 들었다.[24][25]

오늘날 대부분의 터미널은 그래픽 터미널이다. 즉, 화면에 이미지를 표시할 수 있다. 그래픽 터미널에 대한 현대적인 용어는 "씬 클라이언트"이다. 씬 클라이언트는 일반적으로 유닉스 터미널의 경우 X11과 같은 프로토콜을 사용하거나, 마이크로소프트 윈도우의 경우 RDP를 사용한다. 필요한 대역폭은 사용된 프로토콜, 해상도 및 색 깊이에 따라 달라진다.

현대 그래픽 터미널은 색상으로 이미지를 표시하고 다양한 크기, 색상 및 글꼴(글자체)으로 텍스트를 표시할 수 있다.

3. 5. 블록 지향 터미널

블록 지향 터미널(또는 블록 모드 터미널)은 문자 지향 터미널과 달리, 데이터 블록 단위로 호스트와 통신하는 컴퓨터 터미널 유형이다.[18] 문자 지향 터미널이 한 번에 한 문자씩 호스트와 통신하는 것과 비교된다. 블록 지향 터미널은 카드 지향형, 디스플레이 지향형, 키보드-디스플레이, 키보드-프린터, 프린터 또는 이들의 조합일 수 있다.

IBM 3270은 블록 지향 디스플레이 터미널의 가장 친숙한 예시이다.[18] 하지만 대부분의 메인프레임 컴퓨터 제조업체와 여러 다른 회사에서도 블록 지향 터미널을 생산했다. 아래 설명은 3270을 기준으로 하지만, 다른 유형에도 유사한 고려 사항이 적용된다.

블록 지향 터미널은 일반적으로 한 화면 이상의 데이터를 저장하는 버퍼를 가지고 있다. 이 버퍼는 모양(색상, 밝기, 깜박임 등)을 나타낼 뿐만 아니라, 터미널 운영자가 입력할 수 있는 데이터와 입력에 대해 '보호'된 데이터(예: 숫자 정보만 허용하거나 모든 문자를 허용하는지 여부 등)를 표시하는 데이터 속성도 저장한다. 일반적인 응용 프로그램에서 호스트는 정적 데이터와 데이터를 입력할 수 있는 필드를 모두 포함하는 미리 형식이 지정된 패널을 터미널로 보낸다. 터미널 운영자는 데이터베이스 항목의 업데이트와 같은 데이터를 해당 필드에 입력한다. 입력이 완료되면(또는 3270에서 ENTER 또는 PF 키를 누르면) 일반적으로 운영자가 입력한 데이터(수정된 데이터)만 포함된 데이터 블록이 하나의 전송으로 호스트에 전송된다. 3270 터미널 버퍼는 필요에 따라 단일 문자 기준으로 업데이트될 수 있다. 이는 버퍼 내에서 쓰거나 덮어쓸 모든 데이터에 선행되는 "버퍼 주소 설정 명령"(SBA)이 있기 때문이다. 전체 버퍼는 `READ BUFFER` 명령 또는 `WRITE` 명령(3270의 경우 형식이 지정되지 않거나 지정됨)을 사용하여 읽거나 교체할 수도 있다.

블록 지향 터미널은 문자 지향 터미널보다 호스트에 대한 시스템 부하를 줄이고 네트워크 트래픽을 감소시킨다. 또한 필드 내에서 편집이 호스트 시스템에서 에코를 사용하는 대신 로컬에서 수행되므로, 느린 연결에서도 사용자에게 더 빠르게 응답하는 것처럼 보인다.

초기 터미널은 제한된 편집 기능을 가졌다. 예를 들어 3270 터미널은 입력 값을 유효한 숫자로만 확인할 수 있었다.[19] 이후 "스마트" 또는 "지능형" 터미널은 마이크로프로세서를 통합하고 더 많은 로컬 처리를 지원했다.

블록 지향 터미널 프로그래머는 종종 실행 중인 트랜잭션에 대한 ''컨텍스트'' 정보를 화면, 아마도 숨겨진 필드에 저장하는 기술을 사용하여 실행 중인 프로그램이 상태를 추적하는 데 의존하지 않았다. 이는 HTML 기술에서 URL에 컨텍스트를 저장하여 CGI 프로그램에 인수로 전달되는 데이터로 사용하는 기술의 전조였다.

화면의 마지막 위치에 문자를 입력하면 일반적으로 터미널이 한 줄 아래로 스크롤되는 문자 지향 터미널과 달리, 블록 지향 터미널의 마지막 화면 위치에 데이터를 입력하면 일반적으로 커서가 ''줄 바꿈''된다. 즉, 입력 가능한 첫 번째 필드의 시작 부분으로 이동한다. 프로그래머는 실수로 줄 바꿈이 발생하는 것을 방지하기 위해 마지막 화면 위치를 "보호"할 수 있다. 마찬가지로 입력 가능한 필드 다음에 오는 보호된 필드는 연산자가 허용된 것보다 더 많은 데이터를 필드에 입력하려고 하면 키보드를 잠그고 경고음을 울릴 수 있다.

4. 현대적 응용

현대에는 운영 체제가 3개 이상의 콘솔을 지원하는 것이 일반화되었고, 권한 있는 사용자가 로그인한 모든 터미널을 콘솔로 간주하는 운영 체제도 등장했다. 초기 미니컴퓨터에서 콘솔은 시리얼 콘솔이었으며, RS-232 시리얼 링크를 통해 ASR-33 또는 DECWriter, VT100과 같은 Digital Equipment Corporation(DEC)의 터미널과 연결되었다. 이러한 터미널은 시스템 중단이나 부팅 미디어 선택과 같은 특정 권한 기능을 수행하는 데 사용될 수 있었기 때문에 일반적으로 보안이 유지되는 방에 보관되었다.

Sun Microsystems, Hewlett-Packard, IBM과 같은 회사의 대형 미드레인지 컴퓨터 시스템은 여전히 시리얼 콘솔을 사용한다. 대규모 설치 환경에서는 콘솔 포트가 멀티플렉서 또는 네트워크 연결된 멀티포트 시리얼 서버에 연결되어 운영자가 터미널을 연결된 모든 서버에 연결할 수 있다. 오늘날 시리얼 콘솔은 헤드리스 컴퓨터에 접근하는 데 자주 사용되며, 랩탑에서 실행되는 터미널 에뮬레이터와 함께 사용되기도 한다. 또한 라우터, 엔터프라이즈 네트워크 스위치 등에도 RS-232 시리얼 콘솔 포트가 있다.

개인용 컴퓨터워크스테이션에서는 컴퓨터에 연결된 컴퓨터 키보드와 컴퓨터 모니터가 콘솔과 동일한 기능을 수행한다. 모니터 케이블은 비디오 신호를 전달하므로 멀리 연장할 수 없기 때문에, 많은 서버를 갖춘 설치 환경에서는 콘솔 접근을 중앙 집중화하기 위해 키보드/비디오 멀티플렉서(KVM 스위치)와 비디오 증폭기를 사용하기도 한다. 최근에는 원격 컴퓨터가 인터넷과 같은 TCP/IP 네트워크를 통해 비디오 출력을 보고 키보드 입력을 보낼 수 있는 KVM/IP 장치도 사용된다.

일부 PC BIOS는 특히 서버에서 시리얼 콘솔을 지원하여 시리얼 포트를 통해 BIOS에 접근할 수 있게 한다. BIOS 지원이 없더라도 FreeBSD, Linux와 같은 일부 운영 체제는 부팅 중이나 시작 후 시리얼 콘솔 작동을 위해 구성할 수 있다.

IBM 9672부터 IBM 대형 시스템은 3270 또는 시리얼 링크 대신 PC와 특수 응용 프로그램으로 구성된 IBM 하드웨어 관리 콘솔(HMC)을 사용해 왔다. 다른 IBM 제품 라인에서도 HMC를 사용한다. (예: System p)

일반적으로 콘솔에서 로그인할 수 있다. 구성에 따라 운영 체제는 콘솔에서 로그온 세션을 다른 소스에서 로그온 세션보다 더 신뢰할 수 있는 것으로 간주할 수도 있다.

텍스트 단말기에서 작동하는 애플리케이션으로는 명령 줄 인터프리터 또는 ''''''이 있다. 셸은 명령 프롬프트를 표시하여 사용자에게 명령 입력을 촉구하고, 사용자가 명령을 입력한 후 ''Enter'' 키를 누르면 해당 명령을 실행한다. 셸에서 실행되는 대부분의 명령은 각각 애플리케이션이다.

텍스트 편집기 또한 중요한 애플리케이션이다. 텍스트 편집기는 디스플레이 전체를 사용하여 텍스트를 표시하고 사용자가 편집할 수 있게 한다. 워드 프로세서도 원래는 텍스트 단말기에서 이용 가능했지만, WYSIWYG화와 함께 GUI가 필수적이 되었다.

telnet 및 ssh는 원격 서비스에 접속하여 로컬 단말에서 조작을 가능하게 한다.

가장 단순한 형태에서 텍스트 단말기는 파일과 같다. 파일에 쓰기는 화면에 표시되고, 파일에서 읽기는 사용자 입력을 읽는 것을 의미한다. 유닉스 계열 운영 체제에서는 텍스트 단말기에 대응하는 문자 특수 파일이 존재한다.

그 외에도 특수한 이스케이프 시퀀스제어 문자가 있으며, 프로그램에서 사용할 수 있는 `termios` 시스템 호출이 있다. ncurses와 같은 라이브러리를 사용하면 더 쉽게 이용할 수 있다. 또한 ioctl 시스템 호출을 사용하여 단말기 고유의 조작이 가능하다.

입출력 외의 기능으로 유닉스 계열 운영 체제에서는 작업 및 세션 관리가 있으며, POSIX에서 사양이 결정되어 있다. 구체적으로는 단말기와 세션의 연관[35], 단말기와 작업(POSIX에서는 프로세스 그룹)의 연관 및 단말기를 입출력에 사용하려는 작업의 조정 등이 있다. 예를 들어 "사용자가 로그아웃 등으로 단말기를 닫으면 해당 단말기에서 실행 중인 모든 프로세스를 종료시킨다"와 같은 기능이 있다.

4. 1. 터미널 에뮬레이터

개인용 컴퓨터의 등장과 그 이후의 대중화로 인해, 오늘날 컴퓨터와 상호 작용하는 데 실제 하드웨어 터미널은 거의 사용되지 않는다. 컴퓨터 모니터와 컴퓨터 키보드를 사용하여, 리눅스BSD 파생 제품과 같은 최신 운영 체제는 사용되는 하드웨어와 대부분 독립적인 가상 콘솔을 특징으로 한다.

그래픽 사용자 인터페이스(GUI) (예: X 윈도 시스템)를 사용하는 경우, 사용자의 디스플레이는 단일 프로세스와 관련된 단일 텍스트 스트림보다는 다양한 애플리케이션과 관련된 창 모음으로 채워지는 것이 일반적이다. 이 경우, 창 환경 내에서 터미널 에뮬레이터 애플리케이션을 사용할 수 있다. 이 배열을 통해 물리적 터미널 장치 없이도 컴퓨터와 터미널과 유사한 상호 작용(예: 명령줄 인터프리터 실행)이 가능하며, 동일한 장치에서 여러 터미널 에뮬레이터를 실행할 수도 있다.

터미널 에뮬레이터는 텍스트 터미널을 에뮬레이트하는 소프트웨어의 일종이다. 과거, 근거리 통신망과 광대역 인터넷 접속이 널리 사용되기 전에는 많은 컴퓨터가 전화선이나 직렬 장치를 통해 다른 컴퓨터와 통신하기 위해 직렬 액세스 프로그램을 사용했다.

최초의 매킨토시가 출시되었을 때, MacTerminal[30]이라는 프로그램은 IBM PC를 포함한 많은 컴퓨터와 통신하는 데 사용되었다.

Windows의 Win32 콘솔은 이스케이프 시퀀스를 지원하는 물리적 터미널을 에뮬레이트하지 않으므로,[31] Windows용 SSH 및 Telnet 프로그램(원격 컴퓨터에 텍스트 방식으로 로그인하기 위한)은 일부 버전의 Windows에 번들로 제공되는 Telnet 프로그램을 포함하여 자체 이스케이프 시퀀스 처리 코드를 통합하는 경우가 많다.

유닉스 계열 시스템(예: gnome-terminal, Konsole, QTerminal, xterm, Terminal.app)의 터미널 에뮬레이터는 이스케이프 시퀀스 지원을 포함하여 물리적 터미널을 에뮬레이션한다. 예를 들어, xterm은 VT220 및 Tektronix 4010 하드웨어 터미널을 에뮬레이션할 수 있다.

4. 2. 가상 콘솔

리눅스FreeBSD와 같은 유닉스 계열 운영 체제는 하나의 컴퓨터에서 여러 텍스트 터미널을 사용할 수 있게 해주는 가상 콘솔을 제공한다.[16]

4. 3. 씬 클라이언트

씬 클라이언트는 마이크로소프트 윈도우RDP, 유닉스 터미널의 X11과 같은 프로토콜을 이용하여 서버에 접속한다. 필요한 대역은 어떠한 프로토콜을 쓰는지, 해상도와 색 깊이는 어떠한지에 따라 달라진다. 현대의 그래픽 단말기는 색이 있는 그림을 보여주고 다양한 크기의 문자, 색, 글꼴을 지원한다.[11][12][13]

5. 한국의 특수 상황

대한민국은 빠른 인터넷 보급과 PC, 스마트폰의 대중화로 인해 하드웨어 단말기 사용은 제한적이다. 하지만 서버 관리, 네트워크 장비 설정, 임베디드 시스템 개발 등 특수 분야에서는 여전히 터미널 에뮬레이터가 활용된다. Terminal emulator|터미널 에뮬레이터영어는 GUI OS 상에서 작동하는 프로그램으로, 윈도우를 열어 그 윈도우를 텍스트 터미널로 이용할 수 있게 한다. Win32 콘솔이나 xterm이 대표적인 예시이다.

공공기관, 금융기관 등에서는 보안 강화를 위해 망분리 환경을 구축하고, 씬 클라이언트를 도입하는 추세이다.

참조

[1] 문서
[2] 웹사이트 What is the etymology of "[computer] terminal"? https://english.stac[...]
[3] 웹사이트 The Teletype Story http://www.samhallas[...]
[4] 웹사이트 Direct keyboard input to computers https://www.computer[...] 2024-01-11
[5] 웹사이트 What is dumb terminal? definition and meaning https://web.archive.[...] 2019-03-13
[6] 문서
[7] 웹사이트 Is this, finally, the thin client from Oracle? https://www.ft.com/c[...] 2009-06-02
[8] 웹사이트 DPD chronology https://www.ibm.com/[...] 2003-01-23
[9] 웹사이트 The DEC LA36 Dot Matrix Printer Made Business Printing Faster and more efficient https://biztechmagaz[...] 2017-03-17
[10] 문서
[11] 웹사이트 Uniscope brochure https://archive.comp[...] 2021-05-23
[12] 간행물 Uniscope 100 - Display Terminal - General Description http://bitsavers.org[...] Sperry Rand Corporation 2023-12-03
[13] 간행물 Uniscope 300 General Description - Visual Communications Terminal http://bitsavers.org[...] Sperry Rand Corporation 2023-12-03
[14] 간행물 IBM System/360 Component Description: - IBM 2260 Display Station - IBM 2848 Display Control http://bitsavers.org[...] IBM 2023-12-03
[15] 웹사이트 glass tty http://www.catb.org/[...]
[16] 문서
[17] 문서
[18] 간행물 TN3270 Enhancements 1998
[19] 서적 IBM 3270 Information Display System Component Description http://www.bitsavers[...]
[20] 뉴스 Already over 80,000 winners out there! (advertisement) https://books.google[...] 2012-11-27
[21] 뉴스 HP 3000s, IBM CPUs Get On-Line Link https://books.google[...] 2012-11-27
[22] 웹사이트 The ADM-31. A terminal far too smart to be considered Dumb http://archive.compu[...] 2012-11-27
[23] 서적 Frontiers in Computer Graphics 1985
[24] 학술 Using a Microprocessor in an Intelligent Graphics Terminal
[25] 학술 G101—A Remote Time Share Terminal with Graphic Output Capabilities 1971
[26] 웹사이트 intelligent terminal Definition from PC Magazine Encyclopedia https://www.pcmag.co[...]
[27] 문서
[28] 웹사이트 What is 3270 (Information Display System) https://whatis.techt[...]
[29] 웹사이트 Epson TM-T88V-DT Intelligent Terminal, 16GB SSD, LE, Linux, ... https://www.epson.de[...]
[30] 웹사이트 MacTerminal Definition from PC Magazine Encyclopedia https://www.pcmag.co[...]
[31] 웹사이트 How to make win32 console recognize ANSI/VT100 escape sequences? https://stackoverflo[...]
[32] 문서
[33] 문서
[34] 문서
[35] 문서
[36] 서적 Twentieth Century Words Oxford Unity Press

관련 사건 타임라인

( 최근 20개의 뉴스만 표기 됩니다. )



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com