inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[미션] 인프런 워밍업클럽 CS 2기 1주차 미션

만족한 돌고래
0

 운영체제

  1.  

cCopy codewhile(true){
    wait(1); // 1초 대기
    bool isActivated = checkSkillActivated(); // 스킬 사용 여부 확인
}

위 코드는 1초마다 플레이어의 스킬 사용 여부를 확인하는 폴링 방식입니다. 하지만 1초마다 상태를 확인하므로 성능 저하를 초래할 수 있습니다. 이 문제를 개선하기 위해 어떤 방법을 사용할 수 있을까요?

인터럽트 방식

CPU는 I/O 장치 관리자에게 명령을 전달하고 나서 다른 작업을 계속 수행합니다. I/O가 완료되면 장치 관리자가 CPU에 신호를 보내고, CPU는 이 신호를 받아 인터럽트 서비스 루틴(ISR)을 실행하여 해당 작업을 처리합니다. 이렇게 하면 CPU가 주기적으로 상태를 확인하지 않아도 되므로 성능이 향상됩니다.

 

  1. 프로그램과 프로세스의 차이는 무엇인가요?

 

  1. 멀티프로그래밍과 멀티프로세싱의 차이는 무엇인가요?

 

  1. 운영체제는 프로세스를 관리하기 위해 무엇을 사용하나요?

프로세스 제어 블록(PCB)를 사용합니다.

 

  1. 컨텍스트 스위칭이란 무엇인가요?

컨텍스트 스위칭은 실행 중인 프로세스의 상태를 기억 및 저장하고, 다른 프로세스로 교체하여 실행하는 작업입니다 (PCB 활용)

 

자료구조와 알고리즘

  1. 여러분은 교실의 학생 정보를 저장하고 조회할 수 있는 관리 프로그램을 개발하려고 합니다. 이때 학생 정보를 저장하기 위한 자료구조로 무엇을 선택하시겠습니까? 이유를 함께 적어주세요.

배열 구조를 선택하겠습니다.

 

  1. 여러분은 고객의 주문을 받는 프로그램을 개발하려고 합니다. 주문은 들어온 순서대로 처리됩니다. 이때 어떤 자료구조를 선택하시겠습니까? 이유를 함께 적어주세요.

큐 자료구조

답변 0