하드웨어 구성 지도

하드웨어 추상화와 조율

CPU가 명령을 실행하고, 메모리가 데이터를 공급하고, 버스와 컨트롤러가 외부 장치를 연결합니다. OS는 이 차이를 숨기면서 자원을 공평하게 나눕니다.

속도 차이 레지스터와 디스크 사이의 큰 격차를 어떻게 감출까?
공유 자원 CPU, 메모리, I/O를 여러 프로세스에 어떻게 나눌까?
보호 경계 사용자 코드가 하드웨어를 직접 망가뜨리지 못하게 막는다
CPU: 실행 상태 저장 Memory: 계층과 캐시 Bus: 데이터 이동 폭 I/O: 인터럽트로 복귀
CPU

명령어 실행

PC, FLAGS, 범용 레지스터 상태를 저장하고 복원해야 컨텍스트 스위칭이 정확해집니다.

Memory

계층과 지역성

캐시는 빠르지만 작고, RAM은 느리지만 큽니다. 가상 메모리는 이 차이를 관리합니다.

Bus

데이터 이동 경로

주소/데이터/제어 신호가 버스를 지나 대역폭을 정합니다.

I/O

컨트롤러와 드라이버

장치 제어는 드라이버, 표준 인터페이스는 OS가 맡습니다.

프로그램 한 줄이 실행될 때 지나가는 길

Fetch PC가 가리키는 명령어를 메모리에서 가져온다
Decode 제어 장치가 연산과 피연산자를 해석한다
Execute ALU나 메모리 접근이 실제 작업을 수행한다
Transfer 버스와 캐시가 필요한 데이터를 이동시킨다
Signal I/O 완료는 인터럽트로 OS에 다시 알려진다