Stream   스트림

(2018-11-12)
1. 스트림(Stream) 이란?

  ※ 영어 뜻으로는, `흐르는 시냇물`등을 의미

  ㅇ [데이터 관점]
     - 일반적으로, 데이터,패킷,비트 등의 일련의 연속성을 갖는 흐름을 의미
        . 음성,영상,텍스트 등의 작은 데이터 조각들이 하나의 줄기를 이루며,
        . 순서대로 물 흐르듯이 전송되는 데이터 열(列)

  ㅇ [프로세스 관점]
     - 원격 호스트 상호간 또는 동일 호스트프로세스 또는 장치 상호간의 통신에서,
     - 에 의한 메세지 전달방식 등을 이용한 가상 연결 통로 또는 구현 소프트웨어 모듈


2. 동영상 재생 기술에서의 스트림 

  ※ ☞ 스트리밍 (Streaming) 참조


3. 암호화 방식에서의 스트림

  ※ ☞ 스트림 암호 (Stream Cipher), 대칭키 암호화 (Symmetric Key Cryptography) 참조


4. 프로그래밍 언어상의 스트림

  ㅇ 스트림 사용 이유
     - 물리 디스크상의 파일,장치들을 통일된 방식으로 다루기 위한 가상적인 개념
        . 따라서, 스트림은 어디서 나왔는지 어디로 가는지 신경을 쓸 필요없이 자유롭게
          어떤 장치,프로세스,파일들과 연결될 수 있어 프로그래머에게 많은 편리성 줌

  ㅇ 스트림 처리 상의 특징
     - 대부분, 스트림이 버퍼라는 임시 저장 공간을 갖고 있어서, 
        . 일정량을 모아두었다가, 시스템 효율을 고려하여 큰 데이터 덩어리 씩 처리하게 됨

  ㅇ [C 언어]
     - C 언어 프로그램은, 입출력을 데이터 스트림으로 해석함
     - 처리 단위
        . 크게, 바이트(텍스트) 스트림 및 바이너리(이진) 스트림으로 구분 처리
     - 파일 접근 
        . `표준 입출력에 의해 열려진 파일`을, => 파일 스트림 이라고도 부름
           .. [참고용어]  ☞  파일포인터, Redirection
        . `ANSI C` 의 표준 파일 입출력 스트림 구분 : stdin, stdout, stderr 등

  ㅇ [C++ 언어]
     - 표준 입력 스트림 객체 : cin
     - 표준 출력 스트림 객체 : cout
        . 사용 例) cout.flush()


[데이터 단위] 1. 프레임 2. 데이터그램 3. 패킷 4. 세그먼트 5. 메세지 6. 스트림

 
        최근수정     요약목록(시험중)     참고문헌