자격증 요약/정보처리기사

[정보처리기사 실기] 이론 기출_6 (운영체제 및 시스템관리)

문성 2026. 4. 13. 19:00


<< 주요 스케줄링 알고리즘 >>

FCFS (First Come First Service, 선입 선출)= FIFO (Firest In Frist Out)
 - FCFS는 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법이다.
 - 가장 간단한 알고리즘이다.

 

Q. 다음과 같은 프로세스들이 차례로 준비상태 큐에 들어왔다고 가정할 때, FCRS 기법을 이용하여 평균 실행 시간, 평균 대기 시간, 평균 반환 시간을 구하시오
(제출 시간은 없으며 시간의 단위는 초임).

대기 시간: 프로세스가 대기한 시간으로, 바로 앞 프로세스까지의 진행 시간으로 계산

반환 시간: 프로세스의 대기 시간과 실행 시간의 합

프로세스 번호 P1 P2 P3
실행 시간 20 4 6
대기 시간 0 20 (P1의 실행시간) 24 (P1+P2)
반환 시간 20 24 (P1+P2 실행시간) 30 (P1+P2+P3)

실행 시간, 대기 시간, 반환 시간의 평균은 '각 프로세스 시간의 합/프로세스의 개수'를 이용한다.

- 평균 실행 시간 : (20+4+6)/3 = 10

- 평균 대기 기간 : (0+20+24)/3 = 14.6

- 평균 반환 시간 : (20+24+30)/3 = 24.6


SJF (Shortest Job First, 단기 작업 우선)
 - SJF는 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법이다.
 - 가장 적은 평균 대기 시간을 제공하는 최적 알고리즘이다.
 - 실행 시간이 긴 프로세스는 실행 시간이 짧은 프로세스에게 할당 순위가 밀려 무한 연기 상태가 발생 될 수 있다.
 - CPU burst 시간이 짧은 프로세스를 우선적으로 처리하는 스케줄링 방식이다.
 - "Shortest Next CPU Burst"라고도 불리며 선점형 또는 비선점형으로 구현될 수 있다.

 

Q. 다음과 같은 프로세스들이 차례로 준비상태 큐에 들어왔다고 가정할 때, SJF 기법을 이용하여 평균 실행 시간, 평균 대기 시간, 평균 반환 시간을 구하시오.
(제출 시간이 없을 경우)

아래와 같이 실행시간이 짧은 프로세스를 먼저 처리하도록 이동시킨 후 각 프로세스의 대기 시간과 반환 시간을 구한다.

프로세스 번호 P1 P2 P3
실행 시간 20 4 6
프로세스 번호 P2 P3 P1 위치 이동
실행 시간 4 6 20
대기 시간 0 4 (P2) 10 (P1 + P2)  
반환 시간 4 10 (P1+P2) 30 (P1+P2+P3) 누적 개념

- 평균 실행 시간 : (4+6+20)/3 = 10

- 평균 대기 기간 : (0+4+10)/3 = 4.6

- 평균 반환 시간 : (4+10+30)/3 = 14.6


HRN (Highest Response-ratio Next)
 - HRN은 대기 시간과 서비스(실행) 시간을 이용하는 기법이다.
 - 실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것이다.
 - 우선순위를 계산하여 그 숫자가 가장 높은 것부터 낮은 순으로 우선순위가 부여된다.
 - 우선순위 계산식 = (대기시간 + 서비스기간) / 서비스 기간 (대서서)

 

Q. 다음과 같은 프로세스가 HRN 기법으로 스케줄링될 때 우선순위를 계산하시오

프로세스 번호 P1 P2 P3
실행 시간 20 4 6
대기 시간 10 20 10
우선순위 계산 (20+10)/20 = 1.5 (4+20)/4 = 6 (6+10)6 = 2.6
우선순위 P2 P3 P1

 

Q. HRN 방식으로 스케줄링 할 경우, 입력된 작업이 다음과 같을 때 처리되는 작업 순서를 나열하시오.

작업 대기 시간 서비스(실행)시간
A 5 20
B 40 20
C 15 45
D 20 2
       
A = B = C = D =
작업 순서 D B C A

[20년 1회]
7. 스케줄링 방식에서 HRN(Highest Response ratio Next) 우선순위 계산식을 쓰시오.

답: (대기 시간 + 서비스 시간) / 서비스 시간

RR (Round Robin)
 - RR은 각 프로세스를 시간 할당량(Time Slice, Quantum) 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주는 기법이다.
 - 시분할 시스템(Time Sharing System)을 위해 고안된 방식으로, 할당되는 시간의 크기가 작으면 작은 프로세스들에게 유리하다.
 - 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당받지만 각 프로세스는 시간 할당량 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주고 준비상태 큐의 가장 뒤로 배치된다.
 - 할당되는 시간이 클 경우 FCFS 기법과 같아지고, 할당되는 시간이 작을 경우 문맥 교환 및 오버헤드가 자주 발생되어 요청된 작업을 신속히 처리할 수 없다.

 

