[정보처리기사] 프로그래밍 언어활용

2024. 2. 24. 14:17자격증

반응형

 

 

byte = 1 Byte

short = 2 Byte

int = 4 Byte

long = 8 Byte

 

- CSMA/CA(Carrier-sense multiple access with collision avoidance) "충돌 방지"

- CSMA/CD(Carrier-sense multiple access with collision detection) "충돌 감지"

- Collision Domain "충돌 도메인" 범위

 

strcat 문자열 연결함수

strcmp - 문자열 비교

 

우선순위 높음 --------------------------------------------------------> 우선순위 낮음

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

 

a &&b -> 1   AND연산

a || b -> 1   OR연산

!c -> 0 NOT연산

1 + 1 + 0 = 2 (최종정답)

# C언어 연산자에서는 0이 아닌 모든값은 1(TRUE)로 본다. 그래서 a=1 b=1 c=1 로 바꿔서 대입해도 같은결과가 나온다

 

Int a,b,c에 정의된 값들을 조건절에 대입.

t1= 1&&2 *&&는 좌우가 모두 참이여야 함, 좌우에 모든 값

이 존재함으로 1=

t2=1||2 *||는 좌우 중 1개만 참이어도 참, 좌우 모든 값이

존재함으로 1=

t3=!c *!NOT연산으로 3의 값이 없음을 말하기에 0=거짓

그래서 1+1+0 =2

 

ob1.a = ob1.a + ob1.c[i]    =    0+2+4+6 + 8    = 20

ob2.a = ob2.a + ob2.c[i]    =    0+4+8+12+16 = 40

: 60

 

y = x++;

y=x y=5 값이 나온 숫자는 제외하고, 나머지는 x++ = 5++ 6=x 이다.

결론 : y = 5 , x = 6

 

z = --x;

위에 x=6 이므로 대입하면 --6 => 5=x 값이 나온 숫자는 제외, 나머지 값을 대입하면 z=5

 

:5,5,5

 

<IP 프로토콜에서 사용하는 필드>

 

Header Length : IP 프로토콜의 헤더 길이를 32비트 워드 단위로 표시     

Packet Length : IP 헤더 및 데이터를 포함한 IP 패킷 전체 길이를 바이트 단위로 길이를 표시. (최대값은 65,535 = 2^16 1)

Time To Live : 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간   

Version Number : IP 프로토콜의 버전번호를 나타낸다.

 

생략 오류(omission error): 입력 시 한 자리를 빼놓고 기록한 경우

사본오류(Transcription Error) : 데이터 입력 오류

 

<RIP(Routing Information Protocol)> : 거리 벡터 라우팅 프로토콜

- 라우팅 프로토콜을 IGPEGP로 분류했을 때 IGP(내부)에 해당한다.

- 최단경로탐색에는 Bellman-Ford 알고리즘을 사용한다.

- 최적의 경로를 산출하기 위한 정보로서 홉(거리 값)만을 고려하므로, RIP을 선택한 경로가 최적의 경로가 아닌 경우가 많이 발생할 수 있다.

- 소규모 네트워크 환경에 적합하다.

- 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용

- 최대 홉 카운트를 15이하로 한정하고 있다.

 

<프로세스 스케쥴링>

 

FIFO 스케줄링 : 순서대로, 중요성은 고려되지 않음

SJF(Shortest Job First) : 실행시간 짧은 프로세스 순, 평균 대기시간 적음

HRN 스케줄링 (Higtest Response-ratio Next) : 우선순위 계산,

(대기시간 + 서비스받을 시간)/서비스 받을 시간 -> 값이 클수록 우선순위 높음

 

<운영체제>

1.다중 사용자와 다중 응용프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.

2.CPU, 메모리 공간, 기억 장치, 입출력 장치 등의 자원을 관리한다.

3.운영체제의 종류로는 매크로 프로세서, 어셈블러, 컴파일러 등이 있다.

4.입출력 장치와 사용자 프로그램을 제어한다.

 

<UNIX 운영체제>

- 주로 서버용 컴퓨터에서 사용

- time sharing system을 위해 설계된 대화식 운영체제

- c언어로 작성되어 이식성 높고, 장치간 호환성 높다.

