정보관리기술사 컴퓨터시스템응용기술사 Vol 2 운영체제 (개정증보판)

정보관리기술사 컴퓨터시스템응용기술사 Vol 2 운영체제 (개정증보판)

$42.80
Description
1. 이 책은 학원 수강을 통해 습득한 내용과 멘토링을 진행하면서 스스로 학습한 내용을 바탕으로 답안 형태로 작성하였고, IT분야 기술사인 정보관리기술사와 컴퓨터시스템응용기술사 자격을 취득하기 위해 학습하고 있거나 학습하고자 하는 분들을 위해 만들었습니다.

2. 본 교재는 발전 동향, 배경 그리고 유사 기술과의 비교, 다양한 도식화 등 20년 이상 실무 개발자 경험을 토대로 작성한 내용으로 풍부한 경험적인 요소가 내재되어 있는 장점이 있습니다.
저자

권영식

- 성균관대학교 정보통신대학원 정보보호학과 졸업(공학석사)
- 삼성종합기술원 연구원
- 삼성전자 선임/책임/수석연구원
- 국립공원공단 정보융합실장
- 컴퓨터시스템응용기술사
- 정보시스템수석감리원
- 정보통신특급감리원, 정보통신특급기술자
- 과학기술정보통신부 IT멘토
- 데이터관리인증심사원(DQC-M)
- 韓(한)·日(일)기술사교류회위원
- http://cafe.naver.com/96starpe운영자

목차

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

출판사 서평

책의 특징

Part 1. OS(Operating System)
하나의 토픽을 알기보다는 전체적인 발전 과정을 이해하고 도식화하여 기술을 설명하는 연습이 필요합니다. 운영체제(Operating System), Windows OS의 Booting 순서, Process, PCB, TCB, Multi Thread, 마이크로 커널과(Micro Kernel)과 모노리틱 커널(Monolithic Kernel), 실시간 시스템, Tiny OS, 다중 프로그래밍 환경에서 이중 모드(Dual Mode), 운영체제에서의 인터럽트(Interrupt), Process 간 데이터 통신 등 운영체제의 제반 사항을 학습하는 Part입니다. [관련 토픽 - 26개]

Part 2. Unix 및 Linux 운영체제
유닉스(Unix) 운영체제, Unix 운영체제 부팅(Booting) 과정, 파일 시스템, i-node, Super Block, Unix OS(운영체제)에서 Process 상태 전이도, Unix System Cal, fork()함수, Unix System에서 파일접근제어 방식인 umask, Unix 시스템의 IPC(Inter-Process Communication), Linux 커널, Linux System에서의 프로세스 동기화를 위한 스핀락(Spin-Lock) 등 출제 범위에 포함되어 있어 자주 출제되는 분야로 Unix 운영체제와 Linux 운영체제에 대해 전반적으로 학습할 수 있는 Part입니다. [관련 토픽 - 21개]

Part 3. 스케줄링(Scheduling)
CPU Scheduling, 운영체제에서 Process의 5가지 상태(State), 선점 및 비선점형 스케줄링, 각 스케줄링 방식에 대한 기술과 비교, 우선순위 역전(Priority Inversion) 발생 원인과 방지 방법, Hard Real Time 스케줄링 방식인 RM(Rate Monotonic)과 EDF(Earliest Deadline First), HDD의 Disk 스케줄링 기법, 디스크 스케줄링 알고리즘 등 운영체계에서 사용되는 스케줄링에 대한 이해와 실제 예시를 작성해 봄으로써 실전에서 고득점을 획득할 수 있습니다. [관련 토픽 - 30개]

Part 4. 프로세스 동기화(Process Synchronization)와 문맥 교환(Context Switching)
세마포어(Semaphore), 모니터(Monitor), 계수형 세마포어(Semaphore), 뮤텍스(MUTEX), Semaphore를 이용한 리소스 공유 방법과 태스크 간 동기화 방법, 동기화 기법인 스핀락(Read/Write Spin Lock), 은행가 알고리즘(Banker’s Algorithm). 교착상태(Dead Lock), Live Lock, 상호 배제(Mutual Exclusion), 자원할당그래프, 경쟁조건(Race Condition), 문맥 교환(Context Switching), 운영체제 내부 모듈 중 Dispatcher의 주요 기능과 동작, 마이크로 커널(Kernel)의 동작 등 항상 출제되는 분야로 개념과 어떻게 활용되는지에 대해 정확히 답안에 기술할 수 있어야 합니다. 매우 중요한 토픽들입니다. [관련 토픽 - 23개]

Part 5. Memory 제어 기술
메모리 계층구조(Memory Hierarchy), 캐시 메모리 설계(Cache Memory Design), Cache Miss, Cache 일관성(Coherency) 문제 원인 및 해결책, 메모리 할당 기법, Working Set과 Page Fault Frequency 비교, 시간 지역성(Temporal Locality)과 공간 지역성(Spatial Locality), Thrashing의 발생 원인 및 해결, 가상메모리(Virtual Memory)의 사용 이유, 가상메모리의 Paging 및 Segmentation 기법, 운영체제에서 페이지 교체 알고리즘, 메모리 누수(Memory Leak), 메모리 인터리빙(Memory Interleaving), Caching, Buffering, Spooling 등에 대해 답안화할 수 있도록 하였습니다. [관련 토픽 - 32개]

Part 6. C-언어 외
C언어에서의 지역변수, C언어 Extern/Auto/Static/register 변수 비교, C언어에서 Macro/Function /Inline의 공통점과 차이점, Processor의 주소 지정 방식, 블록(Block)의 크기가 프로그램(Program)에 미치는 영향, CPU 명령어 형식과 CPU 명령어 Cycle 이해, 병행성(Concurrency)과 병렬성(Parallelism), App. 등록 절차, 모바일 App.의 종류 등 기출문제 위주로 작성하였습니다. [관련 토픽 - 14개]

Part 7. I/O 제어 및 신기술
Interrupt 구동 I/O 방식과 Programmed I/O, 운영체제에서 I/O 디바이스(Device), Application과 Kernel 통신방법에서 Non Blocked I/O와 Blocked I/O 방식 비교, 비동기 I/O(Asynchronous I/O) 제어 방식, Embedded System과 Embedded Software의 특성, System Tuning 절차와 방법, Cloud Computing, System 증설이 필요할 경우 성능 분석과 용량 산정 시의 고려사항, UI(User Interface)와 UX(User Experience) 비교, 가상화(Virtualization), 하이퍼바이저(Hypervisor), 메타버스(Metaverse) 등 운영체제의 I/O 제어기술과 운영체제 차원에서의 신기술에 대해서도 학습하도록 하였습니다. [관련 토픽 - 31개]