스풀링??
-> 스풀이란 Simultaneous Peripheral Operation On-Line의 줄임말로서 컴퓨터 시스템에서 중앙처리장치와 입출력장치가 독립적으로 동작하도록 함으로써 중앙처리장치에 비해 주변장치의 처리속도가 느려서 발생하는 대기시간을 줄이기 위해 고안된 기법이다.
감사합니다 위키백과 선생님😃
스풀링 개념은 운영체제에서 배울 개념이다. 위에 나온것 처럼 Simultaneous Peripheral Operation On-Line의 줄임말인데 위 설명은 사전적 정의로 너무 딱딱하니 풀어서 설명해 보고자 한다.
먼저 주변 장치의 속도가 느리다고 가정해보자. 그러면 대기 시간은 자연스럽게 늘어나는데 이 대기 시간을 줄이기 위해서 디스크 공간의 일정 부분을 활용해 데이터를 저장하는 기술을 스풀링이라고 한다. 이때 스풀은 디스크의 "일정 부분" 그러니가 디스크의 임시 저장 영역을 말한다. 이것은 신기하게도 프린터에서 주로 활용을 한다.
만약에 100장을 프린트 해야하는 상황이 생겼다고 해보자. 스풀링 없이 CPU가 프린터에게 인쇄 명령을 요청한다면??
100장의 인쇄를 다 마치기 전까진 CPU는 아무것도 하지 않고 기다릴 것이다. 그리고 100장이 모두 끝나면 이제서야 부랴부랴 일을 시작 하게 될 것인데 이것은 정~~~말 비효율적이다. 이런 문제를 해결하기 위해서 CPU가 하드디스크에서 일정 부분에 CPU가 인쇄할 거리들만 저장을 하고 프린터기는 하드디스크의 스풀(임시 저장공간)에 가서 인쇄할 자료들을 찾아 인쇄하는 부분을 이야기 하는 것이다. 이렇게 되면 CPU는 작업이 끝날때 까지 기다리지 않아도 된다.
스풀링 그리고 버퍼링
🤔 스풀링 자료를 검색하다 보면 항상 빠지지 않고 나오는 개념이 버퍼링(buffering)이다. 왜냐면 이 스풀링 자체가 버퍼링의 일종 이기 때문이다.
버퍼링? Youtube 영상을 보다가 끊기면 "렉걸린다" 라는 표현보단 "영상에 버퍼링이 걸린다" 라는 표현을 자주 사용하는데 이게 그것이 맞을까? 먼저 버퍼링은 어떤 정보가 버퍼(buffer)에 저장되는 작업을 하고 있다는 뜻이다. 이 작업이 끝나지 않고서야 특정 상황이 아니라면 출력을 하지 않는다. 영상이 끊기는 이유도 이러한 이유 때문이다. 좀더 자세하게 설명하면...
😃 - 버퍼링은 버퍼(buffer) 메모리 영역에 사용 예정 데이터를 임시로 저장해서 처리속도 차이를 완화하기 위한 기술이다.
-> 장치 사잉의 속도 차이 개선 그리고 전송 크기 차이를 극복하기 위해 사용한다.
만약 A라는 게임 스트리머가 방송을 하려한다 쳐보자. 하지만 이 스트리머는 아직 시작하지 얼마 되지 않아 장비의 상태가 그리 좋진 못하다. 그래서 시청자 B의 컴퓨터 보다 속도가 훨씬 느리다. 그럼 방송을 위해 스트리머 컴퓨터에서 시청자 컴퓨터에 데이터를 보내면, B(시청자) 컴퓨터는 속도가 빠르기 때문에 데이터를 받는 즉시 영상을 재생시킬 수 있다. 하지만 B 컴퓨터가 빠르기 때문에 스트리머가 보내는 데이터를 전부 받을 때 가지 기대려야한다. 그럼 방송 영상은 어떻게 될까? 중간중간 재생되다가 끊기는 부분이 있을 수도 잇고 영상이 아주 조금씩 재생이 되는 곳도 있을 것이다. 그래서 이 문제를 해결하기 위해 스트리머의 컴퓨터는 버퍼 메모리 영역에 사용 예정인 영상 데이터를 임시로 저장하고 B 컴퓨터에 전송한다. 따라서 시청자는 스트리머의 생방송 영상 기다림을 최소화 할 수 있다.
'1일 1cs' 카테고리의 다른 글
HTTP vs HTTPS (0) | 2022.09.24 |
---|---|
스택(Stack)2개로 큐(Queue) 구현하기 (0) | 2022.09.18 |
페이지 교체 알고리즘💻 (2) | 2022.09.13 |
네트워크 / 라우팅(Routing)의 유형들 (0) | 2022.09.12 |
네트워크 이론 / 서브넷팅 & 슈터넷팅 개념 (0) | 2022.09.11 |