티스토리 뷰

  1. 다음 빈 칸에 적절한 단어를 삽입하라
    프로그램의 실행 과정은 두 가지 상황이 번갈아 진행되는데, 그것은 한동안 CPU 연산이 계속되는 cpu burst 상황과, I/O 작업이 이루어지는 I/O burst 상황이다. CPU 연산이 주를 이룰 때 CPU 집중 프로세스라고 부르고 I/O 작업이 주를 이룰 때 I/O 집중 프로세스라고 한다. CPU 스케줄링은 CPU의 idle 시간을 줄이기 위해 도입되었다.
  1. CPU 스케줄링 알고리즘을 평가하는 기준과 거리가 먼 것은?
    ② 동시성
    해설: 동시성(Concurrency)는 스레드 동시성의 개념이다. (p.204)
  1. CPU 스케줄링의 평가 기준 사이의 관계를 잘못 설명한 것은?
    ③ 시스템 정책 우선으로 스케줄링하면 CPU 활용률은 높아진다.
    해설: 모르겠음
  1. CPU 스케줄링이 행해지는 상황들을 나열하였다. 비어 있는 상황을 적어라
    첫째, 스레드에게 할당된 CPU 타임 슬라이스가 소진되었을 때
    둘째, 스레드가 자발적으로 CPU를 반환하는 경우
    셋때, 현재 실행중인 스레드보다 더 높은 순위의 스레드로붜 내려진 입출력이 완료되어 I/O 인터럽트가 발생한 경우
    넷째, I/O 호출 및 시스템 호출을 일으키거나 자원을 기다리는 등의 블록 상태가 일어날 때
    해설: 추가적으로 스레드가 종료하는 것은 스레드가 자발적으로 CPU를 반환하는 경우에 포함되어 있다.
  1. 타임 슬라이스에 대한 설명으로 틀린 것은?
    ④ 타임 슬라이스가 클수록 컨텍스트 스위칭의 횟수가 증가한다.
    해설: 타임 슬라이스가 짧을수록 컨텍스트 스위칭의 횟수가 증가한다. (SJF에 가까워 진다.)
  1. 신점과 비선점 중 선택하여 빈 칸을 채워라
    스레드가 CPU를 할당받아 일단 실행을 시작하면 완료되거나 CPU를 더 이상 사용할 수 없는 상황이 될 때까지 스레드를 강제로 중단시키지 않는 방식을 비선점 스케줄링이라고 하며, 커널이 현재 실행 중인 스레드를 강제로 중단시켜 준비 리스트로 이동시키고, 스케줄링을 통해 다른 스레드에게 CPU를 넘겨주는 방식을 선점 스케줄링이라고 한다. 비선점 스케줄링의 경우, 스레드가 더 이상 CPU를 사용할 수 없는 상황에야 비로소 스케줄링이 이루어진다. PC와 같은 범용 시스템에서 비선점 스케줄링은 현재는 거의 사용되고 있지 않다.
  1. 다음 스케줄링이 선점 스케줄링인지 비선점 스케줄링인지 표기하라.
    (1) 선입 선처리(FCFS) -> 비선점
    (2) 최단 작업 우선 스케줄링(SJF) -> 선점
    (3) 최소 잔여 시간 우선 스케줄링(SRTF) -> 선점
    (4) 라운드 로빈 스케줄링(RR) -> 선점
    해설: (1) p.265 (2) p.266 (3) p.268 (4) p.269
  1. 다음 그림은 3개의 프로세서 p1, p2, p3이 실행되는 과정을 보여준다. 선점 스케줄링과 비선점 스케줄링 중 어떤 것이 사용되었는지 판단하고 그 이유를 설명하라.
    비선점 스케줄링: 하나의 프로세스가 끝나기 전에(I/O 제외) 다른 프로세스가 진행되지 않기 때문이다.
  1. 다음은 무엇에 대한 설명인가?
    스케줄링 과정에서 선택되지 못한 채 오랬동안 준비 리스트에 있는 상황
    ④ 기아
    해설: p.264
  1. 다음은 무엇에 대한 설명인가?
    스레드가 준비 리스트에 머무르는 시간에 비례하여 우선순위를 높여주는 기법
    ③ 에이징(aging)
    해설: p.265
  1. 다음은 무엇에 대한 설명인가?
    프로세스나 스레드가 특정 CPU에서 실행되도록 제한하는 스케줄러의 특징
    ① CPU 친화성(CPU affinity)
    해설: p.281
  1. 에이징(aging) 기법은 CPU 스케줄링의 어떤 단점을 극복하기 위한 정책인가?
    기아 프로세스의 생성을 방지하기 위함
    해설: p.265
  1. RR(Round Robin) 스케줄링을 사용할 때 오늘날 합리적인 타임 슬라이스로 적합한 것은?
    ③ 50밀리초
    해설: p.260
  1. 스레드가 종료할 때 비로소 새 스레드를 스케줄한다면 이 운영체제는 선점 스케줄링을 하는가 아니면 비선점 스케줄링을 하는가?
    비선점 스케줄링
    해설: p.263
  1. 다음은 에이징을 설명하는 문장이다. 빈 칸에 적절한 단어는 무엇인가?
    스레드가 준비 리스트에 머무르는 시간에 비례하여 스레드의 (우선순위)을/를 높이는 기법이다.
    ① 우선순위
    해설: p.265
  1. 다음 CPU 스케줄링 알고리즘 중에서 실현성이 없는 것은?
    ② SJF
    해설: p.267
  1. 다음 중 모든 스레드에게 CPU를 가장 공평하게 나누어 주는 스케줄링 기법은?
    ① RR
    해설: p.269
  1. 다음 중 기아 발생 가능성이 가장 큰 CPU 스케줄링은?
    ④ SJF
    해설: p.266
  1. 다음 중 기아가 전혀 발생하지 않는 CPU 스케줄링은?
    ① RR
    해설: p.269
  1. 어떤 연구소에서 컴퓨터 시스템 사용자들을 책임연구원, 연구원, 연구 보조원의 3 그룹으로 나우어 놓고 각 사용자들이 생성된 프로세스나 스레드의 우선순위를 다르게 매기려고 한다. 가장 적절한 CPU 스케줄링은 무엇인가?
    ④ MLQ
    해설: p.274
  1. RR(Round Robin) 스케줄링에서 스레드에게 할당하는 타임 슬라이스의 크기에 관한 설명 중 틀린 것은?
    ② 타임 슬라이스가 클수록 더 균등한 알고리즘이 된다.
    해설: 타임 슬라이스가 짧을수록 더 균등하고 공평한 알고리즘이 된다.(SJF와 유사해진다.) 타임 슬라이스가 클수록 더 단번에 완료되는 스레드의 비율이 높아진다.(FCFS와 유사해진다.)
  1. MLFQ(Multi-level Feedback Queue) 스케줄링에 대한 설명으로 옳은 것은?
    ② 스레드의 기아를 막기 위해 큐에 대기하는 시간이 오래되면 위 레벨의 큐로 이동시킨다.
    해설:
    ①: 스레드는 가장 높은 우선 순위만 가지고 도착한다.
    ③: 스레드는 가장 높은 레벨 큐로만 들어온다.
    ④: 높은 레벨의 큐일수록 큐 타임 슬라이스가 작다.
  1. 단일 코어 CPU와 달리 멀티 코어 CPU에서 스케줄링할 때 특별히 고려할 사항과 거리가 가장 먼 것은?
    ① 타임 슬라이스
    해설: ②, ③, ④는 멀티 코어 CPU가 등장하면서 생긴 고려사항이기 때문에, 특별히 더 중요하다.
  1. 코어 친화성 혹은 CPU 친화성과 관계가 깊은 것은?
    ① 캐시
    해설:
  1. 멀티 코어 CPU를 가진 시스템에서 CPU 스케줄링 알고리즘은 스레드를 어떤 코어에서 실행시킬 것인지에 따라 컨텍스트 스위칭 후 오버헤드가 달라진다고 한다.
    (1) 구체적으로 어떤 오버헤드가 문제인가? -> 캐시 미스에 의한 오버헤드가 문제이다.
    (2) 이 오버헤드를 줄일 수 있는 해결책은 무엇인가? -> CPU 친화성을 이용해 연관된 프로세스로 묶어 CPU를 이용한다.
  1. 멀티 코어 CPU를 가진 시스템에서 스케줄링이 잘못되면 한 코어에만 스레드가 몰리고 다른 코어는 놀게 되는 현상이 나타난다. 이러한 현상을 무엇이라고 부르고 그 해결책은 무엇인가?
    코어 부하 불균형, 푸시/풀 마이그래이션 기법
    해설:
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함