하드웨어, 소프트웨어 인터럽트, 시스템 호출

taehee kim·2021년 11월 3일
0

1. 하드웨어 인터럽트

  • 하드웨어 인터럽트란 i/o등의 작업과 같이 cpu의 기능을 거의 사용하지 않는 경우 성능을 끌어 올리기 위하여 입출력 시작과 끝에만 인터럽트 신호를 cpu로 보내는 방식.

  • 실행하고 있던 기계어 코드를 끝까지 실행후 인터럽트 벡터를 읽고 isr을 수행한다.

  • 다음 기계어위치는 stack 에 저장했다가 인터럽트 종료후 다시 불러와 다시 실행

2. 소프트웨어 인터럽트

  • 예외 발생: zero division error등의 예외 상황이 발생하면 프로세스가 자신에게 인터럽트 발생시킴.
  • 프로세스간 sinal또한 인터럽트이며 간단한 신호를 프로세스간에 비동기적으로 보낼 수 있다.

3. 시스템 호출

  • 시스템을 보호하기위해 주로 입출력과 프로세스 제어와 관련된 기능은 응용프로그램이 직접 수행하지 못하게하고 커널의 기능으로 제한하여 응용프로그램이 커널에 기능을 요구하도록 만든 기능이다.

  • 프로세스 제어(process Control)

  • 파일 조작(file manipulation)

  • 장치 관리(Device Management)

  • 정보 유지(Information maintenance)

  • 통신(Communication)

유저모드에서 cpu에 trap인터럽트를 걸면 모드비트가 변환되면서 커널모드로 동작할 수 있게한다.

  • 커널모드 : 모든 메모리에 접근할 수 있고 모든 cpu 명령을 사용할 수 있으며 장치에 직접 접근할 수 있다.
  • 유저모드 : 시스템에 의해서 주어진 메모리에만 접근할 수 있고 하드웨어에 직접 접근 할 수 없다.
profile
Fail Fast

0개의 댓글