Q. 다음과 같은 프로세스들이 차례로 준비상태 큐에 들어왔다고 가정할 때, 평균 대기 시간, 평균 반환 시간을 구하시오(, Time Slice4초이다).

프로세스 번호 P1 P2 P3
실행 시간 20 4 6

주어진 시간 할당량(Time Slice) 동안 실행되지 못할 경우 준비상태 큐의 가장 마지막으로 재배치하여 차례를 기다리므로 다음과 같이 표시할 수 있다.

  P1 P2 P3 P1 P3 P1 P1 P1
실행시간 20 4 6 16 2 12 8 4
Time Slice 4 4 4 4 2 4 4 4
남은시간 16 0 2 12 0 8 4 0
Time Slice
누적시간
4 8 12 16 18 22 26 30
완료시점   O     O     O

반환 시간: 각 프로세스가 완료되는 시간을 이용하여 구한다.

대기 시간: 대기 시간을 구하고자 하는 프로세스의 가장 마지막 실행이 시작되기 전까지의 진행 시간을 이용하여 구하되, 해당 프로세스가 앞에서 여러 번 실행되었 을 경우 실행된 시간은 제외한다.

프로세스 번호 P1 P2 P3 평균
반환 시간 30 8 18 56/3 = 18.6
대기 시간 26-16 = 10 4 16-4 = 12 26/3 = 8.6

 

Q. 라운드로빈(RR) 방식을 이용하고 아래 내용을 참고하여 평균대기시간을 구하시오.

운영체제에서 라운드로빈(Round Robin, RR) 스케줄링은 각 프로세스에 동일한 시간 할당량(타임 퀀텀)을 순차적으로 부여하며 CPU를 할당하는 방식이다.

다음은 4개의 프로세스가 서로 다른 시간에 도착하며 각기 다른 실행 시간을 가지는 상황이다. 이때시간 할당량은 4ms이고 컨텍스트 스위칭 시간은 무시한다고 가정한다.

아래 정보를 바탕으로 라운드로빈(RR) 방식으로 CPU 스케줄링을 수행할 경우 모든 프로세스의 평균 대기시간(Average Waiting Time)은 얼마인가

프로세스 번호 도착시간 실행시간
P1 0 8
P2 1 4
P3 2 9
P4 3 5

간트 차트 (Gantt Chart) 작성 및 스케줄링

RR 방식은 정해진 시간 할당량(4ms) 동안 프로세스를 실행하고, 끝나지 않으면 큐의 맨 뒤로 보냅니다.

시간 실행 프로세스 남은 실행 시간 대기 큐
0 ~ 4 P1 (4ms) P1 : 4 P2 (도착: 1), P3 (도착: 2), P4 (도착: 3)
[P2, P3, P4]
4 ~ 8 P2 (4ms) P2 : 0 (종료) P1 (4ms)
[P3, P4, P1]
8 ~ 12 P3 (4ms) P3 : 5 P3 실행 중 P4
[P4, P1]
P3 종료 후 P4
[P4, P1, P3]
12 ~ 16 P4 (4ms) P4 : 1 P4 실행 중 P1
[P1, P3]
P4 종료 후 P1
[P1, P3, P4]
16 ~ 20 P1 (4ms) P1 : 0 (종료) P3 (5ms) [P3, P4]
20 ~ 24 P3 (4ms) P3 : 1 P4 (1ms) [P4, P3]
24 ~ 25 P4 (4ms) P4 : 0 (종료) P3 (1ms) [P3]
25 ~ 26 P3 (4ms) P3 : 0 (종료)  

완료 시간 및 대기 시간 계산

A. 완료 시간 (Completion Time, CT): 프로세스가 완전히 끝난 시간

B. 반환 시간 (Turnaround Time, TAT): 완료 시간 - 도착 시간 (CT AT)

C. 대기 시간 (Waiting Time, WT): 반환 시간 - 실행 시간 (TAT - BT)

프로세스 도착시간 실행시간 완료시간 반환시간 대기시간
P1 0 8 20 20-0 = 20 20-8 = 12
P2 1 4 8 8-1 = 7 7-4 = 3
P3 2 9 26 26-2 = 24 24-9 = 15
P4 3 5 25 25-3 = 22 22-5 = 17
합계         47
평균         11.75

SRT (Shortest Remaining Time)
 - SRT는 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법이다.
 - 시분할 시스템에 유용하며, 준비상태 큐에 있는 각 프로세스의 실행 시간을 추적하여 보유하고 있어야 하므로 오버헤드가 증가한다.
 - SJF의 스케줄링 방식을 선점형으로 구현한 형태로 실행 중인 프로세스보다 더 짧은 burst 시간을 가진 프로세스가 도착하면 현재 CPU를 선점한다

 

