<aside>
📌 컴퓨터 시스템 구조, Mode bit, Timer, Device Controller, 입출력(I/O)의 수행, 동기식 입출력과 비동기식 입출력, 시스템콜(System Call), 인터럽트(Interrupt)
</aside>
컴퓨터 시스템 구조


- CPU의 작업 공간 == Memory
- 각각의 I/O device 들은 작은 CPU가 붙음 (이를 device controller 라고 함)
- device controller의 작업 공간 == local buffer
- CPU 내부
- register: 메모리보다 작고 빠른 저장 공간
- mode bit: 지금 실행중인 프로그램이 운영체제인지 사용자 프로그램인지 구분해주는 것
- interrupt line: I/O에서 일을 끝낸 것을 알기 위한 방법
- CPU는 메모리와 instruction을 통해서만 일함, 그러나 I/O device 에 접근해야 할 때에는 device controller 에 (+ local buffer) 시킨 후 그 시간 동안 다시 메모리와 일함
- CPU는 빠르면서 쉬지 않고 일하기 때문에 사용자 입장에서는 프로그램이 interactive 하게 동작하고 있다 느껴짐
- timer: 특정 프로그램이 CPU를 독점하는 것을 막기 위함, 세팅된 시간이 지나면 timer가 CPU에 인터럽트를 걸고 CPU가 현재의 instruction 실행이 끝난 후 interrupt line 을 확인했을 때 OS로 다시 CPU 제어권이 넘어오도록 함 (OS → timer 세팅 → 프로그램1 → timer 만료 → OS → timer 세팅 → 프로그램2 →…)
- 사용자 프로그램은 직접 I/O에 접근할 수 없으며 모든 접근은 OS에 CPU를 넘겨주고 처리하도록 함, I/O 작업이 완료되면 local buffer 에 작업물이 쌓이고 interrupt line 에 쌓임
Mode bit
Timer
- 정해진 시간이 흐른 뒤 운영체제에게 제어권이 넘어가도록 인터럽트를 발생시킴
- CPU를 특정 프로그램이 독점하는 것으로부터 보호