[운영체제 1-2-1장. 컴퓨터 시스템의 구성 - 컴퓨터 시스템 연산]
[컴퓨터 시스템 구성]
: 한개 이상의 CPU, Device Controller이 연결된 Bus를 통해 공유 Memory에 접근하는 형태
- CPU와 I/O Device는 Memory 사용을 두고 경쟁함
- CPU와 I/O Device는 서로 독자적으로 실행됨(각각이 주체)
- Memory 사용 우선순위 : I/O Device > CPU (Cycle steeling)
[컴퓨터 시스템 조작(Operation)]
- 각 장치마다 해당 장치만을 관리하는 controller(device controller)가 존재한다.
- 각 device controller는 buffer라는 I/O 입력값이 잠시 머무를수 있는 공간이 존재한다.
<I/O device의 입력값이 Memory로 전달되는 과정> (device Controller의 기능 : 1,2번)
1. 특정 장치에서 입력값이 발생하면, 자기 local buffer에 해당 입력값을 저장
2. CPU에 신호를 전달 = Interrupt 전달
3. CPU가 Interrupt 받으면 그 임무(Memory에 buffer 값 복사) 즉시 수행
[CPU가 Interrupt 받았을때 어떤 Device에서 보냈는지 아는법]
1. Polling : CPU가 일일히 Device에게 물어보는 방법
2. Vectored Interrupt : Device가 Interrupt 보내면서 각 Device의 처리함수를 포함하고있는 고유 주소를 같이 보내는 방법
[Interrupt(인터룹트)]
- Interrupt 발생시, 운영체제로 제어권 넘어감( = 운영체제가 실행)
: CPU에서 Interrupt 실행(운영체제 코드) 끝나면 원래 하던 작업(응용프로그램) 다시 수행.
<종류>
- External Interrupt(외부 인터룹트) : Device에서 발생한 Interrupt(위에서 설명한것들)
- Internal Interrupt(내부 인터룹트) : trap, exception
: CPU가 동작중에 스스로 문제가 발생. (Ex. div0) => 발생시 마찬가지로 운영체제로 제어권이 넘어간다.
'기타 > [운영체제]' 카테고리의 다른 글
1-5장. 운영체제 연산 (0) | 2019.03.14 |
---|---|
1-4장. 운영체제의 구조 (1) | 2019.03.11 |
1-3장. 컴퓨터 시스템 구조 (0) | 2019.03.06 |
1-2-2장. 컴퓨터 시스템의 구성 - 저장장치의 구조 (0) | 2019.03.06 |
1-1장. 운영체제가 할 일 (0) | 2019.03.04 |