1-2-1장. 컴퓨터 시스템의 구성 - 컴퓨터 시스템 연산

기타/[운영체제]

2019. 3. 6. 20:04

[운영체제 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)  => 발생시 마찬가지로 운영체제로 제어권이 넘어간다.