- Multi user, Multi tasking 모두 지원. 트리 구조의 파일시스템

 

<UNIX 명령어>

ls - 디렉토리나 파일목록 출력

cat - 파일 내용 출력

chmod - 파일이나 디렉토리에 대한 접근권한 변경

fork 새로운 프로세스 생성하는 명령어

 

<Thrashing 스레싱>: 페이지수행 시간보다 교환시간이 커질 때 발생

 

<TCP>

흐름 제어(Flow Control)의 기능을 수행한다.

전이중(Full Duplex) 방식의 양방향 가상회선을 제공한다.

전송 데이터와 응답 데이터를 함께 전송할 수 있다.

데이터 전송 후, ACK를 받는다.

 

<UDP>

- 비연결형 및 비신뢰성 전송 서비스를 제공한다.

- 흐름 제어나 순서 제어가 없어 전송 속도가 빠르다.

- 수신된 데이터의 순서 재조정 기능을 지원하지 않는다.

단순 헤더 구조로 오버헤드가 적다.

- 복구 기능을 제공하지 않는다.

TCP와 같이 트랜스포트 계층 존재

 

<시퀀스 (Sequence)>

리스트 타입 : 순서있고, 가변형

튜플 타입 : 순서있고, 불변형

 

a = 4 = 00000100

b = 7 = 00000111

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

and 연산자일 경우 and 00000100 = 4

 

 

mx = a <b ? b : a;

a <b 조건문이 참일 경우 전자인 b, 거짓일 경우 후자인 a mx의 값이 됨

: 3

 

 

<결합도>()()()하라고 강요하지 말아요()()트레스 받()나요

내용(content)공통(common)외부(external)제어(control)스템프(stamp)자료(data)

<응집도>()()()() 기억나?()자랑 ()대 나오길 ()대했는데..

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

 

우연적 : 서로 관련없는 요소로만 구성

논리적 : 유사 성격이나 특정 형태로 분리되는 처리요소들로 모듈 형성

시간적 : 특정 시간에 처리되는 몇개의 기능을 모아 모듈로 구성

절차적 : 모듈이 다수 관련 기능을 가질 때 모듈안의 구성요소들이 그 기능을 순차적으로 수행할 때 응집도.

교환적 : 동일 입출력 사용 시 서로 다른 기능을 수행하는 구성요소가 모였을 경우

순차적 : 활동을 통해 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용하는 경우

기능적 : 모든 기능 요소가 단일 문제와 연관되어 수행될 경우

 

<결합도>

 

1. 스탬프 결합도 - 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다.

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

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

 

결합도: 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미

응집도: 모듈이 독립적인 기능으로 정의되어 있는 정도를 의미

->독립적인 모듈이 되기 위해서는 응집도가 강해야 한다.(결합도는 약해야 한다.)

 

<IP(Internet Protocol)>

