정보관리기술사 컴퓨터시스템응용기술사 Vol. 2 운영체제
로즈
2023-12-20 09:30
250
0
본문
정보관리기술사 컴퓨터시스템응용기술사 Vol. 2 운영체제
도서명 : 정보관리기술사 컴퓨터시스템응용기술사 Vol. 2 운영체제
저자/출판사 : 권영식, 성안당
쪽수 : 536쪽
출판일 : 2022-05-30
ISBN : 9788931558371
정가 : 40000
Part 1. OS(Operating System)
1. 운영체제(Operating System)에 대해 설명하시오.
2. 운영체제(Operating System)(1교시)
3. 운영체제(Operating System)(2교시)
4. 운영체제의 기능과 역할에 대해 설명하시오.
5. Windows OS의 Booting 순서
6. 부트로더(Boot Loader)에 대해 설명하시오.
7. Process에 대해 설명하시오.
8. PCB(Process Control Block)
9. PCB(Process Control Block)와 TCB(Thread Control Block)
10. Thread에 대해 설명하시오.
11. Multi-Thread에 대해 설명하시오.
12. 멀티스레딩(Multithreading)의 개념과 종류에 대하여 설명하고, Latency와 Throughput 관점에서 장단점을 설명하시오.
13. 커널(Kernel)
14. 마이크로 커널(Micro Kernel)에 대해 설명하고 모노리틱 커널(Monolithic Kernel)과 비교
15. Embedded OS의 특징과 기능에 대해 설명하시오.
16. 실시간 시스템, 실시간(Real Time) 운영체제에 대해 설명하시오.
17. RTOS(Real Time OS)
18. 기술적 관점에서의 실시간 운영체제(Operating System) 도입, 선정 기준/절차 및 평가 방법
19. 실시간 시스템 구축에 있어 커널(Kernel)의 안전기능(Safety Function)을 정의하고 이를 평가하기 위한 핵심 시험 대상 및 항목에 대해 설명하시오.
20. Tiny OS(운영체제) 구조와 Kernel Scheduler에 대해 설명하시오.
21. 그린 운영체제(Green Operating System)에 대해 설명하시오.
22. 운영체제 다중 프로그래밍 환경에서 이중 모드(Dual mode) 구조에 대하여 설명하시오.
가. 이중모드 개념
나. 이중모드의 구조
다. 이중모드의 종류
23. 운영체제(OS)에서의 인터럽트(Interrupt)를 정의하고 동작원리를 설명하시오.
24. 운영체제(operating system)에서 발생할 수 있는 클럭 인터럽트(clock interrupt), 입출력 인터럽트(input/output interrupt), 페이지 부재(Page Fault)의 경우에 대하여 운영체제가 하는 역할을 설명하시오.
25. Process 간 Data통신 IPC(Inter Process Communication)의 4가지 유형 및 비교
26. IPC(Inter Process Communication)
Part 2. Unix 및 Linux 운영체제
27. 유닉스(Unix) 운영체제(Operating System)
28. Unix 운영체제 부팅(Booting) 과정
29. Unix 파일 시스템(File System)
30. Unix File System에서의 i-node
31. Unix File System의 개념, 구조, 특징 및 inode에 대해 설명하시오.
32. Unix 커널 내에서 파일을 관리하기 위한 자료구조로 inode를 사용한다. Inode 내에서 데이터 블록을 관리하는 방법에 대하여 설명하시오.
33. 유닉스(Unix) 운영체제에서 슈퍼 블록(Super block)이 관리하는 자료들에 대하여 설명하시오.
34. Unix OS(운영체제)에서 Process 상태전이도를 도식하고 설명하시오. (단, Process 상태전이도에는 User Mode, Kernel Mode, Ready 상태, Blocked 상태, Suspended Read, Suspended Blocked 상태, Zombie 상태가 포함되어야 함)
35. Unix System Call 동작 과정을 설명하시오.
36. 프로그램에서 fork() 함수를 통한 시스템 호출(System call)과정을 사용자 모드와 커널 모드로 구분해서 설명하시오.
37. Unix System에서 umask의 의미 및 설정 방법
38. Unix System에서 사용되는 umask에 대해 설명하시오.
39. Unix에서 적용되고 있는 파일 접근제어 메커니즘(Mechanism)을 설명하시오.
40. Unix 시스템의 3가지 핵심 컴포넌트(Component)
41. Unix 파일 시스템의 구조 및 /etc/passwd 파일의 구성에 대하여 설명하시오.
42. Unix 시스템의 IPC(Inter-Process Communication) 4가지 유형 및 활용 분야
43. Linux OS(Operating System)
44. Linux Kernel
45. Linux(리눅스)에서 사용되는 스핀락(Spin-Lock)에 대하여 설명하시오.
46. 저널링(Journaling) File System
47. Linux, Journaling File System에 대해 설명하시오
Part 3. 스케줄링(Scheduling)
48. CPU Scheduling에 대해 설명하시오.
49. CPU 스케줄러의 종류에 대해 설명하시오.
50. 운영체제에서 Process의 5가지 상태(State)에 대하여 설명하시오.
51. CPU 스케줄링에는 선점 및 비선점형 스케줄링으로 분류된다. 각각 설명하시오.
52. 선점형 스케줄링(Preemptive Scheduling
53. 다음 프로세스(Process) 상태전이도에 대하여 질문에 답하시오.
가. (a), (b), (c), (d)에 대하여 각각 설명하시오.
나. (b), (c)가 일어나는 이유에 대하여 설명하시오.
54. Round Robin 스케줄링 기법(Process 도착 시간을 고려)
55. Fixed Time Slice 알고리즘에 대해 설명하시오.
56. 아래 주어진 표에서 Job의 종류를 J1 J2 J3 순으로 실행 시 39초가 소요되는 원인과 Job 실행 순서를 변경했을 때의 시간을 각각 구하고, 적절한 스케줄링 시 몇 초까지 실행시간을 단축할 수 있는지 논리적으로 설명하시오
57. 비선점 스케줄링 방식인 FCFS와 SJF의 동작 원리를 설명하시오.
58. 아래 Table 상황에서 SRT(Shortest Remaining Time) 스케줄링 알고리즘을 사용하여 평균 대기시간과 평균 반환 시간을 구하시오.
59. MLQ(Multi-Level Queue)와 MLFQ(Multi-Level Feedback Queue)를 설명하시오.
60. CPU 스케줄링 알고리즘에 대하여 설명하시오.
가. SJF(Shortest Job First)와 HRN(Highest Response-ration Next)
나. MLQ(Multi Level Queue)와 MLFQ(Multi Level Feedback Queue)
61. SJF(Shortest Job First) 방식에서 기아현상(Starvation)을 HRN(Highest Response Ratio Next) 방식으로 해결됨을 증명하시오.
62. 스케줄링 기법 중 SJF(Shortest Job First), SRT(Shortest Remain Time First)의 개념과 차이점을 기술하고, 아래 그림(테이블)에서 SJF와 SRT의 평균대기시간을 구하고, SJF와 SRT의 평균대기시간을 비교하시오. (단, 버스트시간이 동일한 경우는 먼저 도착한 Process가 먼저 실행됨
63. Round Robin(도착시간 고려하지 않아도 됨) 스케줄링
64. 우선순위(Priority) 기반 CPU 스케줄링 알고리즘에 대하여 설명하시오.
65. 우선순위(Priority) 스케줄링에서 기아현상(Starvation) 발생 예시와 방지 방법에 대해 설명하시오.
66. 우선 순위 역전(Priority Inversion) 발생 원인에 대해 설명하시오.
67. 우선 순위 역전(Priority Inversion) 방지 방법에 대해 설명하시오.
68. 우선순위 역전(Priority Inversion)의 발생 원인과 해결 방안에 대해 설명하시오.
69. 라운드 로빈(Round Robin)과 EDF(Earliest Deadline First) 스케줄링
70. Hard Real Time 스케줄링 방식인 RM(Rate Monotonic)과 EDF(Earliest Deadline First) Scheduling에 대해 설명하시오. 아래 두 개의 Task로 RM과 EDF 스케줄링 시간을 도식화하시오.
71. RM(Rate Monotonic) 스케줄링과 EDF(Earliest Deadline First) 스케줄링 알고리즘
72. RM(Rate Monotonic) 스케줄링 알고리즘을 설명하고 다음 3개의 태스크(Task)를 스케줄링하시오. (단, 시간:0~20시간, 각 태스크들은 매 주기마다 릴리스(Release) 된다고 가정한다)
73. HDD(Hard Disk Drive)의 Disk Access Time에 대해 설명하시오.
74. NCQ에 대해 설명하고 HDD의 Disk 스케줄링 기법 6가지에 대해 기술하시오
75. 디스크 스케줄링 알고리즘의 동작과정을 스캔(SCAN), 룩(Look) 알고리즘 중심으로 설명하고, 다음에 주어진 “디스크 대기 큐” 내의 순서를 활용하여 스캔 알고리즘의 디스크 헤드(Head) 움직임을 설명하시오. (단, 현재 헤드(Head)는 트랙 50에 있으며 트랙 0번 방향으로 이동 중이다)
76. 디스크 스케줄링 알고리즘 중 최소 탐색 우선 스케줄링(Shortest Seek-Time First Scheduling)의 문제점을 해결하기 위한 알고리즘을 제시하고 엘리베이터 알고리즘(Elevator Algorithm)과 에션바흐 기법(Eshenbach Scheme)을 비교하여 설명하시오.
77. 디스크 스케줄링 기법 중 SLTF(Shortest Latency Time First), SPTF(Shortest Positioning Time First), SATF(Shortest Access Time First) 기법에 대해 설명하시오.
Part 4. 프로세스 동기화(Process Synchronization)와 문맥 교환(Context Switching)
78. 세마포어(Semaphore) 연산에 대해 기술하시오.
79. 세마포어(Semaphore)와 모니터(Monitor)의 상호관계를 설명하시오.
80. 계수형 세마포어(Semaphore)에 대하여 설명하시오.
81. 뮤텍스(MUTEX)
82. Semaphore, MUTEX
83. 모니터(Monitor) 프로세스 동기화
84. 세마포어(Semaphore)를 이용한 리소스 공유 방법과 태스크 간 동기화 방법
85. 동기화 기법인 스핀락(Read / Write Spin Lock)의 개념을 기술하고 스핀락을 활용하는 방법을 사례를 들어 설명하시오.
86. 운영체제의 크리티컬 섹션(Critical Section) 구현 방법 2가지
87. 은행가 알고리즘(Banker’s Algorithm)
88. 교착상태(Dead Lock)의 개념과 교착상태를 회피하기 위한 은행가 알고리즘(Banker’s Algorithm)의 개념 및 자료구조를 설명하시오.
89. 교착상태(Dead Lock)의 발생 원인과 해결 방안에 대해 설명하시오.
90. Deadlock과 Livelock
91. 분산처리시스템에서 Mutual Exclusion을 구현하기 위한 Time Ring 알고리즘과 Time Ordering 알고리즘의 동작을 설명하시오.
92. 운영체제(OS)에서의 상호배제(Mutual Exclusion) 개념을 설명하고 이를 구현하는 방법을 하드웨어(Hardware)적 해결 방안 및 소프트웨어적 해결 방안으로 구분하여 설명하시오.
93. 병렬컴퓨터 프로세서 동기화와 상호배타 방식을 설명하시오.
94. 자원할당그래프(Resource Allocation Graph)
95. 자원할당그래프에서 Wait-For그래프 형태로 변환하고 교착상태 탐지 후 예방 방법에 대해 설명하시오.
P: Process(프로세스)
R: Resource(자원)
96. 경쟁조건(Race Condition)
97. Context Switching에 대해 설명하시오.
98. 운영체제에서 문맥(context)의 내용, 문맥 교환(context switch)의 과정 및 문맥 교환이 발생하는 조건을 설명하시오.
99. 운영체제 내부 모듈 중 Dispatcher의 주요 기능과 동작 과정을 도식화하여 설명하시오.
100. 다음은 마이크로 커널(Kernel)의 일부분이다. 알고리즘의 의미와 Context_Switch( ) 내부 메커니즘을 설명하시오.
Part 5. Memory 제어 기술
101. 메모리 계층구조(Memory Hierarchy)
102. 메모리 관리 정책(Memory Management Policy)
103. Cache Memory에 대해 설명하시오.
104. 캐시 메모리 설계(Cache Memory Design)
105. Cache Write Policy(정책)에 대해 설명하시오.
106. Cache Miss
107. Cache Memory 설계 목표, 지역성(Locality)의 개념과 유형, 지역성의 활용 사례
108. 캐쉬 메모리(Cache Memory)를 별도로 가지고 있는 다중 프로세서 시스템에서 Write-Back 쓰기 정책 적용 시 Cache Memory 간의 Data 전송방법에 대해 설명하시오.
109. Cache 일관성(Coherency) 문제 원인, 해결책, 처리과정, 사례에 대해 설명하시오.
110. 캐시(Cache)서버를 이용한 웹 서버의 부하 분산방법에 대해 설명하시오.
111. 병렬 프로세서에서의 Cache 일관성 기법(MESI와 Cache Directory 기술)
112. 메모리 할당 기법인 First-Fit, Best-Fit, Worst-Fit 기법에 대해 설명하시오.
113. 내부 단편화와 외부 단편화에 대해 설명하시오.
114. 메모리 단편화의 발생 원인과 해결 방안을 설명하고 단편화를 최소화하기 위한 Buddy Memory Allocation 알고리즘에 대해 설명하시오.
115. Working Set과 Page Fault Frequency 비교
116. 메모리 관리기법 중 지역성(Locality)을 개념적으로 정리하고 시간지역성(Temporal Locality)과 공간지역성(Spatial Locality)에 대하여 설명하시오.
117. Thrashing의 발생 원인, 발견 방법, 해결 및 회피 방안에 대해 설명하시오.
118. 프로세스 스레싱(Thrashing)의 발생 원인과 예방책을 설명하시오.
119. 가상기억장치(Virtual Memory)에 대해 설명하시오.
120. 가상메모리(Virtual Memory)의 사용 이유에 대해 설명하시오.
121. Memory 할당 기법인 Paging 기법에 대해 설명하시오.
122. 가상메모리의 Paging 및 Segmentation 기법에 대해 설명하시오.
123. 운영체제에서 페이지 교체 알고리즘을 사용한다.
가. 페이지 교체 알고리즘을 사용하는 이유에 대하여 설명하시오.
나. 페이지 교체 알고리즘의 종류를 나열하고, 각 종류별 동작 과정에 대하여 설명하시오.
124. FIFO 방식의 페이지 교체 알고리즘과 SCR(Second Change - Chance Replacement)알고리즘을 사용하여 입력 Page 값이 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2순일 때 Page Fault 개수를 구하시오. (이때 프레임(Frame) 개수는 3으로 가정한다)
125. 벨라디변이(Belady’s Anomaly)와 SCR(Second Chance Replacement) 알고리즘
126. SCR(Second Chance Replacement)
127. 메모리 누수(Memory Leak)
128. 메모리 인터리빙(Memory Interleaving)의 개념과 활용 방식에 대하여 설명하시오.
129. Caching, Buffering, Spooling
130. Buffer와 Buffering 그리고 cache와 Caching의 개념, 시스템에서의 활용 예, 활용 시의 주의사항
131. Embedded System의 메모리 최적화 방안(HW 및 SW 측면)
Part 6. C-언어 외
132. C언어에서의 지역변수에 대해 설명하시오.
133. C언어 Extern, Auto, Static, register 변수 Coding 각 변수 비교
134. C언어 Macro, Function, Inline의 Coding, 공통점, 차이점, 장단점을 기술하시오.
135. Module화 기법인 Macro, Function, Inline 각각의 개념을 공통점, 차이점, 장단점 위주로 설명하고 Embedded S/W 개발 환경에서의 활용 지침을 제안하시오.
136. Processor의 주소 지정 방식의 유형 분류, 이를 이용하여 C 언어 등 Programming 언어의 지역(자동) 변수 개념을 설명하시오.
137. 블록(Block)의 크기가 프로그램(Program)에 미치는 영향에 대해 설명하시오.
138. CPU 명령어 형식과 CPU 명령어 Cycle(Instruction Cycle)
139. CPU 처리 시의 병행성(Concurrency)과 병렬성(Parallelism)을 비교하시오.
140. 동적 연결 라이브러리(Dynamic Linking Library)
141. 제작된 Mobile App.을 신규로 App. Store에 등록하기 위한 절차와 Code서명 인증 발급 방법
142. Mobile App.(Native, Web, Hybrid App.)의 분류 및 특징을 설명하시오.
143. Android OS 적용, 개발 방법에서 SDK, NDK, PDK개발 방법에 대해 설명하시오.
144. OSS(Open Source S/W) 거버넌스(Governance)에 대해 설명하시오.
145. ISP(In System Programming)에 대해 설명하시오
Part 7. I/O 제어 및 신기술
146. 버스 중재 개념, 신호, 직렬식, 병렬식, 점대점 방식에 대해 설명하시오.
147. 버스 중재 기법인 데이지체인(Daisy Chain)에 대해 설명하시오.
148. Interrupt 구동 IO 방식과 Programmed IO 방식에 대해 설명하시오.
149. 운영체제에서 I/O 디바이스(Device)를 위한 Polling 방식과 Interrupt 방식을 설명하고 장단점을 비교(Interrupt는 데이지체인(Daisy Chain) 방식을 고려하시오)
150. Application과 Kernel 통신방법에서 Non Blocked I/O와 Blocked I/O에 대해 비교하시오.
151. Application과 Kernel 간 비동기 I/O(Asynchronous I/O) 제어 방식에 대해 설명하시오.
152. Embedded System 개발을 위한 Cross Development(교차 개발) 환경과 Debugger의 종류
153. Embedded System과 Embedded Software의 특성
154. 자동차용 Embedded System 기술에 대해 설명하시오.
155. Clustering과 HA(High Availability)에 대해 비교하여 설명하시오.
156. 파레토(Pareto) 법칙이 소프트웨어 공학과 운영체제에서 어떻게 활용되고 있는지 설명하시오.
157. UEFI(Unified Extensible Firmware Interface)에 대해 설명하시오.
158. System Tuning 절차와 방법에 대해 설명하시오.
159. XIP(eXecution In Place)에 대해 설명하시오.
160. Cloud Computing 표준화 동향 및 전략에 대해 설명하시오.
161. Cloud Computing의 스토리지 가상화에 대해 설명하시오.
162. Mobile Cloud에 대해 설명하시오.
163. VDI(Virtual Desktop Infrastructure)
164. TMR(Triple Modular Redundancy)
165. System(SMP 서버 및 저장장치) 증설이 필요할 경우 성능분석과 용량산정 시의 고려사항
166. UI(User Interface)와 UX(User Experience)를 비교하고 UX의 기술적인 요소
167. Computer의 성능을 측정하기 위한 Throughput, Turnaround Time, Response Time을 설명하시오.
168. Computer 시스템의 신뢰도 향상을 위해 사용되는 방법 중의 하나인 체크포인팅(Check Pointing) 전략(Strategy)에 대해 설명하시오.
169. Cloud 운영체제, Open Stack에 대해 설명하시오.
170. 도커(Docker)에 대해 설명하시오.
171. 유니커널(Unikernel) 기반의 클라우드(Cloud) 운영체제
172. Micro-Service, MSA(Micro-Service Architecture)
173. 가상화(Virtualization)에 대해 설명하시오.
174. 컨테이너(Container) 가상화
175. 하이퍼바이저(Hypervisor)의 두 가지 유형에 대해 설명하시오.
176. 메타버스(Metaverse)
도서명 : 정보관리기술사 컴퓨터시스템응용기술사 Vol. 2 운영체제
저자/출판사 : 권영식, 성안당
쪽수 : 536쪽
출판일 : 2022-05-30
ISBN : 9788931558371
정가 : 40000
Part 1. OS(Operating System)
1. 운영체제(Operating System)에 대해 설명하시오.
2. 운영체제(Operating System)(1교시)
3. 운영체제(Operating System)(2교시)
4. 운영체제의 기능과 역할에 대해 설명하시오.
5. Windows OS의 Booting 순서
6. 부트로더(Boot Loader)에 대해 설명하시오.
7. Process에 대해 설명하시오.
8. PCB(Process Control Block)
9. PCB(Process Control Block)와 TCB(Thread Control Block)
10. Thread에 대해 설명하시오.
11. Multi-Thread에 대해 설명하시오.
12. 멀티스레딩(Multithreading)의 개념과 종류에 대하여 설명하고, Latency와 Throughput 관점에서 장단점을 설명하시오.
13. 커널(Kernel)
14. 마이크로 커널(Micro Kernel)에 대해 설명하고 모노리틱 커널(Monolithic Kernel)과 비교
15. Embedded OS의 특징과 기능에 대해 설명하시오.
16. 실시간 시스템, 실시간(Real Time) 운영체제에 대해 설명하시오.
17. RTOS(Real Time OS)
18. 기술적 관점에서의 실시간 운영체제(Operating System) 도입, 선정 기준/절차 및 평가 방법
19. 실시간 시스템 구축에 있어 커널(Kernel)의 안전기능(Safety Function)을 정의하고 이를 평가하기 위한 핵심 시험 대상 및 항목에 대해 설명하시오.
20. Tiny OS(운영체제) 구조와 Kernel Scheduler에 대해 설명하시오.
21. 그린 운영체제(Green Operating System)에 대해 설명하시오.
22. 운영체제 다중 프로그래밍 환경에서 이중 모드(Dual mode) 구조에 대하여 설명하시오.
가. 이중모드 개념
나. 이중모드의 구조
다. 이중모드의 종류
23. 운영체제(OS)에서의 인터럽트(Interrupt)를 정의하고 동작원리를 설명하시오.
24. 운영체제(operating system)에서 발생할 수 있는 클럭 인터럽트(clock interrupt), 입출력 인터럽트(input/output interrupt), 페이지 부재(Page Fault)의 경우에 대하여 운영체제가 하는 역할을 설명하시오.
25. Process 간 Data통신 IPC(Inter Process Communication)의 4가지 유형 및 비교
26. IPC(Inter Process Communication)
Part 2. Unix 및 Linux 운영체제
27. 유닉스(Unix) 운영체제(Operating System)
28. Unix 운영체제 부팅(Booting) 과정
29. Unix 파일 시스템(File System)
30. Unix File System에서의 i-node
31. Unix File System의 개념, 구조, 특징 및 inode에 대해 설명하시오.
32. Unix 커널 내에서 파일을 관리하기 위한 자료구조로 inode를 사용한다. Inode 내에서 데이터 블록을 관리하는 방법에 대하여 설명하시오.
33. 유닉스(Unix) 운영체제에서 슈퍼 블록(Super block)이 관리하는 자료들에 대하여 설명하시오.
34. Unix OS(운영체제)에서 Process 상태전이도를 도식하고 설명하시오. (단, Process 상태전이도에는 User Mode, Kernel Mode, Ready 상태, Blocked 상태, Suspended Read, Suspended Blocked 상태, Zombie 상태가 포함되어야 함)
35. Unix System Call 동작 과정을 설명하시오.
36. 프로그램에서 fork() 함수를 통한 시스템 호출(System call)과정을 사용자 모드와 커널 모드로 구분해서 설명하시오.
37. Unix System에서 umask의 의미 및 설정 방법
38. Unix System에서 사용되는 umask에 대해 설명하시오.
39. Unix에서 적용되고 있는 파일 접근제어 메커니즘(Mechanism)을 설명하시오.
40. Unix 시스템의 3가지 핵심 컴포넌트(Component)
41. Unix 파일 시스템의 구조 및 /etc/passwd 파일의 구성에 대하여 설명하시오.
42. Unix 시스템의 IPC(Inter-Process Communication) 4가지 유형 및 활용 분야
43. Linux OS(Operating System)
44. Linux Kernel
45. Linux(리눅스)에서 사용되는 스핀락(Spin-Lock)에 대하여 설명하시오.
46. 저널링(Journaling) File System
47. Linux, Journaling File System에 대해 설명하시오
Part 3. 스케줄링(Scheduling)
48. CPU Scheduling에 대해 설명하시오.
49. CPU 스케줄러의 종류에 대해 설명하시오.
50. 운영체제에서 Process의 5가지 상태(State)에 대하여 설명하시오.
51. CPU 스케줄링에는 선점 및 비선점형 스케줄링으로 분류된다. 각각 설명하시오.
52. 선점형 스케줄링(Preemptive Scheduling
53. 다음 프로세스(Process) 상태전이도에 대하여 질문에 답하시오.
가. (a), (b), (c), (d)에 대하여 각각 설명하시오.
나. (b), (c)가 일어나는 이유에 대하여 설명하시오.
54. Round Robin 스케줄링 기법(Process 도착 시간을 고려)
55. Fixed Time Slice 알고리즘에 대해 설명하시오.
56. 아래 주어진 표에서 Job의 종류를 J1 J2 J3 순으로 실행 시 39초가 소요되는 원인과 Job 실행 순서를 변경했을 때의 시간을 각각 구하고, 적절한 스케줄링 시 몇 초까지 실행시간을 단축할 수 있는지 논리적으로 설명하시오
57. 비선점 스케줄링 방식인 FCFS와 SJF의 동작 원리를 설명하시오.
58. 아래 Table 상황에서 SRT(Shortest Remaining Time) 스케줄링 알고리즘을 사용하여 평균 대기시간과 평균 반환 시간을 구하시오.
59. MLQ(Multi-Level Queue)와 MLFQ(Multi-Level Feedback Queue)를 설명하시오.
60. CPU 스케줄링 알고리즘에 대하여 설명하시오.
가. SJF(Shortest Job First)와 HRN(Highest Response-ration Next)
나. MLQ(Multi Level Queue)와 MLFQ(Multi Level Feedback Queue)
61. SJF(Shortest Job First) 방식에서 기아현상(Starvation)을 HRN(Highest Response Ratio Next) 방식으로 해결됨을 증명하시오.
62. 스케줄링 기법 중 SJF(Shortest Job First), SRT(Shortest Remain Time First)의 개념과 차이점을 기술하고, 아래 그림(테이블)에서 SJF와 SRT의 평균대기시간을 구하고, SJF와 SRT의 평균대기시간을 비교하시오. (단, 버스트시간이 동일한 경우는 먼저 도착한 Process가 먼저 실행됨
63. Round Robin(도착시간 고려하지 않아도 됨) 스케줄링
64. 우선순위(Priority) 기반 CPU 스케줄링 알고리즘에 대하여 설명하시오.
65. 우선순위(Priority) 스케줄링에서 기아현상(Starvation) 발생 예시와 방지 방법에 대해 설명하시오.
66. 우선 순위 역전(Priority Inversion) 발생 원인에 대해 설명하시오.
67. 우선 순위 역전(Priority Inversion) 방지 방법에 대해 설명하시오.
68. 우선순위 역전(Priority Inversion)의 발생 원인과 해결 방안에 대해 설명하시오.
69. 라운드 로빈(Round Robin)과 EDF(Earliest Deadline First) 스케줄링
70. Hard Real Time 스케줄링 방식인 RM(Rate Monotonic)과 EDF(Earliest Deadline First) Scheduling에 대해 설명하시오. 아래 두 개의 Task로 RM과 EDF 스케줄링 시간을 도식화하시오.
71. RM(Rate Monotonic) 스케줄링과 EDF(Earliest Deadline First) 스케줄링 알고리즘
72. RM(Rate Monotonic) 스케줄링 알고리즘을 설명하고 다음 3개의 태스크(Task)를 스케줄링하시오. (단, 시간:0~20시간, 각 태스크들은 매 주기마다 릴리스(Release) 된다고 가정한다)
73. HDD(Hard Disk Drive)의 Disk Access Time에 대해 설명하시오.
74. NCQ에 대해 설명하고 HDD의 Disk 스케줄링 기법 6가지에 대해 기술하시오
75. 디스크 스케줄링 알고리즘의 동작과정을 스캔(SCAN), 룩(Look) 알고리즘 중심으로 설명하고, 다음에 주어진 “디스크 대기 큐” 내의 순서를 활용하여 스캔 알고리즘의 디스크 헤드(Head) 움직임을 설명하시오. (단, 현재 헤드(Head)는 트랙 50에 있으며 트랙 0번 방향으로 이동 중이다)
76. 디스크 스케줄링 알고리즘 중 최소 탐색 우선 스케줄링(Shortest Seek-Time First Scheduling)의 문제점을 해결하기 위한 알고리즘을 제시하고 엘리베이터 알고리즘(Elevator Algorithm)과 에션바흐 기법(Eshenbach Scheme)을 비교하여 설명하시오.
77. 디스크 스케줄링 기법 중 SLTF(Shortest Latency Time First), SPTF(Shortest Positioning Time First), SATF(Shortest Access Time First) 기법에 대해 설명하시오.
Part 4. 프로세스 동기화(Process Synchronization)와 문맥 교환(Context Switching)
78. 세마포어(Semaphore) 연산에 대해 기술하시오.
79. 세마포어(Semaphore)와 모니터(Monitor)의 상호관계를 설명하시오.
80. 계수형 세마포어(Semaphore)에 대하여 설명하시오.
81. 뮤텍스(MUTEX)
82. Semaphore, MUTEX
83. 모니터(Monitor) 프로세스 동기화
84. 세마포어(Semaphore)를 이용한 리소스 공유 방법과 태스크 간 동기화 방법
85. 동기화 기법인 스핀락(Read / Write Spin Lock)의 개념을 기술하고 스핀락을 활용하는 방법을 사례를 들어 설명하시오.
86. 운영체제의 크리티컬 섹션(Critical Section) 구현 방법 2가지
87. 은행가 알고리즘(Banker’s Algorithm)
88. 교착상태(Dead Lock)의 개념과 교착상태를 회피하기 위한 은행가 알고리즘(Banker’s Algorithm)의 개념 및 자료구조를 설명하시오.
89. 교착상태(Dead Lock)의 발생 원인과 해결 방안에 대해 설명하시오.
90. Deadlock과 Livelock
91. 분산처리시스템에서 Mutual Exclusion을 구현하기 위한 Time Ring 알고리즘과 Time Ordering 알고리즘의 동작을 설명하시오.
92. 운영체제(OS)에서의 상호배제(Mutual Exclusion) 개념을 설명하고 이를 구현하는 방법을 하드웨어(Hardware)적 해결 방안 및 소프트웨어적 해결 방안으로 구분하여 설명하시오.
93. 병렬컴퓨터 프로세서 동기화와 상호배타 방식을 설명하시오.
94. 자원할당그래프(Resource Allocation Graph)
95. 자원할당그래프에서 Wait-For그래프 형태로 변환하고 교착상태 탐지 후 예방 방법에 대해 설명하시오.
P: Process(프로세스)
R: Resource(자원)
96. 경쟁조건(Race Condition)
97. Context Switching에 대해 설명하시오.
98. 운영체제에서 문맥(context)의 내용, 문맥 교환(context switch)의 과정 및 문맥 교환이 발생하는 조건을 설명하시오.
99. 운영체제 내부 모듈 중 Dispatcher의 주요 기능과 동작 과정을 도식화하여 설명하시오.
100. 다음은 마이크로 커널(Kernel)의 일부분이다. 알고리즘의 의미와 Context_Switch( ) 내부 메커니즘을 설명하시오.
Part 5. Memory 제어 기술
101. 메모리 계층구조(Memory Hierarchy)
102. 메모리 관리 정책(Memory Management Policy)
103. Cache Memory에 대해 설명하시오.
104. 캐시 메모리 설계(Cache Memory Design)
105. Cache Write Policy(정책)에 대해 설명하시오.
106. Cache Miss
107. Cache Memory 설계 목표, 지역성(Locality)의 개념과 유형, 지역성의 활용 사례
108. 캐쉬 메모리(Cache Memory)를 별도로 가지고 있는 다중 프로세서 시스템에서 Write-Back 쓰기 정책 적용 시 Cache Memory 간의 Data 전송방법에 대해 설명하시오.
109. Cache 일관성(Coherency) 문제 원인, 해결책, 처리과정, 사례에 대해 설명하시오.
110. 캐시(Cache)서버를 이용한 웹 서버의 부하 분산방법에 대해 설명하시오.
111. 병렬 프로세서에서의 Cache 일관성 기법(MESI와 Cache Directory 기술)
112. 메모리 할당 기법인 First-Fit, Best-Fit, Worst-Fit 기법에 대해 설명하시오.
113. 내부 단편화와 외부 단편화에 대해 설명하시오.
114. 메모리 단편화의 발생 원인과 해결 방안을 설명하고 단편화를 최소화하기 위한 Buddy Memory Allocation 알고리즘에 대해 설명하시오.
115. Working Set과 Page Fault Frequency 비교
116. 메모리 관리기법 중 지역성(Locality)을 개념적으로 정리하고 시간지역성(Temporal Locality)과 공간지역성(Spatial Locality)에 대하여 설명하시오.
117. Thrashing의 발생 원인, 발견 방법, 해결 및 회피 방안에 대해 설명하시오.
118. 프로세스 스레싱(Thrashing)의 발생 원인과 예방책을 설명하시오.
119. 가상기억장치(Virtual Memory)에 대해 설명하시오.
120. 가상메모리(Virtual Memory)의 사용 이유에 대해 설명하시오.
121. Memory 할당 기법인 Paging 기법에 대해 설명하시오.
122. 가상메모리의 Paging 및 Segmentation 기법에 대해 설명하시오.
123. 운영체제에서 페이지 교체 알고리즘을 사용한다.
가. 페이지 교체 알고리즘을 사용하는 이유에 대하여 설명하시오.
나. 페이지 교체 알고리즘의 종류를 나열하고, 각 종류별 동작 과정에 대하여 설명하시오.
124. FIFO 방식의 페이지 교체 알고리즘과 SCR(Second Change - Chance Replacement)알고리즘을 사용하여 입력 Page 값이 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2순일 때 Page Fault 개수를 구하시오. (이때 프레임(Frame) 개수는 3으로 가정한다)
125. 벨라디변이(Belady’s Anomaly)와 SCR(Second Chance Replacement) 알고리즘
126. SCR(Second Chance Replacement)
127. 메모리 누수(Memory Leak)
128. 메모리 인터리빙(Memory Interleaving)의 개념과 활용 방식에 대하여 설명하시오.
129. Caching, Buffering, Spooling
130. Buffer와 Buffering 그리고 cache와 Caching의 개념, 시스템에서의 활용 예, 활용 시의 주의사항
131. Embedded System의 메모리 최적화 방안(HW 및 SW 측면)
Part 6. C-언어 외
132. C언어에서의 지역변수에 대해 설명하시오.
133. C언어 Extern, Auto, Static, register 변수 Coding 각 변수 비교
134. C언어 Macro, Function, Inline의 Coding, 공통점, 차이점, 장단점을 기술하시오.
135. Module화 기법인 Macro, Function, Inline 각각의 개념을 공통점, 차이점, 장단점 위주로 설명하고 Embedded S/W 개발 환경에서의 활용 지침을 제안하시오.
136. Processor의 주소 지정 방식의 유형 분류, 이를 이용하여 C 언어 등 Programming 언어의 지역(자동) 변수 개념을 설명하시오.
137. 블록(Block)의 크기가 프로그램(Program)에 미치는 영향에 대해 설명하시오.
138. CPU 명령어 형식과 CPU 명령어 Cycle(Instruction Cycle)
139. CPU 처리 시의 병행성(Concurrency)과 병렬성(Parallelism)을 비교하시오.
140. 동적 연결 라이브러리(Dynamic Linking Library)
141. 제작된 Mobile App.을 신규로 App. Store에 등록하기 위한 절차와 Code서명 인증 발급 방법
142. Mobile App.(Native, Web, Hybrid App.)의 분류 및 특징을 설명하시오.
143. Android OS 적용, 개발 방법에서 SDK, NDK, PDK개발 방법에 대해 설명하시오.
144. OSS(Open Source S/W) 거버넌스(Governance)에 대해 설명하시오.
145. ISP(In System Programming)에 대해 설명하시오
Part 7. I/O 제어 및 신기술
146. 버스 중재 개념, 신호, 직렬식, 병렬식, 점대점 방식에 대해 설명하시오.
147. 버스 중재 기법인 데이지체인(Daisy Chain)에 대해 설명하시오.
148. Interrupt 구동 IO 방식과 Programmed IO 방식에 대해 설명하시오.
149. 운영체제에서 I/O 디바이스(Device)를 위한 Polling 방식과 Interrupt 방식을 설명하고 장단점을 비교(Interrupt는 데이지체인(Daisy Chain) 방식을 고려하시오)
150. Application과 Kernel 통신방법에서 Non Blocked I/O와 Blocked I/O에 대해 비교하시오.
151. Application과 Kernel 간 비동기 I/O(Asynchronous I/O) 제어 방식에 대해 설명하시오.
152. Embedded System 개발을 위한 Cross Development(교차 개발) 환경과 Debugger의 종류
153. Embedded System과 Embedded Software의 특성
154. 자동차용 Embedded System 기술에 대해 설명하시오.
155. Clustering과 HA(High Availability)에 대해 비교하여 설명하시오.
156. 파레토(Pareto) 법칙이 소프트웨어 공학과 운영체제에서 어떻게 활용되고 있는지 설명하시오.
157. UEFI(Unified Extensible Firmware Interface)에 대해 설명하시오.
158. System Tuning 절차와 방법에 대해 설명하시오.
159. XIP(eXecution In Place)에 대해 설명하시오.
160. Cloud Computing 표준화 동향 및 전략에 대해 설명하시오.
161. Cloud Computing의 스토리지 가상화에 대해 설명하시오.
162. Mobile Cloud에 대해 설명하시오.
163. VDI(Virtual Desktop Infrastructure)
164. TMR(Triple Modular Redundancy)
165. System(SMP 서버 및 저장장치) 증설이 필요할 경우 성능분석과 용량산정 시의 고려사항
166. UI(User Interface)와 UX(User Experience)를 비교하고 UX의 기술적인 요소
167. Computer의 성능을 측정하기 위한 Throughput, Turnaround Time, Response Time을 설명하시오.
168. Computer 시스템의 신뢰도 향상을 위해 사용되는 방법 중의 하나인 체크포인팅(Check Pointing) 전략(Strategy)에 대해 설명하시오.
169. Cloud 운영체제, Open Stack에 대해 설명하시오.
170. 도커(Docker)에 대해 설명하시오.
171. 유니커널(Unikernel) 기반의 클라우드(Cloud) 운영체제
172. Micro-Service, MSA(Micro-Service Architecture)
173. 가상화(Virtualization)에 대해 설명하시오.
174. 컨테이너(Container) 가상화
175. 하이퍼바이저(Hypervisor)의 두 가지 유형에 대해 설명하시오.
176. 메타버스(Metaverse)
댓글목록0