[OS] 캐시, 버퍼, 스풀

박시은·2023년 10월 4일
0

OS

목록 보기
16/27
post-thumbnail
post-custom-banner

▶ 캐시

  • 캐시
    • 캐시란 자주 사용하는 데이터나 값을 복사해놓는 임시 저장 장소를 말한다.
      (느린 저장장치에서 빠른 저장장치로 복사 -> 병목현상 해결)
    • 데이터 접근 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 줄이고 싶은 경우 사용한다.
    • 캐시는 CPU 사이 위치하고 메모리보다 빠른 SRAM 기반 저장장치이다.

  • 캐시 작동 방식
    • CPU는 메모리를 접근해야 할 때 캐시를 먼저 방문하여 원하는 데이터가 있는지 찾아본다.
      • 캐시에서 원하는 데이터를 찾았으면 캐시 히트라고 하며, 그 데이터를 바로 사용한다.
      • 캐시에서 원하는 데이터를 못 찼았으면 캐시 미스라고 하며, 메모리로 가서 데이터를 찾는다.
      • 캐시 공간은 작으므로, 공간이 모자라게 되면 안 쓰는 데이터부터 삭제하여 공간을 확보한다. (Eviction)

  • 캐시 메모리는 Level1부터 Level3까지 단계를 나누어 사용한다.
    • CPU(코어)와의 거리를 기반으로 L1, L2, L3 캐시라고 부른다.
    • L1 캐시는 CPU가 가장 먼저 접근하는 메모리다.

  • 캐싱
    • 데이터나 정보를 캐시에 저장하거나 캐시에서 불러와서 사용하는 과정을 의미한다.
    • 즉, 캐시하는 과정을 캐싱이라고 하는 것이다.



▶ 버퍼

  • 버퍼
    • 버퍼란 데이터를 모아서 전송함으로써 두 저장장치의 속도를 완화하는 장치를 말한다.
    • 적은 작업량으로 많은 데이터를 옮길수 있다.
      • 느린 입출력 장치에서 데이터를 읽을 때마다 하나씩 전송하면 실제로 전송되는 데이터 양이 매우 작지만, 일정량의 데이터를 모아 전송하면 적은 노력으로도 많은 데이터를 옮길 수 있는 것이다.
    • ex) 유튜브 재생바, 유튜브 · 넷플릭스 · 왓챠 등 스트리밍 서비스에 많이 사용함!!
    • 버퍼에 대해 아주 자세히 알고싶다면 여기를 클릭하자!!!

  • 버퍼링
    • 버퍼를 진행하는 과정을 버퍼링이라고 한다.



▶ 스풀

  • 스풀
    • 스풀은 CPU가 입출력장치가 독립적으로 동작하도록 고안된 S/W 버퍼를 말한다.
    • 디스크의 일부를 스풀공간이라 부르는 매우 큰 버퍼처럼 사용한다.
    • 디스크를 버퍼로 사용한다.
    • 스풀러는 인쇄할 내용을 순차적으로 출력하는 S/W로, 출력 명령을 내린 프로그램과 독립적으로 동작한다.

  • 예시: 프린터의 스풀러
    • 인쇄할 내용을 H/W의 스풀러 공간에 저장하여 CPU가 다른 작업을 수행할 수 있도록 한다.
    • 스풀러가 없다면 프린터의 출력이 끝날 때까지 워드를 사용하지 못할 것이다.

  • 스풀러 vs 버퍼
    • 버퍼의 경우 여러 프로그램에 데이터들을 모아서 한번에 전송하지만, 스풀러의 경우 한 인쇄물이 완료될때까지 다른 인쇄물이 끼어들 수 없다.



📎참조

profile
블로그 이전했습니다!
post-custom-banner

0개의 댓글