일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 연습문제 답
- 로그인
- php 로그인
- 명품 운영체제 9장
- 명품 운영체제
- Mac
- sql 인젝션 공격 방법
- 게시판 만들기
- DB
- 연습문제 답안
- 명품 운영체제 8장
- 운영체제
- php 게시판 만들기
- colima
- 웹 서버
- php
- 5장 연습문제
- 복합문제
- 회원가입 구현
- sql 인젝션 방어
- 연습문제
- 명품 운영체제 5장 복합문제
- HTML
- 명품 운영체제 7장
- MySQL
- 게시판
- php 회원가입
- 생능출판
- 배치 운영체제
- 로그인 구현
- Today
- Total
눈사람의 해킹공부
명품 운영체제 연습문제 5장 본문
안녕하세요 눈사람입니다. 운영체제를 학습하면서 풀어본 연습문제 답을 공유하고자, 포스트합니다.
해당 포스트는 직접 풀어보면서 작성한 글이므로 정답이 아닐 수 있습니다.
5장 연습문제(개념체크)
1. 다음 빈 칸에 적절한 단어를 삽입하라.
프로그램의 실행 과정은 두 가지 상황이 번갈아 진행되는데, 그것은 한동안 CPU 연산이 계속되는 ( CPU burst ) 상황과, I/O 작업이 이루어지는 ( I/O burst ) 상황이다. CPU 연산이 주를 이룰 때 ( CPU 집중 ) 프로세스라고 부르고 I/O 작업이 주를 이룰 때 ( I/O 집중 ) 프로세스라고 한다. CPU 스케줄링은 CPU의 ( idle ) 시간을 줄이기 위해 도입되었다.
2. CPU 스케줄링 알고리즘을 평가하는 기준과 거리가 먼 것은?
2. 동시성(concurrency)
3. CPU 스케줄링의 평가 기준 사이의 관계를 잘못 설명한 것은?
3. 시스템 정책 우선으로 스케줄링하면 CPU 활용률은 높아진다.
4. CPU 스케줄링이 행해지는 상황들을 나열하였다. 비어 있는 상황을 적어라.
첫째, 스레드에게 할당된 CPU 타임 슬라이스가 소진되었을 때
둘째, 스레드가 자발적으로 CPU를 반환하는 경우
셋째, 현재 실행중인 스레드보다 더 높은 순위의 스레드로부터 내려진 입출력이 완료되어 I/O 인터럽트가 발생한 경우
넷째, 스레드가 블록(blocked) 상태가 되거나, 자원을 기다리는 상태가 되는 경우
5. 타임 슬라이스에 대한 설명으로 틀린 것은?
4. 타임슬라이스가 클수록 컨텍스트 스위칭의 횟수가 증가한다.
6. 선점과 비선점 중 선택하여 빈 칸을 채워라
스레드가 CPU를 할당받아 일단 실행을 시작하면 완료되거나 CPU를 더 이상 사용할 수 없는 상황이 될 때까지 스레드를 강제로 중단시키지 않는 방식을 ( 비선점 ) 스케줄링이라고 하며, 커널이 현재 실행 중인 스레드를 강제로 중단시켜 준비 리스트로 이동시키고, 스케줄링을 통해 다른 스레드에게 CPU를 넘겨주는 방식을 ( 선점 ) 스케줄링 이라고 한다. ( 비선점 ) 스케줄링의 경우, 스레드가 더 이상 CPU를 사용할 수 없는 상황에야 비로소 스케줄링이 이루어 진다. PC와 같은 범용 시스템에서 ( 비선점 ) 스케줄링은 현재는 거의 사용되고 있지 않다.
7. 다음 스케줄링이 선점 스케줄링인지 비선점 스케줄링인지 표기하라.
(1) 선입 선처리 (FCFS) : 비선점 스케줄링
(2) 최단 작업 우선 스케줄링 (SJF) : 비선점 스케줄링
(3) 최소 잔여 시간 우선 스케줄링 (SRTF) : 선점 스케줄링
(4) 라운드 로빈 스케줄링 (RR) : 선점 스케줄링
8. 다음 그림은 3개의 프로세스 p1, p2, p3이 실행되는 과정을 보여준다. 선점 스케줄링과 비선점 스케줄링 중 어떤 것이 사용되었는지 판단하고 그 이유를 설명하라.
비선점 스케줄링이다.
T1이 시작하면 종료하기 전 까지 스케줄링이 이루어지지 않으며, T1이 종료될때 스케줄링이 이루어져 T2가 실행된다. T2의 실행 중 I/O가 발생하면 T2를 중단시키고 스케줄링을 실행하여 T3를 선택한다. T3이 실행 중 yield()를 호출하면 준비상태인 T2를 스케줄링하고 실행시킨다. T2가 끝날때 다시 스케줄링이 이루어져 T3이 실행된다. 즉, 타임슬라이스마다 강제 종료되는 프로세스가 없기 때문에 비선점 스케줄링이다.
9. 다음은 무엇에 대한 설명인가?
- 스케줄링 과정에서 선택되지 못한 채 오랫동안 준비 리스트에 있는 상황
4. 기아
10. 다음은 무엇에 대한 설명인가?
- 스레드가 준비 리스트에 머무르는 시간에 비례하여 우선수위를 높여주는 기법
3. 에이징(aging)
11. 다음은 무엇에 대한 설명인가?
- 프로세스나 스레드가 특정 CPU에서 실행되도록 제한하는 스케줄러의 특징
1. CPU 친화성(CPU affinity)
12. 에이징(aging) 기법은 CPU 스케줄링의 어떤 단점을 극복하기 위한 정책인가?
기아 발생
13. RR(Round Robin) 스케줄링을 사용할 때 오늘날 합리적인 타임 슬라이스로 적합한 것은?
3. 50 밀리초
(10ms~100ms가 적당하다.)
14. 스레드가 종료할 때 비로소 새 스레드를 스케줄한다면 이 운영체제는 선점 스케줄링을 하는가 아니면 비선점 스케줄링을 하는가?
비선점 스케줄링
15. 다음은 에이징을 설명하는 문장이다. 빈 칸에 적절한 단어는 무엇인가?
- 스레드가 준비 리스트에 머무르는 시간에 비례하여 스레드의 ( )을/를 높이는 기법이다.
1. 우선순위
16. 다음 CPU 스케줄링 알고리즘 중에서 실현성이 없는 것은?
2. SJF
-> 현실적으로 스레드의 실행 시간을 예측하는 것을 어렵다.
17. 다음 중 모든 스레드에게 CPU를 가장 공평하게 나누어 주는 스케줄링 기법은?
1. RR
18. 다음 중 기아 발생 가능성이 가장 큰 CPU 스케줄링은?
4. SJF
19. 다음 중 기아가 전혀 발생하지 않는 CPU 스케줄링은?
1. RR
20. 어떤 연구소에서 컴퓨터 시스템 사용자들을 책임연구원, 연구원, 연구 보조원의 3 그룹으로 나누어 놓고 각 사용자들이 생성된 프로세스나 스레드의 우선순위를 다르게 매기려고 한다. 가장 적절한 CPU 스케줄링은 무엇인가?
4. MLQ
21. RR(Round Robin) 스케줄링에서 스레드에게 할당하는 타임 슬라이스의 크기에 관한 설명 중 틀린 것은?
2. 타임 슬라이스가 클수록 더 균등한 알고리즘이 된다.
22. MLFQ(Multi-Level Feedback Queue) 스케줄링에 대한 설명으로 옳은 것은?
2. 스레드의 기아를 막기 위해 큐에 대기하는 시간이 오래되면 위 레벨의 큐로 이동시킨다.
23. 단일 코어 CPU와 달리 멀티 코어 CPU에서 스케줄링할 때 특별히 고려할 사항과 거리가 가장 먼 것은?
1. 타임 슬라이스
24. 코어 친화성 혹은 CPU 친화성과 관계가 깊은 것은?
1. 캐시
25. 멀티 코어 CPU를 가진 시스템에서 CPU 스케줄링 알고리즘은 스레드를 어떤 코어에서 실행시킬 것인지에 따라 컨텍스트 스위칭 후 오버헤드가 달라진다고 한자.
(1) 구체적으로 어떤 오버헤드가 문제인가?
CPU 스케줄러에 의해 어떤 코어에 실행되기로 결정된 스레드가 이전에 이 코어에서 실행된 적이 없다면, 새 스레드가 실행된 이후 새 스레드의 코드와 데이터가 캐시에 적재되는 오버헤드.
(2) 이 오버헤드를 줄일 수 있는 해결책은 무엇인가?
한 스레드를 동일한 코어에서만 계속 실행되도록 스케줄 하는 CPU 친화성(CPU affinity)으로 해결된다.
26. 멀티 코어 CPU를 가진 시스템에서 스케줄링이 잘못되면 한 코어에만 스레드가 몰리고 다른 코어는 놀게 되는 현상이 나타난다. 이러한 현상을 무엇이라고 부르고 그 해결책은 무엇인가?
코어 부하 불균형 현상.
해결책 : 푸시 마이그레이션 기법, 폴 마이그레이션 기법
'운영체제' 카테고리의 다른 글
명품 운영체제 연습문제 8장 (2) | 2023.12.04 |
---|---|
명품 운영체제 연습문제 7장 (0) | 2023.12.03 |
명품 운영체제 연습문제 6장 (4) | 2023.12.01 |
운영체제의 발전(1/2) (0) | 2023.10.31 |
운영체제 개념 (0) | 2023.10.31 |