본문으로 바로가기

4과목 : 프로그래밍 언어 활용

 

1. IPv6에 대한 설명으로 틀린 것은?

1. 128비트의 주소 공간을 제공한다.
2. 인증 및 보안 기능을 포함하고 있다.
3. 패킷 크기가 64Kbyte로 고정되어 있다.
4. IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이하다.

IPv6
 - 128비트의 주소를 사용, 주소 부족 문제를 해결할 수 있으며, IPv4에 비해 자료 전송 속도가 빠름
 - 인증성, 기밀성, 데이터 무결성의 지원
 - 주소의 확장성, 융통성, 연동성이 뛰어나며, 실시간 흐름 제어로 향상된 멀티미디어 기능 지원
 - 서비스별로 패킷을 구분할 수 있어 품질 보장 용이(Traffic Class, Flow Label)

 

2. C언어에서 비트 논리연산자에 해당하지 않는 것은?

1. ^
2. ?
3. &
4. ~

& - and
^ - xor
| - or
~ - not
<< - 왼쪽 시프트
>> - 오른쪽 시프트

 

3. TCP/IP 프로토콜 중 전송계층 프로토콜은?

1. HTTP
2. SMTP
3. FTP
4. TCP

7계층(Application Layer) - HTTP, FTP, SMTP, Telnet
6계층(Presentation Layer) - ASCII, MPEG, JPEG, MIDI
5계층(Session Layer) - NetBIOS, SAP, SDP, NWLink
4계층(Transport Layer) - TCP, UDP (관련 장비 : 게이트웨이)
3계층(Network Layer) - IP, IPX (관련 장비 : 라우터)
2계층(Data Link Layer) - Ethernet, Token Ring, FDDI, Apple Talk (관련 장비 : 랜카드, 브리지, 스위치)
1계층(Physical Layer) - UDP케이블, 광케이블, 리피터 등 (관련 장비 : 리피터, 허브)

 

4. 시스템에서 모듈 사이의 결합도(Coupling)에 대한 설명으로 옳은 것은?

1. 한 모듈 내에 있는 처리요소들 사이의 기능적인 연관 정도를 나타낸다.
2. 결합도가 높으면 시스템 구현 및 유지보수 작업이 쉽다.
3. 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
4. 자료결합도는 내용결합도 보다 결합도가 높다.

모듈(Module)
 - 모듈은 모듈화를 통해 분리된 시스템의 각 기능들로, 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등과 같은 의미로 사용

결합도(Coupling) : 모듈 간에 상호 의존하는 정도
 - 결합도가 강하면 시스템 구현 및 유지보수 작업이 어려움
응집도(Cohesion) : 모듈이 독립적인 기능으로 정의되어 있는 정도
 - 응집도가 강하면 품질이 높고 약하면 품질이 낮아짐

 