Q. 다음과 같은 프로세스들이 차례로 준비상태 큐에 들어왔다고 가정할 때, SRT 기법을 이용하여 평균 대기 시간, 평균 반환 시간을 구하시오.

프로세스 번호 A B C D
도착 시간 0 1 2 3
실행 시간 8 4 9 5

아래와 같이 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스를 먼저 처리하도록 이동시킨 후 대기 시간과 반환 시간을 구한다.

실행이 마무리되지 못한 경우 준비상태 큐에 재배치하여 차례를 기다리므로 다음과 같이 표시할 수 있다.

t=0 : A 도착 A 실행 (남은 8 7)
t=1 : B 도착(4) A(7)보다 짧으므로 선점 B 실행
t=2 : C 도착(9) 현재 B(3)보다 크므로 B 계속 실행
t=3 : D 도착(5) 현재 B(2)가 가장 짧으므로 B 계속 실행
B는 총 4단위라 t=1부터 t=5까지 실행되어 t=5에 완료
t=5 이후 준비큐에는 A(7), C(9), D(5) **D(5)**가 가장 짧아 t=5t=10 실행(완료)
t=10 이후 A(7)C(9) A가 짧아 t=10t=17 실행(완료)
마지막으로 Ct=17t=26 실행(완료)

반환 시간: '완료 시간 - 대기 시간'으로 구한다.

대기 시간: '완료 시간 - 도착 시간 - 실행 시간'으로 구한다.

A: 도착 0, 실행 8, 완료 17
- 반환 = 17 - 0 = 17
- 대기 = 17 - 8 = 9
B: 도착 1, 실행 4, 완료 5
- 반환 = 5 - 1 = 4
- 대기 = 4 - 4 = 0
C: 도착 2, 실행 9, 완료 26
- 반환 = 26 - 2 = 24
- 대기 = 24 - 9 = 15
D: 도착 3, 실행 5, 완료 10
- 반환 = 10 - 3 = 7
- 대기 = 7 - 5 = 2
평균값:
- 평균 반환시간 = (17 + 4 + 24 + 7) / 4 = 13.0
- 평균 대기시간 = (9 + 0 + 15 + 2) / 4 = 6.5

[24년 2회]

12. 아래의 표를 확인하여 SRT 스케줄링의 평균 대기시간을 계산하여 작성하시오.

답: 6.5

 

 

[22년 3회]

16. 다음은 스케줄링에 관한 내용이다. 괄호안에 알맞는 답을 작성하시오.

( 1 ) 스케줄링
Ready Queue에 있는 프로세스 중 CPU 처리 시간이 짧은 순서대로 CPU를 할당하는 비선점형 방식이며, 늦게 도착하더라도 CPU 처리 시간이 앞에 대기중인 프로세스보다 짧으면 먼저 CPU를 할당받을 수 있다.

( 2 ) 스케줄링
프로세스가 도착한 순서대로 프로세스를 디스패치하지만 정해진 시간 할당량(또는 시간 간격)에 의해실행을 제한한다. 즉, 시간 할당량을 매 프로세스에 주고 할당된 시간 안에 완료되지 못한 프로세스는 준비 큐의 맨 뒤에 배치되도록 하여 CPU를 독점하지 않고 공평하게 이용될 수 있게 한다.

( 3 ) 스케줄링
선점 스케줄링 방식으로 변경한 기법이다.
CPU를 점유중인 프로세스보다 남은 CPU 처리 시간이 짧은 프로세스가 Ready Queue에 들어올 경우 새로 들어온 프로세스가 CPU를 점유할 수 있다.
어떤 알고리즘보다 평균 대기 시간이 가장 짧은 알고리즘이지만, 기본적으로 선점형 방식이기 때문에 잦은 Context Switching이 일어나고 그에 따른 오버헤드가 커진다.
답: (1) SJF,  (2) RR,  (3) SRT

 


LOC

 

[20년 1회]

16. LoC(Line of Code)가 30,000라인이고, 개발자가 5명이며, 개발자가 월평균 300라인을 개발한다. 이때 프로젝트 개발 기간과 계산식을 쓰시오.

답:
프로젝트 개발 기간 : 20개월
계산식 : (30,000라인 / 300라인) / 5명 = 20개월

<< 페이지 교체 순서 >>

[24년 3회]
4. 다음은 운영체제 페이지 순서를 참고하여 할당된 프레임의 수가 3개일 때LRU 알고리즘의 페이지 부재 횟수를 작성하시오.

페이지 참조 순서: 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
답: 12

 


[24년 1회]

9. 다음은 운영체제 페이지 순서를 참고하여할당된 프레임의 수가 3개일 때LRU와 LFU 알고리즘 의 페이지 부재 횟수를 작성하시오.

