터미널의 개념 ?

sok1029의 이미지


1. 터미널도 하나의 프로그램으로 보면 되는 지 알고 싶습니다.

터미널이 대화식 쉘( 즉 우리가 일반적으로 쓰는 명령어 창) 을 가리키는 것으로 알고 있는데요

책을 보다보니 표준입력, 표준출력, 표준 오류 파일 디스크립터 모두가 터미널에서 간단한 명령을 실행하였을 경우

(Ex) ls

터미널에 연결된다라고 나와있는 데요

2.
터미널을 한 프로그램으로 봤을 때 디스크립터 테이블을 가지고 거기에 0,1,2번째 디스크립터로 표준 입,출력과 오류 디스클립터를 가지게 되는데 그것이 연결된다는 것은 어떤 의미인지 알고 싶습니다.

planetarium의 이미지

글쎄요 정확한 지식 없이 떠오르는대로 말씀드리자면
관점에 따라 다르겠지만, 표준 입출력을 이야기할 때는 터미널을 프로그램으로 보면 안될것 같네요.
X윈도우 위에서 동작하는 "터미널 창" 은 일종의 "터미널을 흉내내는 에뮬레이터" 이고,
터미널은 입출력장치(키보드와 모니터) 그 자체라고 생각하는게 낫지 않을까요.
쉘은 터미널(표준입력)로부터 입력을 받아들여 출력을 터미널(표준출력,stderr)로 내보내주는 것이구요.

nikkii의 이미지

음? 글쎄요...

불편한웹의 이미지

얄팍한 지식으로 설명을 드리자면,

과거....

메인컴퓨터
 터미널1
 터미널2
 터미널3
 ....

이런 식으로 연결이 되어 있는데,
예를 들자면 터미널은 모니터, 키보드 이렇게 구성되어 있습니다.
이러한 터미널들이 메인컴퓨터(IBM 같은 대형 컴퓨터 같은거)에 각각 전선(꼭 전선이 아니라도 되고요) 으로 연결되어 있고요.

현대....
우리가 일반적으로 사용하는 컴퓨터 환경은

PC 컴퓨터
 마우스1
 모니터1
 키보드1

입니다.

이거를 위에 메인컴퓨터에 연결된 하드웨어 터미널처럼 에뮬레이트해주는 건데,,

터미널 창 몇개 띄우고

$ ps aux 해보면

user   8794  0.5  0.0  20900  3980 pts/0    Ss+  23:45   0:00 bash
user   8819  2.8  0.8 323984 34088 ?        Sl   23:45   0:01 gedit
user   8820  0.4  0.0  20900  3976 pts/1    Ss+  23:45   0:00 /bin/bash
user   8848  7.3  0.0  20892  3976 pts/2    Ss   23:46   0:00 bash
user   8871  0.0  0.0  16072  1124 pts/2    R+   23:46   0:00 ps aux

이런 식으로 나오고
거기에 pts/0, pts/1, pts/2 이런 게 터미널 번호라고 보시면 됩니다.

그래서 특정의 터미널에 메시지를 보낼 때,
터미널(에뮬레이터) 창 두개 띄우고
한 쪽에서는 이렇게 하면 pts/2 터미널에 메시지가 갑니다.

$ write user pts/2

터미널 pts/2 에서 이렇게 하면
pts/1 으로 메시지가 갑니다.

$ write user pts/1

이런 식으로 메시지를 보낼 수 있어요.
user은 각각 달라도 됩니다.

xyhan의 이미지

최소한의 환경
헷갈리네요..
============================================================

선한 인간이냐 악한 인간이냐는 그사람의 의지에 달렸다. -에픽테토스-
의지 노력 기다림은 성공의 주춧돌이다. -파스퇴르-

============================================================

============================================================

선한 인간이냐 악한 인간이냐는 그사람의 의지에 달렸다. -에픽테토스-
의지 노력 기다림은 성공의 주춧돌이다. -파스퇴르-

============================================================

winchild의 이미지

예전의 메인프레임급의 컴퓨터에 연결해서 쓰는 단말기를 터미널 이라고 했습니다.
키보드 입력 서버로 올려주고, 서버에서 나오는 결과 화면(또는 타이프라이터)에 출력하는...

요즘에는 그냥 PC 가 되었던, 서버가 되었던, 원격에서 접속하여, 내 컴퓨터같이 쓰는 모든것을 터미널이라고 하는것 같습니다.

정답은 없어요. 요즘의 상황에 맞춰서 해석하면 답입니다.

- 겨울아찌 -
winchild@kldp.org

- 겨울아찌 -
winchild@gmail.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.