정보처리기사_필기/프로그래밍 언어 활용_문제풀이

2020_06_06 필기기출

느리지만 꾸준하게 2021. 4. 30. 02:35
61. IPv6에 대한 설명으로 틀린 것은?

1.128비트의 주소 공간을 제공한다.

2.인증 및 보안 기능을 포함하고 있다.

3.패킷 크기가 64Kbyte로 고정되어 있다.

4.IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이하다.

 

<문제 해설>
IPv6의 패킷 크기는 임의로 큰 크기의 패킷을 주고 받을 수 있다.
IPv4의 패킷 크기가 64Kbyte로 제한되어있다.

 

 

 

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

1. ^

2. ?

3. &

4. ~

 

<문제 해설>
C언어에서 비트 논리 연산 : & , ^ , | , ~ , << , >>

 

 

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

1.HTTP

2.SMTP

3.FTP

4.TCP

 

<문제 해설>
HTTP/FTP/SMTP ---> OSI7계층 중 7층인 응용계층에서 동작
TCP--------------> OSI7계층 중 4층인 전송계층에서 동작(인터넷4계층에서도 3계층 전송계층 = 동일 층)
HTTP(Hyper Text Transfer Protocol)
FTP(File Transfer Protocol)
SMTP(Simple Mail Transfer Protocol)
TCP(Transmission Control Protocol)---> 단어 그 자체로도 전송계층에서 동작하는 프로토콜임을 알 수 있다.

 

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

1.한 모듈 내에 있는 처리요소들 사이의 기능적인 연관 정도를 나타낸다.

2.결합도가 높으면 시스템 구현 및 유지보수 작업이 쉽다.

3.모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.

4.자료결합도는 내용결합도 보다 결합도가 높다.

