hardware bottleneck map

하드웨어의 속도 차이가 OS 정책을 만든다

CPU, 캐시, 메모리, 버스, I/O 컨트롤러는 서로 다른 속도로 움직인다. 운영체제는 이 차이를 스케줄링, 가상 메모리, 버퍼링, 드라이버로 흡수한다.

CPU

명령 실행

PC와 레지스터가 현재 실행 상태를 담고, 전환 때 저장된다.

MEM

주소 공간

캐시와 RAM, 페이지가 속도와 보호의 기준이 된다.

BUS

데이터 통로

주소, 데이터, 제어 신호가 이동하며 대역폭 경합이 생긴다.

I/O

컨트롤러

장치 레지스터와 인터럽트가 드라이버를 통해 커널에 연결된다.

fetch

명령 읽기

PC가 가리키는 주소에서 명령어를 가져온다.

decode

제어 신호

제어 장치가 필요한 연산과 데이터 접근을 정한다.

execute

연산과 접근

ALU, 캐시, 메모리, 장치 접근이 실제 비용을 만든다.

interrupt

커널 개입

인터럽트와 시스템 콜에서 OS가 제어권을 얻는다.

병목
하드웨어 지점
OS 대응
계산 대기

CPU 코어와 레지스터

스케줄링, 선점, 컨텍스트 저장

메모리 지연

캐시, RAM, 페이지 테이블

가상 메모리, 페이지 교체, 지역성 활용

장치 대기

컨트롤러, DMA, 인터럽트

드라이버, 버퍼링, 비동기 I/O

cpu

run queue가 길다

CPU 경쟁, 문맥 전환 증가, 스케줄링 지연을 먼저 본다.

memory

page fault가 많다

working set, swap, 캐시 친화성을 확인한다.

io

I/O wait가 높다

장치 큐, 컨트롤러, 드라이버, 네트워크 대기를 좁힌다.

os lens

하드웨어를 OS 관점에서 읽기

상태 저장

레지스터와 PC는 프로세스 전환의 최소 복원 단서다.

속도 차이

캐시와 버퍼는 빠른 CPU와 느린 장치 사이의 완충 장치다.

제어권

인터럽트와 시스템 콜이 커널이 개입하는 입구다.