: 송신 호스트와 수신 호스트가 패킷 교환 네트워크(Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약이다.

 

<IP특징>

패킷 분할, 병합하는 기능 수행

비연결성 서비스 제공

BestEfort 원칙에 ᄄᆞ른 전송기능 제공

헤더체크섬 기능 제공

 

<페이지 교체 알고리즘> : FIFO/LRU/LFU/NUR

 

OPT - Optimal : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체 사용되지 않은

FIFO - First In First Out : 젤 먼저 들어온거 빼기 중복으로 들어온건 상관x 젤 첨 기준

LRU - Least Recently Used : 가장 오랫동안 사용되지 않은 페이지 교체, 중복 고려o

LFU - Least Frequently Used : 참조 횟수가 가장 작은 페이지 교체

MFU - Most Frequently used : 참조 횟수가 가장 많은 페이지 교체

NUR - Not Used Recently : 최근에 사용하지 않은 페이지 교체

SSTF(Shortest Seek Time First) :현재 헤드위치에서 가장 가까운 것부터 나열.

 

https://doh-an.tistory.com/28 문제 풀어보기

 

<스레드(thread)>

 

커널 스레드

- 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없어 성능을 높임

동시에 여러 스레드가 커널에 접근할 수 있어 여러 스레드가 동시에 시스템 호출 가능

 

사용자 스레드

커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.

 

a[시작점 : 끝점 : 넘어가는 수]

a[:7:2]이면, a[0]~a[6]까지의 값 [0,10,20,30,40,50,60]이고,

이를 2칸씩 넘어가라 했으니 a[0]부터 시작해서 [0,20,40,60]

 

 

더미코드

- 호출 시 로직 없이 응답만 수행하는 모듈

- 단위 테스트 시 아직 미개발 된 모듈을 대체하기 위해 사용

 

인터넷 계층의 프로토콜

- IP : 데이터 주소를 지정하고 경로 설정

- ICMP(Internet Control Message Protocol) : IP와 조합하여 통신중의 오류처리와 전송 경로 변경등을 위한 제어 메세지 관리. TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적

- IGMP : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹유지를 위해 사용

- ARP : 호스트의 IP주소를 네트워크 접속 장치의 물리적 주소로 변환

- RARP : ARP 반대 (물리적 주소를 IP 주소로 변환)

 

a[0]의 주소값이 10일 경우 다음 C언어 프로그램이 실행되었을 때의 결과는?

(, int 형의 크기는 4Byte로 가정한다.)

 

 {14 ,22, 30, 38 }

주소값 10,11,12,13 / 14,15,16,17 / 18,19,20,21 / 22,23,24,25

자리값 a(0) a(1) a(2) a(3)

*1개의 주소값 : 1Byte

printf("%u, ", &a[2];  a[2]자리의 첫번째 주소값     18

printf("%u", a); a[0]자리의 첫번째 주소값     10

 

A Class

      - 국가나 대형 통신망 에 사용

      - 0~127로 시작

      - 2^24개의 호스트 사용 가능

- B Class

      - 중대형 통신망 에 사용

      - 128~191로 시작

      - 2^16개의 호스트 사용 가능

- C Class

      - 소규모 통신망 에 이용

      - 192~223로 시작

      - 2^8개의 호스트 사용 가능

- D Class

      - 멀티캐스트 (한 명 이상의 송신자들이 특정한 한 명이상의 수신자들에게 데이터를 전송하는 방식)용으로 사용

      - 224~339로 시작

 

 

<PHP 연산자>

@ : 에러 제어 연산자

< > : 관계 연산자

=== : 관계 연산자

 

IPv6 : 유니캐스트(unicast) 멀티캐스트(multicast) 애니캐스트(anycast)/128비트의 주소 공간을 제공/인증 및 보안 기능을 포함/ 확장 헤더를 통해 네트워크 기능 확장이 용이

 

IPv4 : 유니캐스트(unicast) 멀티캐스트(multicast) 브로드캐스트(Broadcast)/ 64Kbyte 제한.

 

<OSI 7계층>

1계층 - 물리계층(Physical Layer) : Coax, Fiber, Wireless

2계층 - 데이터 링크계층(DataLink Layer) : Ethernet, SLIP, PPP, FDDI, HDLC

3계층 - 네트워크 계층(Network Layer) : IP, IPSec, ICMP, IGMP

4계층 - 전송 계층(Transport Layer) : TCP, UDP, ECN, SCTP, DCCP

5계층 - 세션 계층(Session Layer) : VARIOUS API;S, SOCKETS

6계층 - 표현 계층(Presentation Layer) : SSL, FTP, IMAP, SSH

7계층 - 응용 계층(Application Layer) : HTTP, FTP, IRC, SSH, DNS

 

str1[1]=str2[2] => str1KOREAOV로 변경

str1= KVREA

str2[3]=str1[4] =>str2LOVEEA로 변경

str2=LOVA

*(p1+2) => p1+2(str1[2]) : R

 

1<<1<=2 // <<n n비트 만큼 왼쪽으로 이동하라는 뜻

// 1binary(2진수)으로 변환하면 1(000000001)이다

// 1<<1 해주면 01(00000010)이 된다

// 10decimal(10진수)로 변환하면 2가된다.

따라서, 2<=2 True(1)

 

shell:

- 사용자 명령을 해석하고 커널로 전달하는 기능

반복적인 명령 프로그램을 만드는 프로그래밍 기능을 제공

초기화 파일을 이용해 사용자 환경을 설정하는 기능

 

커널 : 프로세스, 메모리 관리

 

 

반응형