매크로 = Sub-Program = 개방 서브루틴(Opened Sub-routine)


[기본기능]

 - 정의, 호출, 확장, 라이브러리

 - 정의 인식->정의 저장->호출 인식->호출 확장

'IT > OS' 카테고리의 다른 글

운영체제 구조  (0) 2018.05.01
인터럽트  (0) 2018.05.01

[리눅스/유닉스 운영체제의 링 구조]

1. 하드웨어

2. 커널

3. 셀

4. 응용 프로그램


[운영체제 구조]

1.간단한 구조

2,계층적 구조

3.마이크로커널 구조

4.모듈화커널 구조

'IT > OS' 카테고리의 다른 글

매크로(Macro)  (0) 2018.05.01
인터럽트  (0) 2018.05.01

인터럽트의 종류

외부 인터럽트

  • 전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등
  • 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류
  • 외부 신호 인터럽트(External interrupt)
    - 타이머에 의한 인터럽트 : Preemptive개념을 생각하면 된다. 자원이 할당된 시간이 다 끝난 경우
    - 키보드로 인터럽트 키를 누른 경우 : 대표적으로 Control + Alt + Delete
    - 외부장치로부터 인터럽트 요청이 있는 경우 : I/O 인터럽트 아님!! 다른 개념이다
  • 입출력 인터럽트(I/O Interrupt)
    - 입출력장치가 데이터 전송을 요구하거나 전송이 끝나 다음 동작이 수행되어야 할 경우
    - 입출력 데이터에 이상이 있는 경우

내부 인터럽트

  • 잘못된 명령이나 잘못된 데이터를 사용할때 발생하며 Trap이라 부른다.
  • 프로그래 검사 인터럽트(Program check interrupt)
    - Division by zero
    - Overflow/Underflow
    - 기타 Exception
  • 소프트웨어적이 내용이나 분류상 인터럽트가 아니다!

소프트웨어 인터럽트(SVC : SuperVisor Call)

  • 사용자가 프로그램을 실행시키거나 감시프로그램(Supervisor)을 호출하는 동작을 수행하는 경우
  • 소프트웨어 이용중 다른 프로세스를 실행시키면 시분할 처리를 위해 자원 할당 등의 동작이 수행된다.

인터럽트 동작 순서

  1. 인터럽트 요청
  2. 프로그램 실행 중단 : 현재 실행중이던 Micro operation 까지 수행한다.
  3. 현재의 프로그램 상태 보존 : PCB(Process Control Block), PC(Program Counter) 등
  4. 인터럽트 처리루틴 실행 : 인터럽트를 요청한 장치를 식별한다.
  5. 인터럽트 서비스 루틴 실행 : 인터럽트 원인을 파악하고 실질적인 작업을 수행한다. 처리기 레지스터 상태를 보존한다. 서비스 루틴 수행 중 우선순위가 더 높은 인터럽트가 발생하면 또 재귀적으로 1~5를 수행한다.
  6. 상태복구 : 인터럽트 발생 시 저장해둔 PC(Program counter)를 다시 복구한다.
  7. 중단된 프로그램 실행 재개 : PC의 값을 이용하여 이전에 수행중이던 프로그램을 재개한다.


인터럽트 우선순위

전원 이상(Power fail) > 기계 착오(Machine Check) > 외부 신호(External) > 입출력(I/O) > 명령어 잘못 > 프로그램 검사(Program Check) > SVC(SuperVisor Call)


출처 :

http://raisonde.tistory.com/entry/%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8Interrupt%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%A2%85%EB%A5%98

'IT > OS' 카테고리의 다른 글

매크로(Macro)  (0) 2018.05.01
운영체제 구조  (0) 2018.05.01

+ Recent posts