스트림(컴퓨터)

Stream (computing)
입력, 출력 및 오류에 대한 표준 스트림

컴퓨터 과학에서 스트림은 시간이 지남에 따라 이용 가능하게 된 일련의 데이터 요소들이다.스트림은 컨베이어 벨트의 아이템이 큰 일괄 처리가 아닌 한 번에 하나씩 처리되는 것으로 생각할 수 있다.

스트림은 배치 데이터와 다르게 처리된다 – 정상적인 기능은 잠재적으로 무제한적인 데이터를 가지고 있기 때문에 스트림 전체에서 작동할 수 없으며, 형식적으로 스트림은 데이터(한정된 데이터)가 아니라 코다타(잠재적으로 무제한)이다.스트림에서 작동하여 다른 스트림을 생성하는 기능을 필터라고 하며, 기능 구성과 유사하게 파이프라인에서 연결할 수 있다.필터는 한 번에 스트림의 한 항목에서 작동하거나, 출력 항목을 이동 평균과 같은 여러 입력 항목에 기초할 수 있다.

"스트림"이라는 용어는 다음과 같은 여러 가지 유사한 방법으로 사용된다.

  • sed, awk 및 perl과 같은 "스트림 편집"스트림 편집은 파일을 사용자 인터페이스에 로드할 필요 없이 파일 또는 파일을 인플레이스 방식으로 처리한다.이러한 용도의 한 예는 명령줄에서 디렉터리에 있는 모든 파일을 검색하고 교체하는 것이다.
  • C 언어를 기반으로 하는 Unix 및 관련 시스템에서 스트림은 데이터의 소스 또는 싱크(일반적으로 개별 바이트 또는 문자)이다.스트림은 파일을 읽거나 쓰거나 네트워크 소켓을 통해 통신할 때 사용되는 추상화다.표준 스트림은 모든 프로그램에서 사용할 수 있도록 만들어진 세 개의 스트림이다.
  • I/O 장치는 시간이 지남에 따라 잠재적으로 무제한의 데이터를 생성하거나 소비하기 때문에 스트림으로 해석할 수 있다.
  • 객체 지향 프로그래밍에서는 입력 스트림이 일반적으로 반복기로 구현된다.
  • Scheme 언어와 일부 다른 언어에서 스트림은 느리게 평가되거나 지연된 데이터 요소의 시퀀스다.스트림은 목록과 유사하게 사용될 수 있지만, 이후 요소는 필요할 때만 계산된다.따라서 스트림은 무한 시퀀스시리즈를 나타낼 수 있다.[1]
  • Smalltalk 표준 라이브러리다른 프로그래밍 언어에서도 스트림은 외부 반복기이다.체계에서와 같이, 스트림은 유한하거나 무한의 시퀀스를 나타낼 수 있다.
  • 스트림 처리 - 특히 그래픽 처리에서 스트림이라는 용어는 하드웨어뿐 아니라 소프트웨어에도 적용된다.거기서 프로그램 상태가 스트림의 시작 조건을 만족하는 즉시 데이터 흐름 프로그래밍 언어로 처리되는 데이터의 준연속적 흐름을 정의한다.

적용들

스트림은 프로세스통신에서 채널의 기본 데이터 유형으로 사용될 수 있다.

기타 용도

"스트림"이라는 용어는 파일 시스템 포크에도 적용되는데, 여기서 복수의 데이터 세트가 하나의 파일 이름과 연관된다.보통 파일 데이터를 구성하는 메인 스트림이 하나 있는 반면, 추가 스트림이 메타데이터를 포함하고 있는 경우가 가장 많다.여기서 "stream"은 확장된 속성과 같은 고정 크기 메타데이터와는 반대로 "변수 크기 데이터"를 나타내기 위해 사용되지만, 그렇지 않은 경우 "stream"과는 다르게 "시간 경과에 따라 사용 가능한 데이터, 잠재적으로 무한정"을 의미한다.

참고 항목

참조

외부 링크