BIOS(Basic Input Output System):
컴퓨터 시작할 때 지원해주는 프로그램
self test를 통해 cpu로부터 모든 시스템을 초기화
커널 위치를 알아 로딩해주고 실행해준다.
CMOS :
부팅에 필요한 정보들을 담고 있는 메모리

하드웨어 정보를 모으고 시스템을 실행한다
부트섹터의 데이터를 메인메모리로 로드한다
CPU가 bootstrapped code를 실행한다
디스크에서 OS를 로드한다
일반적인 작동
device: ex) 하드디스크
device controller: ex) 하드디스크의 HW
device driver: ex) 하드디스크의 SW
CPU와 I/O device는 동시 실행 가능하다(동시 실행 가능한 것과 메모리 사이클을 위해 경쟁하는 것은 다르다)
CPU는 데이터를 로컬 버퍼에서/로 메인 메모리로/에서 옮긴다
I/O device는 데이터를 device에서/로 로컬 버퍼로/에서 옮긴다
device controller:
각각의 디바이스 컨트롤러는 특정 디바이스 종류를 맡고 있다
각각의 디바이스 컨트롤러는 로컬 버퍼가 존재한다
디바이스 컨트롤러는 CPU에게 인터럽트를 발생시켜 실행이 끝났다는 것을 알려준다

P1 실행중 clock interupt가 발생하면 ivt에 가서 해당 interupt 정보(어떤 서비스를 제공하는지)를 찾고 거기에 저장되있는 포인터를 통해 해당 주소로 이동한다. handler가 isr을 살행하고 제어를 cpu에게 넘겨준다.