<문제 해설>
결합도
모듈 외에 있는 처리요소들 사이의 기능적인 연관 정도
(1.x  응집도에 대한 설명)
결합도가 강할수록 품질이 낮으며, 시스템 구현 및 유지보수 작업이 어렵다.
(2. x)
모듈 간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
(3. o 결합도와 응집도 반비례라고 생각하면 편함 결합이 약하다 -> 응집이 강하다 -> 모듈 독립성이 향상된다.
4.x
(자료 / 스탬프 / 제어 / 외부 / 공통 / 내용 /  -> 갈수록 결합도 강함) 이거 순서 맞춰라고 문제내는 경우도 이전 기출에 있었는데 영어임)
65. 은행가 알고리즘(Banker's Algorithm)은 교착상태의 해결 방법 중 어떤 기법에 해당하는가?

1.Avoidance

2.Detection

3.Prevention

4.Recovery

 

<문제 해설>
은행가 알고리즘은 교착상태의 해결 방법중 회피 기법이다.
[해설작성자 : voidmyhead]

Prevention(예방) : 교착 상태의 원인이 되는 조건 중 하나를 제거
- 상호배제
- 점유와대기
- 비선점
- 환형대기
Avoidance(회피) : 은행가 알고리즘
Detection(탐지) : 자원 할당 그래프
Recovery(복구) : 자원 선점/프로세스 종료

*기출문제에 예방의 교착상태 원인이 아닌 것과 회피, 복구가 나왔었음

 

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

1.명령어 해석기이다.

2.시스템과 사용자 간의 인터페이스를 담당한다.

3.여러 종류의 쉘이 있다.

4.프로세스, 기억장치, 입출력 관리를 수행한다.

 

<문제 해설>
보기 4번은 커널 (Kernel)에 관한 설명입니다.


-쉘(Shell) : 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기이다. 주기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 존재하며 보조 기억 장치에서 교체 처리가 가능하다. 공용 Shell(Bourne shell, C shell, Korn shell)이나 사용자 자신이 만든 Shell을 사용할 수 있다.

-커널(Kernel) : UNIX의 가장 핵심적인 부분. 컴퓨터 부팅시 주기억장치에 적재된 후 상주하며 실행된다. 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 한다.

 

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

1.상호 배제(mutual exclusion)

2.점유와 대기(hold and wait)

3.환형 대기(circular wait)

4.선점(preemption)

<문제 해설>
교착상태 발생의 필요 충분 조건은
상호 배제, 점유와 대기, 환형 대기 , 비선점입니다.
68. OSI-7계층에서 종단간 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류검출과 복구, 흐름 제어를 수행하는 계층은?

1.전송 계층

2.세션 계층

3.표현 계층

4.응용 계층

 

<문제 해설>
응용계층 - 사용자가 OSI환경에 접근할 수 있도록 서비스 제공
표현계층 - 응용계층으로 받은 데이터를 세션계층에 보내기 전에 통신에 적당한 형태로 변환, 세션계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능
세션계층 - 송 수신 측 간의 관련성을 유지하고 대화 제어를 담당한다.
전송계층 - 논리적 안정 및 균일한 데이터 전송 서비스를 제공함으로서 종단 시스템간 투명한 데이터 전송 가능
네트워크 - 개방 시스템들 간의 네트워크 연결을 관리 및 데이터 교환 및 중계
데이터링크 - 두 개의 인접한 개방 시스템들 간 신뢰성있고 효율적인 정보 전송
물리계층 - 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적 기능적 절차 특성에 대한 규칙

 

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

1.Unicast

2.Anycast

3.Broadcast

4.Multicast

 

<문제 해설>
IPv6 : 유니캐스트(unicast) 멀티캐스트(multicast) 애니캐스트(anycast) 세 가지 주소 체계
IPv4가 애니캐스트 말고 브로드캐스트

 

 

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

1.UDP

2.ARP

3.TCP

4.ICMP

 

<문제 해설>
IP주소를 MAC주소로 변환하는 프로토콜 ARP
ARP <-> RARP(MAC주소를 IP주소로)
+ MAC 주소 = 물리적 주소
[해설작성자 : 거상 주작섭]

UDP : 비연결형 서비스 제공 / 실시간 전송 네트워크에서 사용
ARP : IP 주소를 MAC Address로 변환 (논리 주소 → 물리 주소)
TCP : 양방향 연결형 서비스 제공 / 가상 회선 연결 형태의 서비스 제공 / 스트릿 위주 패킷 전달
ICMP : IP와 조합하여 통신 중에 발생하는 오류처리와 전송 경로 변경 등을 위한 제어 메시지를 관리
IGMP : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용

 

     

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

1.Ready

2.Running

3.Request

4.Exit

<문제 해설>
프로세스의 상태 종류
- 보류 (pending)
- 준비 (ready)
- 실행 (running)
- 대기 (blocked)
- 교착 (deadlock)
- 완료 (terminated)
[해설작성자 : 정처기 3회차 붙고싶다]

프로세스 상태종류
- 제출(Submit), 접수(Hold), 준비(Ready), 실행(Run), 대기(Wait), 보류, 블록(Block), 종료(Terminated, Exit)

 

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

1.한 개의 프로세스는 여러 개의 스레드를 가질 수 없다.

2.커널 스레드의 경우 운영체제에 의해 스레드를 운용한다.

3.사용자 스레드의 경우 사용자가 만든 라이브러리를 사용하여 스레드를 운용한다.

4.스레드를 사용함으로써 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.

 

<문제 해설>
프로세스 내에서의 작업단위로 여러 자원을 할당받아 실행하는 프로그램 단위
한 개의 프로세스에는 하나 이상의 스레드가 존재
커널 스레드 : 운영체제 커널에 의해 스레드 운영 / 구현 쉬움 / 속도 느림
사용자 스레드 : 사용자가 만든 라이브러리를 사용해 스레드 운용 / 속도 빠름 / 구현 어렵
하드웨어 운용체제 성능과 처리율을 향상 가능
응용프로그램 응답시간 단축 가능
실행 환경을 공유시켜 기억장소 낭비 줄어듬

 

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

1.대기 시간이 긴 프로세스의 경우 우선 순위가 높아진다.

2.SJF 기법을 보완하기 위한 방식이다.

3.긴 작업과 짧은 작업 간의 지나친 불평등을 해소할 수 있다.

4.우선 순위를 계산하여 그 수치가 가장 낮은 것부터 높은 순으로 우선 순위가 부여된다.

 

<문제 해설>
HRN 스케줄링 방식
- 비선점 스케줄링
     실행시간이 긴 프로세스에 불리한 SJF 을 보완하기 위해
     대기시간 및 서비스 시간을 이용
     우선순위를 계산 숫자가 높은것부터 낮은순으로 순위 부여
     대기시간 + 서비스시간 / 서비스시간 = 우선순위값

 

 

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

 

1.802.11a

2.802.11b

3.802.11g

4.802.11e

 

<문제 해설>
IEEE 802.11 - 워킹 그룹 무선 LAN 표준화. 2.4GHz. CSMA/CA
IEEE 802.11a - 5GHz 대역의 전파를 사용하는 규격으로, OFDM 기술을 사용해 최고 54Mbps까지의 전송 속도를 지원
IEEE 802.11b - Wi-Fi. 11의 스루풋 확장. 11mbps
IEEE 802.11d - 지역 간 로밍용 확장 기술
IEEE 802.11e - QoS. MAC구현 수정. Voice over WLAN, 스트리밍을 위한 기술.
IEEE 802.11f - 인터 엑세스 포인트 프로토콜
IEEE 802.11g - 11b의 스루풋 확장. 54mbps
IEEE 802.11h - DFS, TPC. 5GHz 타장비(레이다) 간섭 해결.
IEEE 802.11i - WPA2
IEEE 802.11j - 일본용 전송 방식
IEEE 802.11k - 전파 자원 측정 확장 기술
IEEE 802.11n - 40MHz대역"폭". g의 스루풋 확장. 600mbps.
IEEE 802.11p - 빠르게 움직이는 운송 수단을 위한 무선 접속 기술
IEEE 802.11r - 빠른 로밍
IEEE 802.11s - ESS 메쉬 네트워킹
IEEE 802.11t - 무선 성능 예측 (WPP)
IEEE 802.11u - 802.11 기반이 아닌 네트워크와의 상호 연동
IEEE 802.11v - 무선 네트워크 관리
IEEE 802.11w - 보호된 관리 프레임

 

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

1.student2019

2.text-color

3._korea

4.amount

 

<문제 해설>
영어 숫자 _ 사용가능
첫글자는 영어 or _
예약어 변수명으로 불가능
대소문자 구분

 

76. 스크립트 언어가 아닌 것은?(오류 신고가 접수된 문제입니다. 반드시 정답과 해설을 확인하시기 바랍니다.)

1.PHP

2.Cobol

3.Basic

4.Python

 

<문제 해설>
javascript
ASP
JSP
PHP
Python
basic

 


베이직은 절차적 언어 아닌가요?


[관리자 입니다.
전공자로써 한말씀 드리자면
흠님.... 문제에서 객체지향, 절차적 언어 뭐 이런걸 물은게 아닙니다.
혼돈하신것 같은데요..

스크립트 언어인지 물었습니다.
스크립트 언어는 크게 두가지로 분류 됩니다.
서버 스크립트 언어, 클라이언트 스크립트 언어
이거 두개 아닌걸 찾으면 됩니다.

 

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

     

1.13

2.14

3.15

4.20

 

<문제 해설>
7
70
701
201
/
231
230
430
420
423
023
/
/
013
012
/
/
712
702

총 14개 / 가장 오래있는 것 자리 교체

 

 

 

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

     

1.0

2.1

3.2

4.3

 

<문제 해설>
배열 수가 9개이고 3개의 값만 초기화 되어 있다.
순서대로 b[0]=1, b[1]=2, b[2]=3 이고 b[4],b[5]...b[8]=0 이다.
[해설작성자 : ㄱㅁㅅ]

흠 ㄱㅁㅅ님 말씀에 보태자면 static이라서 0으로 초기화되는 것입니다.
만약 local에서 static이 아니라면 랜덤값일 겁니다
[해설작성자 : 열이]

[관리자 입니다.
열이님 해설이 약깐 논란이 될듯 하여 추가 설명해 두겠습니다.

랜덤이라는 표현보다는 가비지(쓰레기) 값이 들어 있다는 표현이 더 정확합니다.
배열이 할당받은 메모리에 들어 있는 초기치는
기본적으로 이전에 사용한 프로그램이나 변수들이 사용할때 들어갔던 값들을
그대로 사용하게 됩니다.
즉, static 이 아니라면 메모리가 초기화 되지 않습니다.

 

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

1.기능적 응집도

2.시간적 응집도

3.절차적 응집도

4.우연적 응집도

 

<문제 해설>
기능적 / 순차적 / 교환적 / 절차적 / 시간적 / 논리적 / 우연적 -> 갈수록 응집도 약함
영어로 더 잘 나오니까 영어로 외우세요

기능적(Functional cohesion) / 순차적(Sequential cohesion) / 교환적(Communication cohesion) / 절차적(Procedural cohesion) / 시간적(Temporal cohesion) / 논리적(Logical cohesion) / 우연적(Coincidental cohesion) -> 갈수록 응집도 약함

 

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

1.public

2.protected

3.package

4.private

 

<문제 해설>
JAVA 언어 접근 제한자
public : 모든 접근 허용
protected : 같은 패키지에 있는 객체와 상속관계 객체들만 허용
default : 같은 패키지에 있는 객체들만 허용
private : 현재 객체 내에서만 허용