메이쁘

[OS] 2020.11.18. 오늘의 면접 Q&A 본문

면접 대비 CS지식/SELF CS면접 Q&A

[OS] 2020.11.18. 오늘의 면접 Q&A

메이쁘 2020. 11. 19. 01:29

안녕하세요.

 

CS관련 질문과 면접에 맞는 답변을 작성하면서 지식도 쌓고 면접도 대비하는 시간을 가지려고 합니다.

 

 

틈틈히 게시글을 작성하며 면접 대비 데이터셋을 확보해둔 다음

 

언젠간 면접하게 될 때 모아서 쓰려고 합니다.

 

(실제로 면접에서 들었던 질문이 아니라, 제가 스스로 답을 정해놓고 짜논 질문이라 이렇게 안나올 수 있습니다!!!)

 

 

 

이번 글은 OS - 프로세스 카테고리 입니다.

 

 

 

 

  -- 질문 목록

 

Q1. 인터럽트(Interrupt) 가 무엇인가요?

Q2. 내부/외부 인터럽트는 어떤 상황들이 있는지 말해보세요.

Q3.  인터럽트 발생 시 처리 과정을 설명해보세요.


Q1.  인터럽트(Interrupt) 가 무엇인가요?

 

A.  인터럽트란, CPU가 프로그램을 실행하고 있을 때 예기치 못한 상황이 발생하여 실행중이던 프로세스를 잠시 멈추거나 다른 급한 일을 처리해야 하는 상황을 가리킵니다. 보통 인터럽트가 발생하면 실행중이던 프로세스를 멈추고 인터럽트를 처리한 후 다시 멈췄던 프로세스로 돌아와 이어서 실행합니다.

 

이러한 인터럽트는 하드웨어/소프트웨어 또는 내부/외부 로 나눕니다.

 

 

 

 

Q2. 내부/외부 인터럽트는 어떤 상황들이 있는지 말해보세요.

 

A. 내부 인터럽트하드웨어 고장, 실행할 수 없는 명령어, 명령어 실행 오류, 사용 권한 위배 등이 있습니다.

 

하드웨어 고장은 컴퓨터 고장 또는 비트 오류가 있으며, 

명령어 실행 오류는 나누기 0과 같은 경우,

사용 권한 위배는 말 그대로 사용자가 OS만 접근 가능한 곳에 엑세스한 경우 입니다.

 

외부 인터럽트는 보통 외부 입출력장치에 의해 발생하는데, 대표적으로 컴퓨터 종료(전원 버튼 누르기), 타이머 인터럽트(타이머가 일정 시간 간격으로 인터럽트 요청), 입출력 인터럽트(입출력장치가 입출력완료를 알리기 위해 인터럽트 요청) 가 있습니다.

 

 

 

 

Q3.  인터럽트 발생 시 처리 과정을 설명해보세요.

 

A. 

먼저, 실행중인 프로그램을 중단합니다.

이 때, 현재 프로그램 상태를 보관합니다. (컨텍스트 스위칭 = 문맥 교환)

이후 인터럽트 처리 루틴을 실행합니다.

다음, 인터럽트 서비스 루틴을 실행합니다.

인터럽트 요청 신호가 발생했을 때 보관한 PC의 값을 복원하여 이전 실행 위치로 돌아옵니다.

이어서 프로그램을 진행합니다.

 

 

 

인터럽트 처리 과정(출처 : http://w3.incom79.com/)

 

 

 

이상입니다.

 

감사합니다!

 

Comments