Interrupt
- DMA가 cpu 간섭없이 I/O 작업을 수행 후 종료를 알려주는 역할
- ISR : Interrupt Service Routine의 약어 (Interrupt Handler)로 Interrupt가 종료될 시 CPU가 필수로 수행하는 함수
Interrupt 수행순서
- I/O 작업이 수행된다
- DMA가 작업을 수행한다
- 작업이 종료되면 Interrupt가 발생한다
- CPU는 현재 수행중인 내용의 위치를 Save 한다
- CPU는 해당 Source의 ISR를 실행하기 위해 Interrupt Vertor 값을 참조한다
- ISR 위치를 찾아 수행한다
- ISR 종료 후 수행중인 위치로 복귀한다
Interrupt, Trap
- Interrupt : external processor에 의한 event이다 (Hardware Interrupt)
- Interrupt 는 asynchronous 이다 (비동기적)
- Trap : Software에 의한 event 이다 (Software Interrupt)
- Trap synchronous 이다 (동기적)
- 1. System call, 2. Exception 두가지가 있다
Storage Structure
- 1. Main Memory (Primary Storage) : DRAM 으로, 휘발성 메모리 (가장 빠르다)
- 2. Secondary Storage : nonvolatile (비휘발성) 메모리 : HDD, SSD
- 3. Tertiary Storage : Backup 용
Cashing
- 높은 비용, 적은 용량의 문제로 인해 두가지 메모리를 결합하여 사용할 때 더욱 빠른 메모리에 할당하는 과정 (load)
- Prefetching : 작업이 이루어지기 전에 미리 load 하는 과정
Multi-Processor, Multi-Core
- Multi-Processor : CPU가 여러개
- 1. Increased throughput (처리량이 증가)
- 2. Economy of scale (경제적 : 메모리 공유)
- 3. Increased reliability (CPU 한개 문제가 생겨도 System이 작동되기 때문)
- Multi-Core : 한개의 CPU에 Core가 여러개
- 주파수를 유지하며 Core수를 늘리는 이유는 발열 때문이다
Multi-Processor
- ASMP (Asymmetric multiprocessing) : 비대칭
- Master - Slave 간의 관계
- 각각 독립적인 own memory를 지닌다
- SMP (Symmetric multiprocessing) : 대칭
- Shares the memory : 한 메모리를 공유한다
Multiprocessor memory model
- UMA (Uniform momory access)
- NUMA (Non uniform memory access)
OS가 할당하는 원칙 (allocation)
- 1. load balancing
- 2. affinity
MultiProgramming (Multitasking)
- CPU scheduling : 여러 job 중 한 job을 택하는 과정
- jop scheduling : 여러 job 중 택하여 memory에 넣는 과정
- switches : in : 메모리에 채우기, out : 공간 비우기
- virtual memory 가 physical 메모리보다 크다
Dual mode operation
- User, kernel 모드가 있다
- Protecting을 위한 구조
- Privileged instructions는 kernel 모드에서만 사용 가능