# 4. 자격증/정보처리기사

정보처리기사 # 2021.05_4과목 프로그래밍 언어 활용

둥굴둥굴둥굴레차 2021. 8. 11. 02:30

 

 

다음 설명에 해당하는 방식은?


     1. STA
     2. Collision Domain
     3. CSMA/CA
     4. CSMA/CD

 - CSMA/CA(Carrier-sense multiple access with collision avoidance) "충돌 방지"
무선 랜에서 데이터 전공 시, 매체가 비어있음을 확인한 후 충돌을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방식. 네트워크에 데이터의 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비해 확인 신호를 전송한다.

- CSMA/CD(Carrier-sense multiple access with collision detection) "충돌 감지"
이더넷에서 각 단말이 정송 공유 매체에 규칙있게 접근하기 위한 매체 엑세스 제어 방식

- Collision Domain "충돌 도메인"
충돌 발생을 검출할 수 있는 브리지 간 혹은 다른 계층 장치 간의 이더넷 세그먼트 범위

 

 

다음 중 가장 약한 결합도(Coupling)는?
     
     1. Common Coupling
     2. Content Coupling
     3. External Coupling
     4. Stamp Coupling

[결합도] 내공외 제스데
내용(content) - 가장 강한 결합도
공통(common )
외부(external)
제어(control)
스탬프(stamp)
자료(data) - 가장 약한 결합도


[내용 결합도]
 - 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.

[공통 결합도]
 - 두 모듈이 동일한 전역 데이터를 접근한다면 공통결합 되어 있다고 한다.

[제어 결합도]
 - 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용하여 통신하는 경우
 - 하위 모듈에서 상위 모듈로 제어신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도현상이 발생하게 되는 결합도

[스탬프 결합도]
- 모듈 간 자료 구조 전달될 때 변화가 생기면 그것을 조회하는 모든 모듈에 영향을 미침

[자료 결합도]
 - 어떤 모듈이 다른 모듈을 호출하면서 매게변수나 인수를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리결과를 다시 돌려주는 방식

 

 

 

다음 C언어 프로그램이 실행되었을 때의 결과는?


     1. 3
     2. 4
     3. 7
     4. 10

a = 4 = 00000100 (= 000002200 이라서!)
b = 7 = 00000111 (= 00000222120이라서!)

or 연산자는 둘 중 하나만 1이어도 1로 나타내므로, 00000111 = 7

and 연산자일 경우 and 00000100 = 4

 

 

