인프런 워밍업 클럽 스터디 2기 CS 1주차 과제

인프런 워밍업 클럽 스터디 2기 CS 1주차 과제

**운영체제**

1.

while(true) {
    wait(1); // 1초 멈춤
    bool isActivated = checkSkillActivated(); // 체크
}

위 코드는 1초 마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다.

이 방식은 폴링방식입니다. 1초마다 체크하기 때문에 성능에 좋지 않습니다.

이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요?

: 인터럽트 방식

 

2. 프로그램과 프로세스가 어떻게 다른가요?

  • 프로그램: (컴퓨터가 이해할 수 있는) 명령문의 집합체

  • 프로세스: 실행 중인 프로그램

 

3. 멀티프로그래밍과 멀티프로세싱이 어떻게 다른가요?

  • 멀티프로그래밍: 메모리에 여러 개의 프로세스 올라온 것.

    • CPU 사용률을 극대화 시키는 것이 목적.

  • 멀티프로세싱: 여러 CPU 코어나 프로세서를 사용하여 동시에 여러 작업을 처리하는 것

 

4. 운영체제는 프로세스를 관리하기 위해서 어떤 것을 사용하나요?

: 정보를 관리하기 위해 프로세스 제어 블록(PCB)을 사용합니다.

 프로세스ID, 레지스터 값, 프로세스 상태 등이 저장되어 있습니다.

 

5. 컨텍스트 스위칭이란 뭔가요?

  • 운영 체제가 한 프로세스에서 다른 프로세스로 CPU 할당을 전환하는 과정.

    • 기존 프로세스 문맥을 PCB에 백업하고, 새로운 프로세스를 실행하기 위해 문맥을 PCB로부터 복구하여 새로운 프로세스를 실행하는 것.

    • 여러 프로세스가 CPU를 번갈아가며 사용하는 '멀티 태스킹' 과정에서, 프로세스끼리 작업이 스위칭되는 것.

 

 

**자료구조**

1. 여러분은 교실의 학생 정보를 저장하고 열람할 수 있는 관리 프로그램을 개발하려고 합니다. 이 때 여러분이라면 학생의 정보를 저장하기 위한 자료구조를 어떤 걸 선택하실 건가요? 이유를 함께 적어주세요.

 : 배열. 교실에 있는 총 학생의 수는 예측이 가능하고

저장, 열람 기능만 필요하다면 데이터의 삽입/삭제가 이루어지지 않음.

 

2. 여러분은 고객의 주문을 받는 프로그램을 개발하려고 합니다.

주문은 들어온 순서대로 처리됩니다. 이 때 여러분이라면 어떤 자료구조를 선택하실 건가요? 이유를 함께 적어주세요.

: 선입선출(FIFO) 구조를 가진 ''를 선택하겠습니다.

댓글을 작성해보세요.

채널톡 아이콘