인터럽트 벡터 : 해당 인터럽트의 처리 루틴 주소를 가지고 있음
인터럽트 처리 루틴 : 해당 인터럽트를 처리하는 커널 함수
동기식 입출력(synchronous I/O)
- I/O 요청 후 입출력 작업이 온료된 후에야 제어가 사용자 프로그램에 넘어감
- 구현 방법1
- I/O가 끝날 때까지 CPU를 낭비시킴
- 매시점 하나의 I/O만 일어날 수 있음
- 구현 방법2
- I/O가 완료될 때까지 해당 프로그램에게서 CPU를 뺏음
- I/O 처리를 기다리는 줄에 그 프로그램을 줄 세움
- 다른 프로그램에게 CPU를 줌
비동기식 입출력(asynchronous I/O)
- I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감
I/O의 완료는 인터럽트로 알려줌
DMA(Direct Memory Access)
- 빠른 입출력 장치를 메모리에 가까운 속도로 처리하기 위해 사용
일반적인 접근은 I/O를 수행하는 special instruction
메모리 장치에 연장 주소를 붙인 다음에 접근하는 memory mapped I/O
CPU에서 직접 접근할 수 있는 메모리를 Primary
아니면은 Secondary
파일A -> 가상메모리(주소 공간: code,data,stack) -> 프로세스A
커널도 code, data,stack 으로 구성
프로그램 실행 구조