안녕하세요
개인 해설 및 풀이이므로 오답일 수 있습니다. 또한 본인이 직접 타이핑해서 작성하므로 오타가 있을 수 있습니다...
오답이라 생각되시거나 조금 이해가 안 가시는 부분이 있으시면 댓글 남겨주시면 감사드리겠습니다!
01. 병행 프로세스들의 고려 사항이 아닌 것은?
① 공유 자원을 상호 배타적으로 사용해야 한다.
② 병행 프로세스 사이는 협력이나 동기화가 되어야 한다.
③ 병행 프로세서들은 프로그래머가 외부적으로 스케줄링할 수 없도록 한다.
④ 교착 상태를 해결해야 하고, 병행 프로세스들의 병렬 처리도를 극대화해야 한다.
[ 정답 : 3번]
138page를 참조 협력 프로세스가 있으므로 외부적으로 다른 프로그래머가 접근이 가능해야 된다.
02. 한 프로세스가 공유 메모리나 공유 파일을 사용할 때 다른 프로세스들이 사용하지 못하도록 배제시키는 제어 방법은?
① deadlock
② mutual exclusion
③ interrupt
④ critical section
[ 정답 : 2번 ] - 2번 상호배제이다.
03. 상호배제(mutual exclusion)방법을 사용하여 임계 영역(critical region)을 보호했다. 다음 설명 중 옳지 않은 것은?
① 어떤 프로세스가 임계 영역 내의 명령어 실행 중 인터럽트(interrupt)가 발생하면 이 프로세스는 실행을 멈추고, 다른 프로세스가 이 임계 영역 내의 명령어를 실행한다.
② 임계 영역 내의 프로그램 수행 중에 교착 상태(deadlock)가 발생하면 교착 상태를 해제할 때까지 임계 영역을 벗어날 수 없다. 따라서 임계 영역 내의 프로그램에서는 교착 상태가 발생하지 않도록 해야 한다.
③ 임계 영역 내의 프로그램에서 무한 루프(endless loop)가 발생하면 임계 영역을 탈출할 수 없다. 따라서 임계 영역 내의 프로그램에서는 무한 루프가 발생하지 않도록 해야 한다.
④ 여러 프로세스 중에 하나의 프로세스만 임계 영역을 사용할 수 있도록 하여 임계 영역에서 공유 변수 값의 무결성을 보장한다.
[정답 : 1번 ] - 한번 들어간 내용은 중간에 실행을 멈추지 않는다.
또한 이 문제 임계 영역이 region으로 작성되어 있는데 critical section이다 오타가 있는 것 같다.
04. 상호배제를 올바르게 구현하는 요구 조건에 대한 설명으로 틀린 것은?
① 프로세스 2개 이상의 공유 데이터에 접근하여 동시에 수행할 수 있어야 한다.
② 임계 영역 밖에 있는 프로세스가 다른 프로세스의 임계 영역 진입을 막아서는 안 된다.
③ 어떤 프로세스도 임계 영역으로 들어가는 것을 무한정 연기해서는 안 된다.
④ 임계 영역은 특정 프로세스가 독점할 수 없다.
[ 정답 : 1번 ] - 하나만 가능하다
05. 다음 프로그래밍 운영체제에서 한순간에 여러 프로세스로 공유하는 데이터와 자원에서 한순간에는 반드시 프로세스 하나만 자원이나 데이터를 사용하도록 한다. 이런 자원을 프로세스가 반납한 후 비로소 다른 프로세스에서 자원을 이용하거나 데이터에 접근할 수 있도록 지정된 영역은?
① monitor
② semaphore
③ critical section
④ working set
[ 정답 : 3번 ] - 지문의 여러 프로세스 ~~ 데이터를 사용하도록 한다. 부분이 임계 영역임을 뜻한다.
06. 임계 영역(critical section)에 대한 설명으로 옳은 것은?
① 프로세스들의 상호배제(mutual exclusion)가 일어나지 않도록 주의해야 한다.
② 임계 영역에서 수행 중인 프로세스는 인터럽트가 가능한 상태로 만들어야 한다.
③ 어느 한 시점에서 프로세스 2개 이상이 동시에 자원 또는 데이터를 사용하도록 지정된 공유 영역을 의미한다.
④ 임계 영역에서 작업을 신속하게 해야 한다.
[ 정답 : 4번 ] - 148page 첫 단락 참조 4번이다.
07. 임계 영역(구역)의 원칙으로 옳지 않은 것은?
① 프로세스 2개 이상을 동시에 사용할 수 있다.
② 순서를 지키면서 신속하게 사용한다.
③ 프로세스 하나가 독점하게 해서는 안 된다.
④ 임계 영역이 무한 루프에 빠지지 않도록 주의해야 한다.
[ 정답 : 1번 ] - 임계 영역에 진입되는 프로세스는 동시 사용이 불가능하다
08. 임계 영역(critical section)에 대한 설명으로 옳지 않은 것은?
① 특정 프로세스가 독점해서는 안 된다.
② 프로세스 하나만 접근할 수 있다.
③ 임계 영역 안에서 작업은 신속하게 진행해야 한다.
④ 실행 중인 프로세스가 일정 시간 동안 참조하는 페이지의 집합을 의미한다.
[ 정답 : 4번 ] - 1, 2, 3이 올바른 표현이며 영역인데 페이지 집합이 말인가
09. 모니터에 대한 설명으로 옳지 않은 것은?
① 모니터의 경계에서 상호배제를 시행한다.
② 데이터 추상화와 정보 은폐 방법을 기초로 한다.
③ 공유 데이터와 이 데이터를 처리하는 프로시저로 구성된다.
④ 모니터 외부에서도 모니터 안의 데이터에 직접 접근할 수 있다.
[ 정답 : 4번 ] - 외부에서 접근 불가하며 외부 대기 큐에서 대기한다
10. 다음 상호배제 방법 중 특수한 하드웨어 자원이 필요한 것은?
① Dekker 알고리즘
② Peterson 알고리즘
③ Test&Set 알고리즘
④ Lamport의 빵집 알고리즘
[ 정답 : 3번 ] - 하드웨어가 필요한 방법은 T&S 방법 179page 참조하면 나온다
11. 데커(Dekker) 알고리즘에 대한 설명 중 옳지 않은 것은?
① 교착 상태가 발생하지 않음을 보장한다.
② 프로세스가 임계 영역에 들어가는 것이 무한정 지연될 수 있다.
③ 공유 데이터를 처리할 때 상호배제를 보장한다.
④ 별도의 특수 명령어 없이 순수하게 소프트웨어로 해결된다.
[ 정답 : 2번 ] - 157 페이지 참조 또한 1, 2 번 지문이 상반됨
12. 상호배제의 문제는 병행하여 처리하는 여러 프로세스가 공유 자원을 동시에 접근하기 때문에 발생한다. 따라서 공유하는 자원의 처리 내용 중에서 상호배제를 해야 하는 일정 부분에서는 어느 프로세스 하나를 처리하는 동안에 다른 프로세스의 접근은 허용하지 말아야 한다. 이때 상호 배제를 해야 하는 일정 부분을 무엇이라고 하는가?
① locality
② page
③ semaphore
④ critical section
[ 정답 : 4번 ] - 일정 부분에서 어느 프로세스 하나를 처리하는 동안 다른 프로세스의 접근을 허용하지 않는 구역은 임계 영역이다
13. 다음은 무엇을 구현하는 방법인가?
· 데커의 알고리즘 · 패터슨 알고리즘 · Lamprot의 빵집 알고리즘 · Test and Set 방법 · swap 명령어 방법 |
① 세마포
② 상호배제
③ 모니터
④ 페이지 교체
[ 정답 : 2번 ] - 상호배제이다.
14. 다음은 세마포와 관련된 두 연산 P(S)와 V(S)이다. ㉮, ㉯의 내용으로 옳게 짝지은 것은?
· P(S) : if (S <= 0) then S를 기다림; else S = (㉮); · V(S) : if (1개 이상의 프로세스가 S를 기다림) then 그중 한 프로세스를 진행; else S = (㉯); |
① ㉮ S-1 ㉯ S-1
② ㉮ S+1 ㉯ S-1
③ ㉮ S-1 ㉯ S+1
④ ㉮ S+1 ㉯ S+1
[ 정답 : 3번 ] - 162page 세마포 정의에 나오는 글을 읽어보면 알 수 있다
15. 세마포(semaphore)에 대한 설명 중 옳지 않은 것은?
① 세마포 연산은 처리 중에 인터럽트 해야 한다.
② 다익스트라(E. J. Dijkstra)가 제안한 방법이다.
③ 여러 프로세스가 동시에 그 값을 수정하지 못한다.
④ 상호배제의 원리를 보장하는 데 사용한다.
[ 정답 : 1번 ] - 인터럽트 불가능
16. 세마포(semaphore)와 관련된 설명 중 틀린 것은?
① 상호배제 문제를 해결하는 데 사용한다.
② 정수의 변수로 양의 값만 가진다.
③ 여러 프로세스가 동시에 그 값을 수정하지 못한다.
④ 세마포 연산을 처리 도중에 인터럽트 해서는 안 된다.
[ 정답 : 2번 ] - 161page를 참조하면 플러그 변수를 갖기 때문에 0, 1을 가지고 변수에는 0도 있기 때문에 2번이 정답이다.
17. 프로세스 2개 사이에서 선행 순서를 Pi<Pj로 표현할 때 Pj를 먼저 실행한다고 가정하면 P2< P1, P4< P2, P4< P3의 선행 관계가 있을 때 병행으로 실행할 수 있는 프로세스로 짝지은 것은?
① P1,P3
② P1, P4
③ P2, P4
④ P3, P4
[ 정답 : 1번 ] P1>P2>=P3>P4의 그래프
18. 순차적으로 사용할 수 있는 공유 자원이나 공유 자원 그룹을 할당하는 데 사용하며, 데이터와 프로시저를 포함하는 병행성 구조(concurrency construct)는?
① 버퍼(buffer)
② 채널(channel)
③ 모니터(monitor)
④ 세마포(semaphore)
[ 정답 : 3번 ] - 170page에 보면 프로시저를 포함하는 병행성 구조는 모니터임을 알 수 있다.
19. 모니터(monitor)에 대한 설명으로 옳지 않은 것은?
① 모니터의 경계에서 상호배제를 시행한다.
② 데이터 추상화와 정보 은폐 방법을 기초로 한다.
③ 순차적으로 재사용 가능한 특정 공유 자원이나 공유 자원 그룹을 할당하는 데 필요한 데이터 및 프로시저를 포함하는 병행성 구조이다.
④ 모니터 안의 데이터는 모니터 외부에서도 접근할 수 있다.
[ 정답 : 4번 ] - 외부에서는 접근 불가능
20. 병행 프로그래밍 방법에서 발생할 수 있는 오류를 방지하는 방법이 아닌 것은?
① 세마포(semaphore)
② 비동기화(asynchronization)
③ 상호배제(mutual exclusion)
④ 모니터(monitor)
[ 정답 : 2번 ] - 비동기화는 상호배제 방법도 아니며, 4장에서 다루지도 않았다.
21. 모니터에 대한 설명으로 옳지 않은 것은?
① 공유 데이터와 이 데이터를 처리하는 프로시저로 구성된다.
② 한순간에 여러 프로세스가 모니터에 동시에 진입하여 자원을 공유할 수 있다.
③ 모니터 외부의 프로세스는 모니터 내부의 데이터에 직접 접근할 수 없다.
④ 모니터에서는 wait와 signal 연산을 사용한다.
[ 정답 : 2번 ] - 171page 참조
22. 모니터에 대한 설명으로 틀린 것은?
① 자료 추상화와 정보 은폐 방법을 기초로 한다.
② 병행 다중 프로그래밍에서 상호배제를 구현하는 특수 프로그램 방법이다.
③ 구조적인 측면에서 공유 데이터와 이 데이터를 처리하는 프로시저의 집합이라고 할 수 있다.
④ 모니터 외부의 프로세스도 모니터 내부 데이터에 직접 접근할 수 있다.
[ 정답 : 4번 ] - 외부가 안되며 외부의 대기 큐에서 대기한다고 언급했음
23. 모니터에 대한 설명으로 틀린 것은?
① 모니터 내부의 자원을 원하는 프로세스는 반드시 해당 모니터의 진입부를 호출하여 공유 데이터에 접근할 수 있다.
② 구조적인 측면에서 모니터는 데이터와 이 데이터를 처리하는 프로시저의 집합이라고 할 수 있다.
③ 모니터 외부의 프로세스도 모니터 내부의 데이터에 접근할 수 있다.
④ 한순간에 프로세스 하나만 모니터 안에서 활동하도록 보장한다.
[ 정답 : 3번 ] - 위동
24. 모니터(monitor)에 대한 설명으로 옳지 않은 것은?
① 특정의 공유 자원을 할당하는 데 필요한 데이터와 프로시저를 포함하는 병행성 구조(concurrency construct)이다.
② 모니터 외부의 프로세스는 모니터 내부의 데이터에 직접 접근할 수 없다.
③ 모니터 내부의 자원을 원하는 프로세스는 반드시 해당 모니터의 진입부(entry)를 호출해야 하고, 원하는 모든 프로세스는 동시에 모니터 내부에 들어갈 수 있다.
④ 모니터에서 사용하는 연선에는 wait와 signal이 있다.
[ 정답 : 3번 ] - 동시에 내부로 못 들어갑니다
25. 모니터에 대한 설명으로 옳지 않은 것은?
① 한순간에 프로세스 2개 이상이 모니터에 들어갈 수 있다.
② 모니터의 경계에서 상호배제를 시행한다.
③ 모니터 외부의 프로세스는 모니터 내부 데이터에 접근할 수 없다.
④ 특정 공유 자원이나 한 그룹의 공유 자원을 할당하는 데 필요한 데이터와 프로시저를 포함하는 병행성 구조이다.
[ 정답 : 1번 ] - 위와 동일 171page에 나옵니다.
감사합니다.
부족한 글이지만 읽어주셔서 감사드립니다.
다음 포스팅 때 뵙겠습니다!
'개인 학습용 해설 > 그림으로 배우는 운영체제' 카테고리의 다른 글
[OS] 그림으로 배우는 구조와 원리 운영체제 개정3판 연습문제 5장 객관식 개인 해설 (0) | 2022.04.18 |
---|---|
그림으로 배우는 구조와 원리 운영체제 개정3판 연습문제 3장 객관식 개인해설 (3) | 2020.10.16 |
그림으로 배우는 구조와 원리 운영체제 개정3판 연습문제 2장 객관식 개인해설 (7) | 2020.10.16 |
그림으로 배우는 구조와 원리 운영체제 개정 3판 연습문제 1장 개인해설 (3) | 2020.10.15 |