5. 은행가 알고리즘(Banker's Algorithm)은 교착상태의 해결 방법 중 어떤 기법에 해당하는가?

1. Avoidance
2. Detection
3. Prevention
4. Recovery

교착상태(DeadLock) : 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태

교착상태 발생 조건
 - 상호배제(Mutual Exclusion) : 한 번에 한 프로세스만 해당 자원을 사용할 수 있어야 함
 - 점유와 대기(Hold and Wait) : 프로세스가 한 개 이상의 자원을 할당받은 후 다른 프로세스에 할당된 자원을 기다리는 상태
 - 비선점(No Preemption) : 다른 프로세스가 사용중인 자원을 강제로 뺏을 수 없음
 - 순환대기(Circular Wait) : 프로세스들이 순환(원형)을 이루어서 존재, 이를 구성하는 각 프로세스는 이전 프로세스가 요청하는 자원을 점유하고 다음 프로세스가 점유하고 있는 자원을 요청하는 경우(순환대기는 점유와대기, 비선점, 상호배제 조건을 만족해야 발생하는 현상)

교착상태 회피
 - 예방(Prevention)
  - 상호배제(Mutual Exclusion)부정 : 한 번에 여러개의 프로세스가 공유 자원을 사용할 수 있도록 함
  - 점유와 대기(Hold and Wait)부정 : 프로세스가 실행되기 전 필요한 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함
  - 비선점(No Preemption)부정 : 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고 요구한 자원을 사용하기 위해 기다리게 함
  - 순환대기(Circular Wait)부정 : 자원을 선형 순서로 분류하여 고유 번호 할당 및 점유한 자원의 고유 번호보다 앞이나 뒤 어느 한 쪽 방향으로만 자원을 요구하도록 함
 - 회피(Avoidance)
  - 교창상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법으로 주로 은행원 알고리즘(Banker's Algorithm이 사용 됨.
 - 발견(Detection)
  - 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것
 - 회복(Recovery)
  - 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복

 

6. UNIX의 쉘(Shell)에 관한 설명으로 옳지 않은 것은?

1. 명령어 해석기이다.
2. 시스템과 사용자 간의 인터페이스를 담당한다.
3. 여러 종류의 쉘이 있다.
4. 프로세스, 기억장치, 입출력 관리를 수행한다.

쉘(Shell)
 - 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
 - 시스템과 사용자 간의 인터페이스를 담당
 - DOS의 COMMAND.COM과 같은 기능을 수행
 - 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재

커널(Kernel)
 - 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행
 - 하드웨어를 보호, 프로그램과 하드웨어 간의 인터페이스 역할을 담당
 - 프로세스 관리, 기억장치 관리, 파일 관리, 입·출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등

 

7. 교착 상태 발생의 필요 충분 조건이 아닌 것은?

1. 상호 배제(mutual exclusion)
2. 점유와 대기(hold and wait)
3. 환형 대기(circular wait)
4. 선점(preemption)

 

8. OSI-7계층에서 종단간 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류검출과 복구, 흐름 제어를 수행하는 계층은?

1. 전송 계층
2. 세션 계층
3. 표현 계층
4. 응용 계층

 

9. IPv6의 주소체계로 거리가 먼 것은?

1. Unicast
2. Anycast
3. Broadcast
4. Multicast

 

10. TCP/IP 네트워크에서 IP 주소를 MAC 주소로 변환하는 프로토콜은?

1. UDP
2. ARP
3. TCP
4. ICMP

ARP(Address Resolution Protocol, 주소 분석 프로토콜)
 - 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 바꿈
RARP(Reverse Address Resolution Protocol)
 - ARP와 반대로 물리적 주소(MAC Address)를 IP 주소로 변환

 

11. 프로세스 상태의 종류가 아닌 것은?

1. Ready
2. Running
3. Request
4. Exit

프로세스의 상태 종류
- 보류 (pending)
- 준비 (ready)
- 실행 (running)
- 대기 (blocked)
- 교착 (deadlock)
- 완료 (terminated)

 

12. 스레드(Thread)에 대한 설명으로 옳지 않은 것은?

1. 한 개의 프로세스는 여러 개의 스레드를 가질 수 없다.
2. 커널 스레드의 경우 운영체제에 의해 스레드를 운용한다.
3. 사용자 스레드의 경우 사용자가 만든 라이브러리를 사용하여 스레드를 운용한다.
4. 스레드를 사용함으로써 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.

스레드(Thread) : 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
 - 하나의 프로세스에는 하나의 스레드가 존재하는 경우에는 단일 스레드, 하나 이상의 스레드가 존재하는 경우에는 다중 스레드
 - 동일 프로세스 환경에서 서로 독립적인 다중 수행이 가능
 - 스레드 기반 시스템에서 스레드는 독립적인 스케줄링의 최소 단위로서 프로세스의 역할을 담당
 - 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상 시킬 수 있음
 - 응용 프로그램의 응답 시간을 단축
 - 프로세스들 간 통신 향상
 - 공통적으로 접근 가능한 기억장치를 통해 효율적인 통신
 - 실행 환경을 공유하여 기억장소의 낭비를 줄임

 

13. HRN(Highest Response-ratio Next) 스케줄링 방식에 대한 설명으로 옳지 않은 것은?

1. 대기 시간이 긴 프로세스의 경우 우선 순위가 높아진다.
2. SJF 기법을 보완하기 위한 방식이다.
3. 긴 작업과 짧은 작업 간의 지나친 불평등을 해소할 수 있다.
4. 우선 순위를 계산하여 그 수치가 가장 낮은 것부터 높은 순으로 우선 순위가 부여된다.

HRN(Highest Response-ratio Next)
 - 프로세스 처리의 우선 순위를 CPU 처리 기간과 해당 프로세스의 대기시간을 동시에 고려해 선정
 - SJF 기법의 문제점을 보완해 개발

 

14. IEEE 802.11 워킹 그룹의 무선 LAN 표준화 현황 중 QoS 강화를 위해 MAC 지원 가능을 채택한 것은?

1. 802.22a
2. 802.11b
3. 802.11g
4. 802.11e

 

15. C언어에서 사용할 수 없는 변수명은?

1. student2019
2. text-color
3. _korea
4. amount

- 변수의 이름은 영문자(대소문자), 숫자, 언더스코어(_)로만 구성
- 변수의 이름은 숫자로 시작될 수 없음
- 변수의 이름 사이에는 공백을 포함할 수 없음
- 변수의 이름으로 C언어에서 미리 정의된 키워드(keyword)는 사용할 수 없음

 

16. 스크립트 언어가 아닌 것은?

1. PHP
2. Cobol
3. Basic
4. Python

스크립트 언어 : 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어
스크립트 언어 종류
 - JavaScript
 - ActionScript
 - AutoHotKey
 - JSP
 - Perl
 - PHP
 - Python
 - Lua
 - Ruby
 - VBS

 

17. 다음의 페이지 참조 열(Page reference string)에 대해 페이지 교체 기법으로 선입선출 알고리즘을 사용할 경우 페이지 부재(Page Fault) 횟수는? (단, 할당된 페이지 프레임 수는 3이고, 처음에는 모든 프레임이 비어 있다.)

7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0

1. 13
2. 14
3. 15
4. 20

참조열 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0
페이지
프레임
7 7 7 2 2 2 2 4 4 4 0 0 0 0 0 0 0 7 7
  0 0 0 0 3 3 3 2 2 2 2 2 1 1 1 1 1 0
    1 1 1 1 0 0 0 3 3 3 3 3 2 2 2 2 2
부재 발생 F F F F   F F F F F F     F F     F F

 

18. C언어에서 배열 b[5]의 값은?

1. 0
2. 1
3. 2
4. 3

 

19. 응집도가 가장 낮은 것은?

1. 기능적 응집도
2. 시간적 응집도
3. 절차적 응집도
4. 우연적 응집도

기능적 응집도 | 순차적 응집도 | 교환적 응집도 | 절차적 응집도 | 시간적 응집도 | 논리적 응집도 | 우연적 응집도 | 
응집도 강함<---------------------------------------------------------------------------------------------->응집도 약함

 

20. JAVA 언어에서 접근제한자가 아닌 것은?

1. public
2. protected
3. package
4. private

접근 제한자
 - 접근 제한자가 지정된 클래스, 변수, 메서드를 외부(같은 패키지 or 다른 패키지)에서 접근할 수 있도록 권한을 설정하는 것을 의미
접근 제한자의 종류
 - public : 외부의 모든 클래스에서 접근이 가능
 - protected : 같은 패키지 내부에 있는 클래스, 하위 클래스(상속받은 경우)에서 접근이 가능
 - (default) : 접근 제한자를 명시하지 않은 경우로 같은 패키지 내부에 있는 클래스에서 접근이 가능
 - private : 같은 클래스 내에서만 접근이 가능