교재 : 쉽게 배우는 운영체제 2판, 조성호
※개인의 의견이므로 틀릴 수 있습니다.
1. 실행을 위해 메모리에 올라온 동적인 상태를 가리키는 것은? (프로세스)
2. 프로세스를 실행하는 데 필요한 정보를 보관하는 자료구조는? (PCB)
3. 프로세스가 CPU를 할당받기 전에 기다리는 상태는? (준비 상태)
4. 실행 상태의 프로세스가 입출력을 요구하면 이동하는 상태는? (대기 상태)
5. 대기 상태의 프로세스가 입출력이 완료되면 이동하는 상태는? (준비 상태)
6. 실행 상태의 프로세스가 작업이 안 끝남음에도 타임 슬라이스 아웃이 걸려 이동하게 되는 상태는? (준비 상태)
7. PCB가 제거되는 상태는? (완료 상태)
8. CPU 스케줄러에 의하여 디스패치(선택)되는 PCB가 디동하는 상태는? (실행 상태)
9. 두 프로세스의 PCB를 교환하고 작업 환경을 바꾸는 작업은? (문맥 교환)
10. 타임 슬라이스의 크기를 정할 때 기준이 되는 것은? (문맥 교환?시의 오버헤드)
11. 유니스에서 프로세스 번호 1번이면서 모든 프로세스의 최고 조상에 해당하는 프로세스의 이름은? (init?systemd)
12. 새로운 프로세스를 생성하는 함수는? (fork)
13. 프로세스는 그대로 놔둔 채 코드를 바꾸는 함수는? (exec)
14. 프로세스의 재사용과 가장 연관이 깊은 함수는? (exec)
15. 자식 프로세스가 종료되기 전에 부모 프로세스가 먼저 종료되면 자식 프로세스는 어떤 프로세스가 되는가? (고아 프로세스)
16. 자식 프로세스가 종료되었는데도 부모가 뒤처리를 하지 않으면 자식 프로세스는 어떤 프로세스가 되는가? (좀비 프로세스)
17. 활성 상태가 아닌 것은? (보류 상태)
18. 코드에 정의된 절차에 따라 CPU에 작업을 요청하는 실행 단위는? (스레드)
19. 멀티스레드의 장점이 아닌 것은? (스레드끼리 독립적이라 영향을 받지 않는다.)
20. 스레드 모델 중 라이브러리로 구현되며 커널이 멀티스레드를 지원하지 않을 때 사용되는 모델은 (사용자 스레드)
21. 프로세스 제어 블록(PCB)은 (운영체제) 영역에 만들어진다.
22. 메모리에 있는 프로세스는 코드, 데이터, (스택) 영역에 만들어진다.
23. 프로세스 상태 중 (준비) 상태는 프로세스가 CPU를 할당받기 전에 기다리는 상태다.
24. 프로세스 상태 중 (대기) 상태는 컴퓨터의 효율성을 높이기 위하여 만들어진 상태다.
25. 프로세스 상태 중 (대기) 상태는 실행 상태의 프로세스가 입출력을 요구하면 이동하는 상태다.
26. 프로세스 상태 중 (준비) 상태는 대기 상태의 입출력이 완료되면 이동하는 상태다.
27. 프로세스 상태 중 (준비) 상태는 실행 상태의 프로세스가 작업이 안 끝났음에도 타임 슬라이스 아웃이 걸려 이동하게 되는 상태다.
28. 프로세스 상태 중 (완료) 상태는 PCB가 제거되는 상태다.
29. 프로세스 상태 중 (실행) 상태는 CPU 스케줄러에 의하여 디스패치(선택)되는 PCB가 이동하는 상태다.
30. (문맥 교환)은 두 프로세스의 PCB를 교환하고 작업 환경을 바꾸는 작업이다.
31. 타임 슬라이스의 크기를 정할 때 기준이 되는 것은 (문맥 교환)에 걸리는 시간이다.
32. ()은 종료된 자원을 회수하는 작업이다.
33. 유닉스에서 프로세스 번호 1번이면서 모든 프로세스의 최고 조상 프로세스에 해당하는 프로세스의 이름은 (init)이다
34. (fork)는 새로운 프로세스를 생성하는 함수다.
35. (exec)는 프로세스는 그대로 놔둔 채 코드를 바꾸는 함수다.
36. (fork)는 다중 인스턴스를 만들 때 사용하는 함수다.
37. (exec)는 프로세스의 재사용과 가장 연관이 깊은 함수이다.
38. (exit)는 wait()에게 신호를 보내는 함수다.
39. 부모 프로세스의 PID는 268이고, 자식 프로세스의 PID는 364라면 부모 프로세스의 CPID는 (364)이다.
40. 부모 프로세스의 PID는 268이고, 자식 프로세스의 PID는 364라면 자식 프로세스의 PPID는 (268)이다.
41. 자식 프로세스가 종료되기 전에 부모 프로세스가 먼저 종료되면 자식 프로세스는 (고아 프로세스)가 된다.
42. 자식 프로세스가 종료되었는데도 부모가 뒤처리를 하지 않으면 자식 프로세스는 (좀비 프로세스)가 된다.
43. fork() 이후에 부모 프로세스에 wait()가 없으면 (고아) 프로세스가 만들어진다.
44. 프로세스 상태 중 (휴식) 상태는 메모리에 남아 있지만 작업을 정지하고 있는 상태다
45. 프로세스 상태 중 (보류) 상태는 프로세스는 살아 있지만 메모리에서 쫓겨난 상태다.
46. (프로세스)는 프로그램이 실행을 위해 메모리에 올라온 동적 상태를 말한다.
47. (PCB, Process Control Block)는 프로세스를 실행하는 데 필요한 정보를 보관하는 자료구조이다.
48. 작업, 태스크, 스레드 중 가장 큰 단위는 (작업)이다. [작업>태스크>스레드(,operation)]
49. 작업, 태스크, 스레드 중 가장 작은 단위는 (스레드)이다. [작업>태스크>스레드(,operation)]
50. (스레드)는 정의된 절차에 따라 CPU에 작업을 요청하는 실행 단위를 말한다.
51. (멀티스레드)는 프로세스에서 자원을 공유하고 실행 단위만 여러 개 만드는 것을 말한다.
52. 스레드 모델 중 (사용자 스레드)은 라이브러리로 구현되는 것이다.
53. 스레드 모델 중 (싱글 스레드)은 문맥 교환이 없어 속도가 빠른 스레드 초기 모델이다.
54. PCB에 대하여 설명하시오.
PCB, Process Control Block은 운영체제에서 프로그램을 프로세스로 만들기 위해 필요한 정보를 가지고 있는 자료구조를 뜻한다. PCB + 프로그램 = 프로세스 라 할 수 있겠다.
55. 프로세스의 다섯 가지 상태에 대하여 설명하시오.
프로세스의 다섯가지 상태에는
- 생성 상태 : PCB가 생성되어 프로그램에 할당되는 상태, 프로그램이 메모리로 올라오고, 준비 상태로 이동한다.
- 준비 상태 : CPU 스케줄러에게 선택받기 기다리는 상태, 이때 디스패치 당하면 실행 상태로 이동한다.
- 실행 상태 : CPU가 실행 중인 상태, 이때 입출력을 받아야 한다면 대기 상태로, 타임아웃에는 준비 상태로, 완료라면 완료상태로 이동한다.
- 대기 상태 : 입출력이 올 때 까지 기다리는 상태, 입출력이 완료되면 준비상태로 이동한다.
- 완료 상태 : 프로세스 작업이 완료되어 PCB를 제거하고 메모리에서 내보낸다.
교재
생성 상태(create status): 프로세스가 메모리에 올라와 실행 준비를 완료한 상태. 프로세스 제어 블록 생성
준비 상태(ready status): 생성된 프로세스가 CPU를 얻을 때까지 기다리는 상태
실행 상태(running status): 준비 상태에 있는 프로세스 중 하나가 CPU를 얻어 실제 작업을 수행하는 상태
완료 상태(terminate status): 실행 상태의 프로세스가 주어진 시간 동안 작업을 마치면 진입하는 상태. 프로세스 제어 블록 사라짐
대기 상태(blocking status): 실행 상태의 프로세스가 입출력을 요청하면 입출력이 완료될 때까지 기다리는 상태로 작업 효율을 높이기 위해 만들어진 것
56. 문맥 교환에 대하여 설명하시오.
문맥 교환(context switching)은 CPU를 차지하던 프로세스가 나가고 새로운 프로세스를 받아들이는 것
57. 고아 프로세스와 좀비 프로세스에 대하여 설명하시오.
고아 프로세스는 부모 프로세스가 먼저 종료되어 돌아갈 곳이 없는 (비정상적으로 남아있는) 프로세스
좀비 프로세스는 자식 프로세스가 종료되었는데도 부모 프로세스가 (연락받지 못해) 뒤처리를 하지 않아 발생하는 프로세스
58. 멀티태스크(프로세스)와 멀티스레드를 비교하시오.
멀티태스크는 서로 독립적으로 작동하다가 필요할 때 출력할 데이터를 주고받는다.
멀티스레드는 강하게 연결된 스레드들이 변수나 파일을 공유하고 전역 변수나 함수 호출 등의 방법으로 스레드 간 통신을 한다.
59. 멀티스레드의 장점을 설명하시오.
응답성 향상 : 한 스레드가 입출력으로 인해 작업이 진행되지 않더라도 다른 스레드가 작업을 계속하여 사용자의 작업 요구에 빨리 응답할 수 있다.
자원 공유 : 한 프로세스 내에서 독립적인 스레드를 생성하면 프로세스가 가진 자원을 모든 스레드가 공유하게 되어 작업을 원활하게 진행할 수 있다.
효율성 향상 : 여러 개의 프로세스를 생성할 필요가 없어 불필요한 자원의 중복을 막음으로써 시스템의 효율이 향상된다.
다중 CPU 지원 : 2개 이상의 CPU를 가진 컴퓨터에서 멀티스레드를 사용한다면 다중 CPU가 멀티스레드를 동시에 처리하여 CPU 사용량이 증가하고 프로세스의 처리 시간이 단축된다.
60. 멀티스레드 모델을 간략하게 설명하시오
...
'교재 문제 풀이 > 운영체제' 카테고리의 다른 글
[운영체제_문제] 06 교착 상태 (연습문제) (0) | 2023.06.01 |
---|---|
[운영체제_문제] 05 프로세스 동기화 (연습문제) (0) | 2023.06.01 |
[운영체제_문제] 04 CPU 스케줄링 (연습문제) (0) | 2023.04.14 |
[운영체제_문제] 02 컴퓨터의 구조와 성능 향상 (연습문제) (0) | 2023.04.13 |
[운영체제_문제] 01 운영체제의 개요 (연습문제) (0) | 2023.04.13 |