kakaotech-25 / cs-plant-interview

cs 의 씨앗을 심기 위한 레포지토리 🌱
2 stars 0 forks source link

[OS] 인터럽트와 시스템콜 #15

Closed JaeJunday closed 3 months ago

JaeJunday commented 3 months ago

예상 면접 질문

인터럽트 / 시스템콜

LEE-DA-EUN commented 3 months ago
  1. 인터럽트가 무엇인지 컴퓨터를 하나도 모르는 직장상사가 물어봅니다. 해당 개념에 대해 어떻게 설명할 수 있을까요?

    • 인터럽트는 컴퓨터에서 먼저 처리해야 하는 중요한 작업이 생겼을 때 바로 처리하기 위해 현재 진행중인 작업을 잠시 멈추고 중요한 작업을 먼저 수행하도록 하는 메커니즘입니다. 예를 들어 현재 게임을 하고 있는데 중요한 전화가 오면 게임을 멈추고 중요한 전화를 먼저 받는 것을 생각해볼 수 있습니다.
  2. 프로그래밍 / 코딩을 하면서 직접 사용해본 시스템 콜 함수가 있다면 생각나는대로 하나만 알려주세요.

    • 운영체제/시스템프로그래밍 수업을 들으면서 fork(), open(), read(), write() 등을 사용해보았습니다.
    • open() 을 통해 파일을 열고 read(), write() 를 통해 파일을 읽고 쓰는 작업을 수행했습니다.

당신은 어떤 회사 A의 기술 면접관으로 임명되었습니다. 면접을 통해 면접자가 시스템 콜의 사용가치를 알고있는지 확인하고자 합니다. 단 질문에 '시스템 콜' 이란 단어가 포함되면 안됩니다. 어떻게 질문해야할까요?

rimeir commented 3 months ago
  1. 인터럽트는 컴퓨터가 중요한 일이 생겼을 때 즉각적으로 반응하도록 도와주는 메커니즘입니다. 즉 인터럽트가 발생하면 CPU는 현재 하던 일을 중단하고 들어온 이벤트를 처리하는 인터럽트 처리 루틴(IRS)을 실행합니다.
  2. open(), read(), write(), close() 시스템 콜 함수를 사용하여 파일을 열어 데이터의 읽기, 쓰기, 닫기 수행하였습니다.
  3. 유저 모드와 커널 모드에서 프로그램이 실행될 때의 차이점과 커널 모드로 전환하면서 얻을 수 있는 이점이 무엇이 있나요?
msung99 commented 3 months ago
  1. 인터럽트를 아주 쉽게 설명하자면, 컴퓨터가 일을 하고 있을 때 갑자기 중요한 일이 생겨서 "잠깐만! 이거 먼저 처리하고 가야 해!"라고 알리는 신호라고 생각하면 돼요. 예를 들어, 우리가 컴퓨터로 문서를 작성하고 있는데, 프린터에서 문제가 생겨서 인쇄가 멈추면, 컴퓨터는 이걸 먼저 해결해야 하잖아요? 그때 프린터가 "잠깐! 나한테 문제가 생겼어!"라고 컴퓨터에 알리면, 컴퓨터는 하던 일을 잠시 멈추고 프린터 문제를 먼저 해결해요. 이게 바로 인터럽트예요.

  2. 프로그래밍하면서 직접 사용해본 시스템 콜 중 하나는 read() 함수예요. 이 함수는 파일이나 입력 장치(예: 키보드)에서 데이터를 읽어오는 데 사용해요. 예를 들어, 파일에 저장된 내용을 읽어오거나, 사용자가 키보드에 입력한 값을 가져올 때 이 함수를 사용해요. read() 함수는 운영체제에게 "내가 지정한 파일이나 장치에서 데이터를 가져와줘"라고 요청하는 역할을 하죠.

  3. 🤔

1013115 commented 3 months ago
  1. 인터럽트가 무엇인지 컴퓨터를 하나도 모르는 직장상사가 물어봅니다. 해당 개념에 대해 어떻게 설명할 수 있을까요?

    • 인터럽트를 간단하게 비유해서 설명해보자면, 우리가 일을 하고 있을때 갑자기 전화가 오는 것과 비슷하다. 내가 코딩을 하고 있는데 누군가가 급하게 전화를 걸어오면 나는 코딩을 잠시 멈추고 전화를 받는다. 전화를 받고 나면 다시 보고서를 작성하는 일을 계속한다. 컴퓨터의 인터럽트도 비슷한 방식으로 동작한다. 컴퓨터가 어떠한 작업을 하고 있을 때, 외부에서 중요한 일이 발생하면 그 일을 처리하기 위해 현재 하고 있는 작업을 잠시 멈추고, 새로운 작업을 처리한다. 그 다음 원래 하던 작업으로 돌아온다.
  2. 프로그래밍 / 코딩을 하면서 직접 사용해본 시스템 콜 함수가 있다면 생각나는대로 하나만 알려주세요.

    • 파일을 여는데 사용하는 open()함수가 생각이난다. 운영체제에게 파일경로와 모드를 지정해주면 이 작업은 운영체제 커널에 의해 처리되며, 파일이 성공적으로 열리면 파일 객체를 반환하고, 그렇지 않으면 오류를 발생한다.
  3. 당신은 어떤 회사 A의 기술 면접관으로 임명되었습니다. 면접을 통해 면접자가 시스템 콜의 사용가치를 알고있는지 확인하고자 합니다. 단 질문에 '시스템 콜' 이란 단어가 포함되면 안됩니다. 어떻게 질문해야할까요?

    • 음.... 프로그램이 실행 중에 파일을 읽거나 쓰는 작업을 할 때, 이러한 작업들이 운영체제와 어떻게 상호작용하는지 설명해 주실 수 있나요? 또한, 이러한 작업을 처리하기 위해 사용한 함수나 메커니즘 중 기억나는 것이 있으면 알려주세요 (gpt 도움...)