페이지 참조 순서 : 1, 2, 3, 1, 2, 4, 1, 2, 5, 7
(1) LRU :
(2) LFU :
답 : (1) : 6  (2) : 6

<< 형상관리 >>

[20년 2회]
20. 소프트웨어 개발 과정에서 변경 사항을 관리하는 기법은 (     ) 기법이라고 하며, (     ) 기법을 활용한 도구로는 CVS, SVN, Git 등이 있다. 빈칸에 알맞은 용어를 쓰시오.

답: 형상관리

 


[20년 3회]

4. 형상 통제를 설명하시오.

답: 형상 항목의 버전 관리를 위해서 변경 여부와 변경 활동을 통제하는 활동

 


[22년 3회]

11. 다음 보기 중, 형상 관리 항목을 3가지 고르시오.

[보기] ㄱ.ATM  ㄴ.CVS  ㄷ.OLAP  ㄹ.DDOS  ㅁ.SVN  ㅂ.Cyber Kill Chain  ㅅ.OLTP  ㅇ.GIT
답: CVS, SVN, GIT

<< 사용자 인터페이스(UI) >>

사용자 인터페이스(UI. User Interface)
 - 사용자 인터페이스는 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어를 의미한다.

사용자 인터페이스의 세 가지 분야

 - 정보 제공과 전달을 위한 물리적 제어에 관한 분야
 - 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야
 - 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야
사용자 인터페이스의 구분
CLI (Command Line Interface)
 - 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스
 
GUI (Graphical User Interface)
 - 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
 - Windows, MacOS 등에서 사용하는 인터페이스로, 사용자가 명령어를 직접 입력하지 않고 키보드와 마우스 등을 이용하여 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 사용자 인터페이스
 
NUI (Natural User Interface)
 - 사용자의 말이나 행동 등 자연스러운 움직임을 통해 기기를 조작하는 인터페이스
 - 사용자의 자연스러운 움직임을 통해 시스템과 상호작용하는 사용자 인터페이스(UI), 키보드나 마우스와 같이 조작을 배워야 하는 인공 제어 장치를 사용하는 인터페이스와 구분하기 위해 자연스러운이라는 표현을 사용한다.
 - 시리(Siri), 빅스비(Bixby) 등과 같은 음성 비서에게 사용하는 자연어 명령이나 휴대폰이나 태블릿에서의 터치 등이 여기에 해당한다.
사용자 인터페이스의 기본 원칙
 - 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함
 - 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함
 - 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함
 - 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 함

[20년 2회]

16. UI 설계 원칙에서 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작할 수 있어야 한다. 다음 빈칸에 들어갈 특징은 무엇인가?

직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 한다.
학습성 : 누구나 쉽게 배우고 익힐 수 있어야 한다.
유연성 : 사용자의 요구사항을 최대한 수용하며 오류를 최소화해야 한다.
(     )  : 사용자의 목적을 정확하게 달성하여야 한다. 
답: 유효성

 


[20년 3회]
16. UI 설계 원칙 중 직관성에 대해서 쓰시오.

답: 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 하고,쉬운 검색, 쉬운 사용성, 일관성이 부특성을 가지고 있는 UI설계 원칙

 

 

[22년 1회]

9. 다음 중, 설명에 대한 답을 영어 약자로 작성하시오.

키보드나 마우스와 같은 장치 없이 말이나 행동 그리고 감정과 같은 인간의 자연스러운 표현으로 컴퓨터나 장치를 제어할 수 있는 환경
답: NUI

 

 

[21년 3회]

19. 다음 설명에 대한 알맞는 답을 영문약어로 작성하시오.

- (     )는 사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 환경을 말한다.
- 이전까지 사용자 인터페이스는 키보드를 통해 명령어로 작업을 수행시켰지만 (     )에서는 키보드 뿐만 아니라 마우스 등을 이용하여 화면의 메뉴 중 하나를 선택하여 작업을 수행한다.
- 화면에 아이콘을 띄어 마우스를 이용하여 화면에 있는 아이콘을 클릭하여 작업을 수행하는 방식이다.
- 대표적으로는 마이크로소프트의 Windows, 애플의 Mac 운영체제 등이 있다.
답: GUI

 

 

[21년 2회]

2. 다음 (1), (2)에 알맞는 답안을 쓰시오. 

( 1 ) 사람의 감정이나 경험을 나타내는 개념
( 2 ) 사용자 인터페이스. 예로는 CLI이 있다.
답: (1) UX (User Experience)  (2) UI (User Interface)

<< 리눅스, 유닉스 >>

[20년 4회]
17. 데니스 리치와 켄톰슨 등이 함께 벨 연구소를 통해 만든 운영체제이며, 90% 이상 C언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능하며 계층적 트리 구조를 가짐으로써 통합적인 파일 관리가 용이한 운영체제는 무엇인가?

