원래 당신은 벙어리 터미널을 가지고있었습니다-처음에는 실제로 타자기 (전기 타자기와 비슷하지만 종이 롤이 있음) (따라서 / dev / tty-TeleTYpers), 나중에 화면 + 키보드 콤보-키 코드를 보냈습니다. 컴퓨터에 컴퓨터가 터미널에 문자를 쓰는 명령을 다시 보냈습니다 (즉, 터미널에 로컬 반향이 없으면 컴퓨터는 터미널에 사용자가 입력 한 내용을 쓰도록 컴퓨터에 명령해야했습니다). 중요한 유닉스 명령어가 너무 짧은 이유는 무엇입니까? 대부분의 터미널은 직렬 회선으로 연결되었지만 (적어도) 하나는 컴퓨터에 직접 연결되어 있습니다 (종종 같은 방). 이것은 콘솔이었습니다. 일부 사용자 만 "콘솔"에서 작업 할 수 있다고 신뢰했습니다 (단일 사용자 모드에서 사용할 수있는 유일한 "터미널").
나중에 xterm
화면 및 그래픽 화면 카드, 키보드, 마우스 및 간단한 프로세서 가있는 일부 그래픽 터미널 (소위 " 프로그램 과 혼동하지 않는"xterminals ")이있었습니다 . X 서버를 실행할 수 있습니다. 그들은 스스로 계산을하지 않았으므로 X 클라이언트는 연결된 컴퓨터에서 실행되었습니다. 일부는 하드 디스크를 가지고 있었지만 네트워크를 통해 부팅 할 수도 있습니다. PC가 너무 싸고 강력 해지기 전에 1990 년대 초반에 인기가있었습니다.
"터미널 에뮬레이터"- "터미널 창" 은 이와 같은 프로그램으로 열거 xterm
나 konsole
그러한 바보 터미널의 기능을 모방하려고합니다. 또한 PuTTY
(Windows) 와 같은 프로그램은 터미널을 에뮬레이트합니다.
"콘솔"(키보드 + 화면)과 "컴퓨터"가 단일 장치 인 PC에서는 대신 "가상 터미널"(Linux의 경우 Alt + F1-Alt + F6 키)이 있습니다. 구식 터미널을 모방합니다. 물론, 유닉스 / 리눅스가 단일 사용자가 자주 사용하는 데스크탑 운영 체제가되어 감에 따라, 대부분의 작업은 "콘솔에서"이루어집니다. 여기서 사용자는 시리얼 라인으로 연결된 터미널을 사용했습니다.
물론 프로그램을 시작하는 쉘입니다. 그리고 fork-systemcall (C 언어)을 사용하여 환경 설정으로 자체 사본을 작성한 다음 exec-systemcall을 사용하여이 사본을 실행하려는 명령으로 변환합니다. 명령이 완료 될 때까지 명령이 백그라운드에서 실행되지 않는 한 쉘이 일시 중단됩니다. 명령이 쉘에서 stdin, stdout 및 stderr에 대한 설정을 상속하므로 명령은 터미널 화면에 기록하고 터미널 키보드에서 입력을받습니다.