교착상태의 해결 방법 중 은행원 알고리즘(Banker's Algorithm)이 해당되는 기법은?
     
     1. Detection
     2. Avoidance
     3. Recovery
     4. Prevention

- Detection(탐지) : 교착상태 발생을 허용하고 발생 시 원인을 규명하여 해결 (ex 자원할당 그래프)
- Avoidance (회피) : 교착상태 가능성을 배제하지 않고 적절하게 피해나가는 방법 (ex 은행원 알고리즘)
- Recovery (복구) : 교착상태 발견 후 현황대기를 배제시키거나 자원을 중단하는 메모리 할당 기법 (ex 선점, 프로세스 중지(희생자 선택)
- Prevention(예방) : 교착상태의 필요조건을 부정함으로써 교착상태가 발생하지 않도록 미리 예방하는 방법 (ex 환형대기, 비선점, 점유와 대기, 상호배제 4가지 부정)

 

 

CIDR(Classless Inter-Domain Routing) 표기로 203.241.132.82/27과 같이 사용되었다면, 해당 주소의 서브넷 마스크(subnet mask)는?
     
     1. 255.255.255.0
     2. 255.255.255.224
     3. 255.255.255.240
     4. 255.255.255.248

[Ipv4]
 - 32비트로 이루어져 있다
 - 패킷 크기가 64Kbyte로 고정되어 있다.
 - 유니캐스트, 멀티캐스트, 브로드캐스트(Broadcast) 사용
 - ip주소/서브넷마스크로 표기

서브넷마스크숫자대로 앞에서부터 1을채워서 8개씩 끊어 계산하시면됩니다(2진수)
11111111.11111111.11111111.11100000
255      255      255      224

1의 개수가 27개
[IPv6]
 - 128비트 주소체계를 사용
 - 유니캐스트, 애니캐스트, 멀티캐스트(Multicast) 사용
 - 보안과 인증 확장 헤더를 사용함으로써 IPv4보다 보안성이 강화되었다.
 - IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이하다.
 - 멀티미디어의 실시간 처리가 가능하다.
 - 자동으로 네트워크 환경구성이 가능.
 - 애니캐스트(Anycast)는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방식

 

 

프로세스 적재 정책과 관련한 설명으로 틀린 것은?
     
     1. 반복, 스택, 부프로그램은 시간 지역성(Temporal Locality)과 관련이 있다.
     2. 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 

        이후 가상주소공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
     3. 일반적으로 페이지 교환에 보내는 시간보다 프로세스 수행에 보내는 시간이 더 크면 스레싱(Thrashing)이 발생한다.
     4. 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.

3번) 일방적으로 페이지수행 시간보다 교환시간이 커질 때 발생하는걸 스레싱현상이라 한다.

[스레싱(Thrashing)]
 - 페이지수행 시간보다 교환시간이 커질 때 발생
 - 스레싱 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.

 

 

프레임워크(Framework)에 대한 설명으로 옳은 것은?
     
     1. 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 가능하게 해준다
     2. 소프트웨어 개발 시 구조가 잡혀 있기 때문에 확장이 불가능하다.
     3. 소프트웨어 아키텍처(Architecture)와 동일한 개념이다.
     4. 모듈화(Modularity)가 불가능하다.

[프레임워크(Framework)]
모듈화
재사용성
확장성
제어의 역 흐름

 

 

다음 JAVA 프로그램이 실행되었을 때의 결과는?


     1. 2
     2. 3
     3. 4
     4. 5

do while문: 최초 1번은 실행
do while문에서 cnt++ 후위 증가연산이 실행되므로
cnt=1 while 문의 조건이 0보다 작을경우이므로 루프를 빠져나옴
루프를 빠져나오고 if문 cnt=1 == 1 (참)
cnt++ 후위 증가연산 실행
System.out.printf 문에서 정수형으로 출력 → 정답은 2

 

 

리눅스 Bash 쉘(Shell)에서 export와 관련한 설명으로 틀린 것은?
     
     1. 변수를 출력하고자 할 때는 export를 사용해야 한다.
     2. export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다.
     3. 사용자가 생성하는 변수는 export 명령어 표시하지 않는 한 현재 쉘에 국한된다.
     4. 변수를 export 시키면 전역(Global)변수처럼 되어 끝까지 기억된다.

리눅스에서 변수 출력은 echo $변수명

 

 

다음 C언어 프로그램이 실행되었을 때의 결과는?


     1. 1
     2. 11
     3. 66
     4. 98

ascii code talbe을 참조하면

A는 10진수로 나타냈을 때, 65
a는 10진수로 나타냈을 때, 97
부터 알파벳이 시작

 

 

다음 C언어 프로그램이 실행되었을 때의 결과는?


     1. 55
     2. 77
     3. 121
     4. 132

2차원 배열의 시작순서는 11> 22> 44> 55
도식화 하면
11 / 22
44 / 55
*는 포인터를 의미. 포인터는 주소값.
*p 포인터 p변수에 a배열의 [0]주소값을 넣어줌.
그러나 (p+i)에서 p는 a배열의 [0] 주소값을 가지고 있으나 i = 1로 설정했기때문에
a[1]주소값을 뜻한다. 즉, *p는 첫 for문에서 a[1]주소값을 뜻한다.
22+44+55 = 121이다.

 

 

페이징 기법에서 페이지 크기가 작아질수록 발생하는 현상이 아닌 것은?
     
     1. 기억장소 이용 효율이 증가한다.
     2. 입·출력 시간이 늘어난다.
     3. 내부 단편화가 감소한다.
     4. 페이지 맵 테이블의 크기가 감소한다.

[페이지 크기가 작은경우] - 더 많은 페이징 사상 테이블이 필요한 것 외에는 모두 좋다.
더 많은 페이징 사상테이블 필요
내부 단편화 감소
페이지의 집합을 효율적으로 운영가능
기억장치의 효율이 좋음
총 입출력 시간 증가

[페이지크기가 큰 경우]
주기억 장치 공간 절약
참조되는 정보와 무관한 양의 정보가 주기억 장치에 남게 됨
테이블이 복잡하지 않아 관리 용이

 

 

다음 중 가장 강한 응집도(Cohesion)는?
     
     1. Sequential Cohesion
     2. Procedural Cohesion
     3. Logical Cohesion
     4. Coincidental Cohesion

[응집도의 순서] 기차교환절차 신논현 (기차교환절차시논연)

기능적(Functional) 응집도 - 응집도 가장 강함
순차적(Sequential) 응집도
교환적(Communication) 응집도
절차적(Procedural) 응집도
시간적 응집도(Temporal)
논리적(Logical) 응집도
우연적(Coincidental)응집도 - 응집도 가장 약함


1. 기능적 응집도(Functional Cohesion) : 모듈 내 모든 요소들이 단일 기능을 수행
2. 순차적 응집도(Sequential Cohesion) : 모듈 내의 한 요소의 출력 자료가 다음 요소의 입력 자료로 사용
3. 교환적 응집도(Communication Cohesion) : 모듈 내의 요소들이 동일한 입출력 자료로 서로 다른 기능을 수행
4. 절차적 응집도(Procedural Cohesion) : 모듈 수행 요소들이 반드시 특정 순서대로 수행
5. 시간적 응집도(Temporal Cohesion) : 특정 시간에 실행되는 기능들을 모아 작성된 모듈
6. 논리적 응집도(Logical Cohesion) : 논리적으로 유사한 기능을 수행 하지만 서로의 관계는 밀접하지 않음
7. 우연적 응집도(Coincidental Cohesion) : 모듈 내 요소들이 뚜렷한 관계가 없이 존재, 어떠한 의미 있는 연관관계도 지니지 않은 기능 요소로 구성되고 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우

 

 

TCP 프로토콜과 관련한 설명으로 틀린 것은?
     
     1. 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
     2. 흐름 제어(Flow Control)의 기능을 수행한다.
     3. 전이 중(Full Duplex) 방식의 양방향 가상회선을 제공한다.
     4. 전송 데이터와 응답 데이터를 함께 전송할 수 있다.

1번은 데이터 링크 계층에 해당하는 설명

[TCP]
 - 트랜스포트(전송) 계층
 - 순서제어, 오류제어, 흐름제어(Flow Control)의 기능을 수행
 - 전이 중(Full Duplex) 방식의 양방향 가상회선을 제공
 - 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
 - 송신중에 링크를 유지관리하므로 신뢰성이 높은 연결 지향형 전달 서비스다.
 - 스크림 전송 기능을 제공한다.
 - 기본 헤더 크기는 최소 20byte 최대 60byte / 헤더에 Option값 포함 시 최대 40byte 추가 가능

[IP]
 - 네트워크 계층
 - 데이터 주소를 지정하고 경로 설정
[ICMP]
 - IP와 조합하여 통신중의 오류처리와 전송 경로 변경등을 위한 제어 메세지 관리
[IGMP]
 - 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹유지를 위해 사용
[ARP]
 - TCP/IP에서 사용되는 논리주소(IP주소)를 물리주소(MAC 주소)로 변환시켜 주는 프로토콜
[RARP]
 - ARP 반대 (물리적 주소를 IP 주소로 변환

[데이터 링크 계층]
 - 물리적 연결을 이용해 신뢰성 있는 정보를 전송하려고 동기화, 오류제어, 흐름제어 등의 전송에러를 제어
 - 인접한 노드 사이의 프레임 전송 및 오류를 제어
 - OSI-7Layer에서 링크의 설정과 유지 및 종료를 담당

 

 

C언어에서 연산자 우선순위가 높은 것에서 낮은 것으로 바르게 나열된 것은?


     1. ㉠, ㉥, ㉣, ㉢, ㉡, ㉤
     2. ㉠, ㉣, ㉥, ㉢, ㉡, ㉤
     3. ㉠, ㉣, ㉥, ㉢, ㉤, ㉡
     4. ㉠, ㉥, ㉣, ㉤, ㉡, ㉢

증감 연산자( ++ -- ) - 연산자의 우선순위 높음
산술 연산자( * / %)
산술 연산자( +   - )
시프트 연산자( << >> )
관계 연산자(=< => < > )
관계 연산자( == != )
비트 연산자( & ^ | )
논리 연산자( && ||)
조건연산자(?:)
대입연산자(= += *= /= %= <<= >>=)
순서 연산자( , ) - 연산자의 우선순위 낮음

++
*
+
<<
<=
==
&
&&
?
=, +=
,

 

 

C언어 라이브러리 중 stdlib.h에 대한설명으로 옳은 것은?
     
     1. 문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
     2. 문자열 처리 함수로 strlen()이 포함되어 있다.
     3. 표준 입출력 라이브러리이다.
     4. 삼각 함수, 제곱근, 지수 등 수학적인 함수를 내장하고 있다.

stdlib.hC 언어의 표준 라이브러리
 - 문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
 - 문자열 변환, 사 난수 생성, 동적 메모리 관리 등의 함수들을 포함하고 있다.

st : 스트링(문자열), d : 데이터, lib : 라이브러리 이렇게 외우자. 정확한 정보 아님!! 외우기 위한 용도!!

2. strlen() 함수 → string.h 에 포함되어 있다.
3. 표준 입출력 라이브러리 → stdio.h 
4. 삼각 함수, 제곱근, 지수 등 수학적인 함수 → math.h에 내장되어 있다.

[참고]
stdlib.h 라이브러리의 atoi함수문자열을 정수형으로 변환하는 기능을 제공한다.

1. atoi() : char to int : 문자를 정수로
2. atof() : char to double : 문자를 부동 소수점으로
3. itoa() : int to char : 정수를 문자로
4. ceil() : 소수점값이 나올 때 무조건 올림

 

 

자바스크립트(JavaScript)와 관련한 설명으로 틀린 것은? 
     
     1. 프로토타입(Prototype)의 개념이 존재한다.
     2. 클래스 기반으로 객체 상속을 지원한다.
     3. Prototype Link와 Prototype Object를 활용할 수 있다.
     4. 객체지향 언어이다.

문제 오류로 가답안 발표시 2번으로 발표되었지만 확정 답안 발표시 모두 정답처리 된 문제.

 

 

OSI 7계층 중 네트워크 계층에 대한 설명으로 틀린 것은?
     
     1. 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
     2. 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.
     3. 패킷에 발신지와 목적지의 논리 주소를 추가한다.
     4. 라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.

한 노드에서 다른 노드로 프레임을 전송하는 책임을 갖는 층(Layer)은 데이터 링크 계층

[OSI 7계층 중 네트워크 계층]
 - 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
 - 패킷에 발신지와 목적지의 논리 주소를 추가한다.
 - 라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.