답: 유닉스

 


[20년 2회]

11. Linux 운영체제 위에서 구동하며 휴대폰 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용프로그램(웹 브라우저 등) 등을 포함하고 있는 소프트웨어 스택이자 리눅스 모바일 운영체제로 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 했고, 컴파일 된 바이트 코드를 구동할 수 있는 런타임 라이브러리를 제공하는 운영체제는 무언인지 쓰시오.

답: 안드로이드

 


[25년 3회]

3.다음은 유닉스(Unix)또는 리눅스(Linux)환경에서 자주 사용하는 기본 명령어에 대한 설명이다. 각 설명에 맞는 명령어를 보기에서 골라 연결하시오.

1. 현재 작업 중인 디렉터리의 경로를 출력
2. 디렉터리의 내용(파일 및 하위 디렉터리)을 목록으로 표
3. 다른 디렉터리로 이동
4. 파일을 복사
[보기] ls, cd, cp, pwd
답:
1. pwd
2. ls
3. cd
4. cp
                               

UNIX / LUNUS 기본 명령어
cat : 파일 내용 출력
ls : 디렉터리의 내용을 목록으로 표시
cp : 파일 복사
rm : 파일 삭제
find : 파일 검색
chdir(cd) : 다른 디렉터리 이동
pwd : 현재 작업 중인 디렉터리의 경로를 출력

chmod: 파일 권한(permission) 변경
chown : 파일 소유자 변경
umask : 기본 권한 마스크

fork : 프로세스 복제, 자식 프로세스 생성
exec : 현재 프로세스를 새 프로그램으로 대체
wait : 자식 프로세스 종료 대기
fsck : 파일 시스템 검사 및 복구

mount : 파일 시스템 연결
umount : 파일 시스템 해제
uname : 시스템 정보 출력

 

 

[23년 3회]

3. 리눅스(Linux)에서 사용자에게 읽기/쓰기/실행 권한을 부여하고, 그룹에게는 읽기/실행을 부여하고, 그 이외에는 실행 권한을 test.txt 파일에 부여하는 위한 명령어는 다음과 같다. 빈칸에 들어갈 답을 작성하시오. (8진법 사용)

(    (1)    ) (    (2)    ) test.txt
답:
(1) chmod
(2) 751

 

 

[20년 2회]

15. 사용자에게 읽기 / 쓰기 / 실행 권한을 부여하고 그룹에게는 읽기 / 실행을 부여하고 그 이외에는 실행 권한을  a.txt에 부여하는 명령어를 한줄로 작성하시오 (8진법을 사용하시오)

답: chmod 751 a.txt

<< 주요 메소드 >>

Range

 - Range는 연속된 숫자를 생성하는 것으로, 리스트나 반복문에서 많이 사용됩니다.

range(최종값) 0에서 '최종값'-1까지 연속된 숫자를 생성한다.
range(초기값, 최종값) '초기값'에서 '최종값-1까지 연속된 숫자를 생성한다.
range(초기값, 최종값, 증가값) '초기값'에서 '최종값'-1까지 '증가값'만큼 증가하면서 숫자를 생성한다.
'증가값'이 음수인 경우 '초기값'에서 '최종값'+1까지 '증가값'만큼 감소하면서 숫자를 생성한다.

 

슬라이스(Slice)

 - 슬라이스는 문자열이나 리스트와 같은 순차형 객체에서 일부를 잘라(slicing) 반환하는 기능

객체명 [초기위치 : 최종위치] '초기위치'에서 '최종위치~1까지의 요소들을 가져온다.
객체명 [초기위치 : 최종위치 : 증가값] '초기위치'에서 '최종위치-1까지 '증가값'만큼 증가하면서 해당 위치의 요소들을 가져온다.
'증가값'이 음수인 경우 '초기위치'에서 '최종 위치'+1까지 '증가값' 만큼 감소하면서 해당 위치의 요소들을 가져온다.

 - 슬라이스는 일부 인수를 생략하여 사용할 수 있습니다.

객체명 [:] 또는 객체명 [::] 객체의 모든 요소를 반환한다.
객체명 [초기위치:] 객체의 '초기위치'에서 마지막 위치까지의 요소들을 반환한다.
객체명 : 최종위치] 객체의 0번째 위치에서 '최종위치'-1까지의 요소들을 반환한다.
객체명 [:: 증가값] 객체의 0번째 위치에서 마지막 위치까지 '증가값만큼 증가하 면서 해당 위치의 요소들을 반환한다.

리스트 관련 주요 메소드

