인프런 워밍업 클럽 스터디 2기 - CS 1주차 미션

인프런 워밍업 클럽 스터디 2기 - CS 1주차 미션

운영체제

while(true){
    wait(1); // 1초 멈춤
    bool isActivated = checkSkillActivated(); // 체크
}
  1. 위 코드는 1초 마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다. 이 방식은 폴링방식입니다. 1초마다 체크하기 때문에 성능에 좋지 않습니다. 이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요?

    • 폴링 대신 인터럽트 방식을 이용 (스킬을 사용한 후 인터럽트를 통해 알려주기)

     

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

    • 프로그램은 정적인 실행 파일이고, 프로세스는 메모리에 올라가 실행 중인 프로그램

     

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

    • 멀티프로그래밍은 메모리에 여러 개의 프로세스가 올라오는 것, 멀티프로세싱은 CPU가 여러 개의 프로세스를 처리하는 것을 의미함

     

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

    • PCB (Process Control Block)

     

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

    • 하나의 프로세스를 실행하다가 다른 프로세스를 실행할 때, 이전 프로세스의 상태(컨텍스트)를 저장하고 새로운 프로세스의 상태를 불러오는 작업


자료구조와 알고리즘

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

    • 해시테이블 / 키-값 구조로 빠른 데이터 읽기, 삽입/삭제 가능하므로 적합

     

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

    • 큐 / FIFO의 구조를 가지고 있어 순서대로 주문을 처리하기에 적합

댓글을 작성해보세요.

채널톡 아이콘