버퍼(buffer)
버퍼란
속도 차이가 있는 두 장치 사이에서 데이터를 모아서 전송하는 임시 저장 공간
버퍼의 역할
데이터 전송 최적화: 데이터를 한꺼번에 전송하여 성능을 향상
CPU와 입출력 장치 간 속도 차이 완화: 빠른 장치와 느린 장치 사이에서 속도를 맞춤
데이터 손실 방지: 네트워크 또는 디스크 입출력 과정에서 데이터가 손실되지 않도록 함
스풀(Spool)
스풀이란
CPU와 입출력 장치가 독립적으로 동작할 수 있도록 하는 소프트웨어적인 버퍼링 기술
스풀의 특징
입출력 요청을 임시 저장한 후 순차적으로 처리하여 CPU가 입출력 장치의 속도에 구애받지 않고 작업할 수 있도록 함
배타적 처리: 특정 작업이 완료되기 전까지 다른 작업이 끼어들지 못함
대표적인 스풀링 예시
프린트 스풀러: 인쇄할 내용을 임시 저장 후 프린터가 출력할 준비가 될 때 순차적으로 처리
디스크 스풀링: 여러 개의 입출력 요청을 버퍼에 저장 후 순차적으로 실행
캐시(Cache)
캐시란
CPU와 메모리 간 속도 차이를 줄이기 위해 사용되는 고속 임시 저장 공간
CPU가 자주 사용하는 데이터를 캐시에 저장하여 성능을 향상시킴
캐시 관련 개념
캐시 히트(Cache Hit): 필요한 데이터가 캐시에 존재하여 즉시 사용 가능한 경우
캐시 미스(Cache Miss): 필요한 데이터가 캐시에 없어서 메모리에서 데이터를 가져와야 하는 경우
캐시 적중률(Cache Hit Ratio): 캐시 히트가 발생하는 비율로 일반적으로 90% 이상이 이상적이며, 높을수록 성능이 향상
캐시 쓰기 방식
즉시 쓰기(Write Through)
캐시의 데이터가 변경되면 즉시 메모리에 반영
장점: 항상 메모리의 데이터가 최신 상태 유지됨
단점: 메모리와의 빈번한 데이터 전송으로 성능 저하 가능
지연 쓰기(Write Back, Copy Back)
변경된 데이터를 일정 주기마다 한 번에 메모리에 반영
장점: 메모리와의 데이터 전송 횟수를 줄여 성능 향상
단점: 캐시와 메모리 간 데이터 불일치(일관성 문제) 가능성 존재
캐시 계층 구조
L1 캐시 (Level 1 Cache): CPU 내부에 위치, 가장 빠르지만 용량이 작음
L2 캐시 (Level 2 Cache): L1 캐시보다 느리지만, 더 큰 용량을 가짐
L3 캐시 (Level 3 Cache): CPU의 여러 코어가 공유하는 캐시, L1/L2보다 느림
저장장치의 계층 구조
저장장치 계층 구조란
속도, 용량, 비용을 고려하여 저장장치를 계층적으로 배치하는 방식
빠른 저장장치는 CPU 가까운 곳에, 느린 저장장치는 먼 곳에 배치
계층 구조의 구성
레지스터: CPU 내부에 위치, 가장 빠르지만 용량이 작음
L1, L2, L3 캐시: CPU 내부에 위치, 속도가 빠름
메인 메모리 (RAM): 실행 중인 프로그램이 사용하는 메모리
SSD/HDD (보조 저장장치): 대용량 데이터 저장, RAM보다 느림
테이프 저장장치: 백업용으로 사용, 가장 느림
계층 구조의 장점
CPU 가까운 곳에는 빠른 저장장치를 배치하여 성능 향상
대용량 데이터를 저렴한 저장장치(HDD, 테이프 등)에 저장하여 비용 절감
속도와 비용의 균형을 맞추어 최적의 시스템 성능 제공
정리
버퍼: 일시 저장(속도 차이 조절)
스풀: 작업 대기열(순서대로 처리)
캐시: 자주 쓰는 것 미리 저장(속도 향상)
'CS > 운영체제' 카테고리의 다른 글
[OS]멀티 프로세스(Multi Process), 멀티 코어(Multi-Core) (0) | 2025.03.22 |
---|---|
[OS]폴링(Polling), 인터럽트(Interrupt) (0) | 2025.03.17 |
[OS]메모리 보호 (0) | 2025.03.17 |
[OS]메모리의 종류 (0) | 2025.03.17 |
[OS]요리사 모형과 시스템 아키텍처 (0) | 2025.03.14 |