pop(위치) 리스트의 '위치'에 있는 값을 출력하고 해당 요소를 삭제한다.
. [10, 11, 12].pop(1)11 출력[10,12]
index() 리스트에서 ''이 저장된 요소의 위치를 반환한다.
. [10, 11, 12].index(12)2
count() 리스트에서 ''이 저장되어있는 요소들의 개수를 반환한다.
. [1, 0, 1, 0, 0].count(0)3
extend(리스트) 리스트의 끝에 새로운 '리스트'를 추가하여 확장한다.
['a', 'b'].extend(['c', 'd])['a', 'b', 'd', 'd]
reverse() 리스트의 순서를 역순으로 뒤집는다.
[1, 2, 3].reverse()[3, 2, 1]
sort() 리스트를 정렬하며, 기본값은 오름차순이다.
reverse 속성을 이용하여 정렬 방식을 지정할 수 있다.
- True: 내림차순, False : 오름차순
. [2, 1, 3].sort()[1, 2, 3]
[2, 1, 3].sort(reverse=True)[3, 2, 1]
copy() 리스트를 복사한다.
. a = [1, 2, 3]
b=a.copy()

세트 관련 주요 메소드

pop() 세트의 값을 출력하고 요소를 삭제한다.
. {10, 11, 12}.pop()10 출력{11,12}
add() 세트에 ''을 추가한다.
. {10, 11, 12).add(13){10, 11, 12, 13}
update(세트) 세트에 새로운 '세트'를 추가하여 확장한다.
. {'a', 'b', 'c'}.update({'c', 'd'}){'a', 'b', 'c', 'd'}
remove() 세트에서 ''을 찾아 해당 요소를 삭제한다.
. {10, 11, 12}.remove(10){11,12}

[22년 1회]
7. 다음 설명과 관련된 답을 보기에서 골라 작성하시오.

( 1 ) 요소를 확장해준다는 의미를 가지고 있으며, 모든 항목을 하나의 요소로 추가
( 2 ) 리스트 내부 요소를 꺼내주는 함수로써, 그 요소는 리스트 안에서 삭제하고 그 값을 반환
( 3 ) 리스트 내부의 요소의 순서는 뒤집는 역할
답: (1) extend  (2) pop  (3) reverse

<< 경로 제어 프로토콜 >>

IGP (Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
 - 하나의 자율 시스템(AS) 내의 라우팅에 사용되는 프로토콜

 -
RIP (Routing Information Protocol)
  -- 현재 가장 널리 사용되는 라우팅 프로토콜로 거리 벡터 라우팅 프로토콜이라고도 불리며, 최단 경로 탐색에 Bellman-Ford 알고리즘이 사용됨
  -- 소규모 동종의 네트워크(자율 시스템, AS) 내에서 효율적인 방법
  -- 최대 홉(Hop) 수를 15로 제한하므로 15 이상의 경우는 도달할 수 없는 네트워크를 의미하는데 이것은 대규모 네트워크에서는 RIP를 사용할 수 없음을 의미함
  -- 홉 카운트(Hop Count), 즉 라우터의 수를 기준으로 가장 적은 수의 라우터를 거쳐가는 경로를 최적 경로로 선택함
  -- 라우팅 정보를 30초마다 네트워크 내의 모든 라우터에 알리며, 180초 이내에 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주함
  -- 일정 시간 동안 라우팅 정보가 갱신되지 않으면 해당 경로를 이상 상태로 간주한다.

 - OSPF(Open Shortest Path First protocal)

- RIP의 단점을 해결하여 새로운 기능을 지원하는 인터넷 프로토콜로, 대규모 네트워크에서 많이 사용됨
- 인터넷망에서 이용자가 최단 경로를 선정할 수 있도록 라우팅 정보에 노드 간의 거리 정보, 링크 상태 정보를 실시간으로 반영하여 최단 경로로 라우팅을 지원함
- 최단 경로 탐색 다익스트라(Dijkstra) 알고리즘을 사용함
- 라우팅 정보에 변화가 생길 경우 변화된 정보만 네트워크 내의 모든 라우터에 알린다.
- 링크 스테이트 라우팅 알고리즘을 사용하며, 하나의 자율 시스템(AS)에서 동작하면서 내부 라우팅 프로토콜의 그룹에 도달한다.

 

Q. A~F는 라우터이고, 각 링크 상의 숫자는 가중치 값을 나타낼 때 RIP을 이용한 A에서 F까지의 최적 경로를 쓰시오

라우터의 수를 기준으로 가장 적은 수의 라우터를 거쳐가는 경로를 최적 경로로 선택함

: A D C F

 

[24년 2회]

11. 아래 그림을 바탕으로 RIP을 구성하여 최단 경로 비용을 계산하여 흐름에 맞게 작성하시오.

A → 
답: A → D → C → F

IGP (Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
- 라우팅 정보에 변화가 생길 경우 변화된 정보만 네트워크 내의 모든 라우터에 알림
- 하나의 자율 시스템(AS)에서 동작하면서 내부 라우팅 프로토콜의 그룹에 도달함
EGP (Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)
- 자율 시스템(AS) 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜
BGP (Border Gateway Protocol)
- 자율 시스템(AS) 간의 라우팅 프로토콜로, EGP의 단점을 보완하기 위해 만들어졌음
- 초기에 BGP 라우터들이 연결될 때에는 전체 경로 제어표(라우팅 테이블)를 교환하고, 이후에는 변화된 정보만을 교환함

 

[20년 3회]
3. 대표적인 내부 라우팅 프로토콜로 다익스트라 알고리즘을 이용한 대규모 네트워크에 적합한 링크 상태 라우팅 프로토콜로 불리는 라우팅 프로토콜은 무엇인가?

답: OSPF(Open Shortest Path First)

 


[22년 2회]
14. 다음 설명에 대해 보기에 주어진 답을 골라 작성하시오.

( 1 )
라우터로 상호 접속이 되어있는 여러 개의 네트워크 집합으로 도메인 혹은 자율시스템(Autonomous System, AS)이라고 한다.
같은 도메인 내에 존재하는 라우터는 도메인 내부 라우터가 되고 도메인 외부에 존재하는 라우터는 도메인 외부 라우터가 되는데, 여기서 도메인 내부 경로 설정을 가르킨다.

( 2 )
시스템 사이에 경로 설정 정보 등을 교환하기 위해 사용하는 프로토콜로써,다른 도메인 사이에 라우팅 시 정리된 관리가 거의 없고 많은 경우에 신용도가 매우 낮아 빠른 수행보다는 보안과 제어가 본래의 목적이다.

( 3 )
IP 라우팅 프로토콜의 한 종류로써 RIP(routing information protocol)보다 규모가 큰 네트워크에서도 사용할 수 있다.규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선한 라우팅 프로토콜로써 RIP에 비해 자세한 제어가 가능하고, 관리 정보의 트래픽도 줄일 수 있다.

( 4 )
서로 다른 자율 시스템(AS)의 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜(EGP)이다.각 목적지에 대한 전체 경로가 포함되며, 다른 시스템과 교환하는 네트워크 도달 가능성 정보의 데이터베이스를 유지한다.네트워크 도달 가능성 정보를 사용하여 AS 연결 그래프를 구성하며, 이를 통해 라우팅 루프를 제거하고 AS 수준에서 정책 결정을 실행할 수 있다.
답: (1) IGP  (2) EGP  (3) OSPF  (4) BGP

 


[24년 1회]

7. 아래의 내용에서 설명하는 네트워크 용어를 영문 약자로 작성하시오.

- 대표적인 링크 상태 라우팅 프로토콜이다. 이것은 인터넷에서 연결된 링크의 상태를 감시하여 최적의 경로를 선택한다는것이다.
- 단일 자율 시스템 내에서 라우팅 정보를 배포하는 데 사용되는 내부 게이트웨이 프로토콜이다.
- 모든 대상에 도달하기 위한 최단 경로를 구축하고 계산하며 최단 경로는 Dijkstra 알고리즘을 사용하여 계산된다.
답: OSPF(OpenShortestPathFirst)

 


[23년 3회]

18. 다음은 프로토콜 종류에 관한 설명이다. 알맞는 답을 작성하시오.

- 최소 Hop count를 파악하여 라우팅하는 프로토콜이다.
- 거리와 방향으로 길을 찾아가는 Distance Vector 다이나믹 프로토콜이다.
- 최단거리 즉, Hop count가 적은 경로를 택하여 라우팅하는 프로토콜로 Routing Table에 인접 라우터 정보를 저장하여 경로를 결정한다.
- 최대 Hop count는 15로 거리가 짧기 때문에 IGP로 많이 이용하는 프로토콜이다.

답: RIP

 

 

Q. 경로 제어 프로토콜은 크게 자율 시스템 내부의 라우팅에 사용되는 ( IGP )와 자율 시스템 간의 라우팅에 사용되는 ( EGP )로 구분할 수 있다.

( IGP )는 소규모 동종 자율 시스템에서 효율적인 RIP와 대규모 자유 시스템에서 많이 사용되는 ( OSPF )로 나누어진다.

( OSPF ) 는 링크 상태(Link State)를 실시간으로 반영하여 최단 경로로 라우팅을 지원하는 특징이 있다.

( BGP )( EGP )의 단점을 보완하여 만들어진 라우팅 프로토콜로, 처음 연결될 때는 전체 라우팅 테이블을 교환하고, 이후에는 변화된 정보만을 교환한다.

트래픽 제어 (Traffic Control)
 - 트래픽 제어는 네트워크의 보호, 성능 유지, 네트워크 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능이다.

종류

- 흐름 제어
- 폭주(혼합) 제어
- 교착상태 방지
흐름 제어(Flow Control)
 - 흐름 제어란 네트워크 내의 원활한 흐름을 위해 송·수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능이다.
정지-대기 (Stop-and-Wait)
 - 수신 측의 확인 신호(ACK)를 받은 후에 다음 패킷을 전송하는 방식
 - 한 번에 하나의 패킷만을 전송할 수 있음
 - TCP 흐름 제어 기법 중 프레임이 손실되었을 때, 손실된 프레임 1개를 전송하고 수신자의 응답을 기다리는 방식으로 한 번에 프레임 1개만 전송할 수 있는 기법을 쓰시오.
슬라이딩 윈도우 (Sliding Window)
 - 확인 신호, 즉 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식
 - 수신 측의 확인 신호를 받지 않더라도 미리 정해진 패킷의 수만큼 연속적으로 전송하는 방식으로, 한 번에 여러 개의 패킷을 전송할 수 있어 전송 효율이 좋음
 - 송신 측은 수신 측으로부터 확인 신호(ACK) 없이도 보낼 수 있는 패킷의 최대치를 미리 약속받는데, 이 패킷의 최대치가 윈도우 크기(Window Size)를 의미함
 - 윈도우 크기(Window Size)는 상황에 따라 변함. , 수신 측으로부터 이전에 송신한 패킷에 대한 긍정 수신 응답(ACK)이 전달된 경우 윈도우 크기는 증가하고, 수신 측으로부터 이전에 송신한 패킷에 대한 부정 수신 응답(NAK)이 전달된 경우 윈도우 크기는 감소함
폭주 제어(Congestion Control)
 - 흐름 제어(Flow Control)가 송·수신 측 사이의 패킷 수를 제어하는 기능이라면, 폭주 제어 네트워크 내의 패킷 수를 조절하여 네트워크의 오버플로(Overflow)를 방지하는 기능을 한다.

 - 느린 시작
(Slow Start)

   -- 윈도우의 크기를 1, 2, 4, 8, 과 같이 2배씩 지수적으로 증가시켜 초기에는 느리지만 갈수록 빨라짐
   -- 전송 데이터의 크기가 임계값에 도달하면 혼잡 회피 단계로 넘어감

 - 혼집 회피
(Congestion Avoidance)

   -- 느린 시작(Slow Start)의 지수적 증가가 임계 값에 도달되면 혼잡으로 간주하고 회피를 위해 윈도우의 크기를 1씩 선형적으로 증가시켜 혼잡을 예방하는 방식

< 기타 >>

[20년 2회]

1. 정보시스템 운영 중 서버가 다운되거나 자연재해나 시스템 장애 등의 이유로 고객에게 서비스가 불가능한 경우가 종종 발생한다. 이와 같은 상황에서 비상사태 또는 업무중단 시정부터 업무가 복구되어 다시 정상 가동될때까지의 시간을 의미하는 용어가 무엇인지 쓰시오.

답: 재해 복구 시간 or RTO(Recovery Time Objective)

 


[20년 4회]

13. 다음은 프로세스 상태 전이도이다. 1,2,3에 알맞은 상태를 쓰시오.

답: (1) 준비  (2) 실행  (3) 대기

 

 

[21년 3회]
18. 다음은, 파일 구조(File Structures)에 대한 설명이다. 괄호 ( ) 안에 들어갈 알맞는 답을 작성하시오.

- 파일구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식으로 접근 방식에 따라 방식이 달라진다.
- 접근 방법중, 레코드들을 키-값 순으로 정렬하여 기록하고, 레코드의 키 항목만을 모은 (     )을 구성하여 편성하는 방식이 있으며, 레코드를 참조할 때는 (     ) 이 가르키는 주소를 사용하여 직접 참조할 수 있다. 파일 구조에는 순차 접근, (     ) 접근, 해싱 접근이 있다.
답: 인덱스 or 색인

 

 

 

[21년 3회]

3. Grant의 기능에 대해 간략하게 약술하시오. 

답: 사용자(User)에게 접속권한, 오브젝트 생성권한, DBA 권한 등을 부여할 수 있는 명령어

 

 

[22년 1회]

1. 아래 설명에 맞는 RAID 단계를 숫자로 작성하시오.

- Striping(스트라이핑) 구현 방식
- I/O 로드의 분산으로 매우 빠른 속도
- 데이터를 블럭으로 분할 저장하며, 각 블럭은 다른 디스크로 나뉘어 저장
답: 0

 

 

[22년 1회]

2. 다음 설명을 확인하여 해당하는 항목을 보기에서 찾아 적으시오.

( 1 ) 오류가 발생하기 전까지의 사항을 로그(log)로 기록해 놓고, 이전 상태로 되돌아간 후, 실패가 발생하기 전까지의 과정을 그대로 따라가는 현상
( 2 ) 작업을 취소하여 트랜잭션을 이전 상태로 되돌리는 것
답: (1) redo  (2) undo