반응형

 

프로그램 언어 활용 - 6

 

필수암기 363선

 

251. 인터넷 주소 체계  - IPv4

● 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소이다.

숫자로 8비트씩 4 부분, 총 32비트로 구성되어 있다.

IP 주소는 네트워크 부분의 길이에 따라 A 클래스에서 E클래스까지 총 5단계로 구성되어 있다.

 

252. 인터넷 주소 체계  - IPv6

IPv4의 주소 부족 문제를 해결하기 위해 개발된 것으로, 16비트씩 8 부분, 총 128비트로 구성되며, 각 부분을 16진수로 표현하고, 콜론(;)으로 구분한다.

IPv6 주소 체계 : 유니캐스트(Unicast), 멀티캐스트(Multicast), 애니캐스트(Anycast)

주소의 확장성, 융통성, 연동성이 뛰어나다.

등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장이 용이하다.

 

253. OSI 7 계층 - 데이터 링크 계층(Data Link Layer)

2개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 한다.

흐름 제어, 프레임 동기화, 오류 제어, 순서 제어 등을 수행한다.

프로토콜 : HDLC, LAPB, PPP, LLC 등

 

254. OSI 7 계층 - 네트워크 계층(Network Layer)

개방 시스템들 간의 네트워크 연결을 관리(네트워크 연결을 설정, 유지, 해제)하고 데이터를 교환 및 중계한다.

경로 설정(Routing), 트래픽 제어, 패킷 정보 전송 등을 수행한다.

 

255. OSI 7 계층 - 전송 계층(Transport Layer)

종단 시스템(End-to-End) 간에 투명한 데이터 전송을 가능하게 한다.

전송 연결 설정, 데이터 전송, 연결 해제 기능, 주소 설정, 다중화(데이터의 분할과 재조립), 오류 제어, 흐름 제어 등을 수행한다.

 

∴ OSI 7 계층 [물 - 데 - 네 - 전 - 세 - 표 - 응]

1) 물리 계층

2) 데이터 링크 계층

3) 네트워크 계층

4) 전송 계층

5) 세션 계층

6) 표현 계층

7) 응용 계층

256. TCP / IP  프로토콜 - MQTT

발행-구독 기반의 메시징 프로토콜로, loT 환경에서 자주 사용된다.

 

257. TCP / IP  프로토콜 - TCP

신뢰성(안정성) 있는 연결형 서비스를 제공한다.

패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능을 제공한다.

양방향 연결(Full Duplex Connection) 형 서비스를 제공한다.

스트림(Stream) 전송 기능을 제공한다.

 

258. TCP / IP  프로토콜 - UDP

데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공한다.

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

실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용된다.

 

259. TCP / IP  프로토콜 - ARP

호스트의 IP주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 바꾼다.

반응형
반응형

 

프로그램 언어 활용 - 5

 

필수암기 363선



241. UNIX 시스템 - 커널(Kernel)

● UNIX의 가장 핵심적인 부분이다.

하드웨어를 보호(캡슐화)하고, 프로그램들과 하드웨어 간의 인터페이스 역할을 담당한다.

기능 : 프로세스 관리, 기억장치 관리, 파일 관리, 입·출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등

 

242. 기억장치 관리 전략

종류 : 반입(Fetch) 전략, 배치(Placement) 전략, 교체(Replacement) 전략
배치 전략의 종류

최초 적합 (first fit) 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법
최적 적합 (best fit) 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
최악 적합 (worst fit) 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 크게 남기는 분할 영역에 배치시키는 방법

 

 

 

243. 페이지 교체 알고리즘  - FIFO

각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이즈를 교체하는 기법이다.

예) 다음의 참조 페이지를 세 개의 페이지 프레임을 가진 기억장치에서 FIFO 알고리즘을 사용하여 교체했을 때 페이지 부재의 수는? (단, 초기 페이지 프레임은 모두 비어있는 상태이다.)

1) 참조 페이지를 각 페이지 프레임에 차례로 적재시키되 이미 적재된 페이지는 해당 위치의 페이지 프레임을 사용한다.

2) 사용할 페이지 프레임이 없을 경우 가장 먼저 들어와서 오래 있었던 페이지 2를 제거한 후 5를 적재한다.

3) 그다음에 적재된 페이지 3을 제거한 후 2를 적재하며, 같은 방법으로 나머지 참조 페이지를 수행한다.

 

244. 스래싱(Thrashing)

프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상이다.

 

245. 프로세스 상태 및 상태 전이

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

 프로세스의 상태 전이 : Dispatch, Wake-Up, Spooling

 

246. 스레드의 특징

실행 환경을 공유시켜 기억장소 및 자원의 낭비가 줄어든다.

하나의 프로세스를 여러 개의 스레드로 생성하여 병행성을 증진시킬 수 있다.

하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상할 수 있다.

● 스레드는 프로세스의 일부 특성을 갖고 있기 때문에 경량(Light Weight) 프로세스라고도 한다.

공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신한다.

하나의 프로세스에 하나의 스레드가 존재하는 경우에는 단일 스레드, 하나 이상의 스레드가 존재하는 경우에는 다중 스레드라고 한다.

 

 

247. SJF(Shortest Job First)

예) 스케줄링하고자 하는 세 작업의 도착시간과 실행시간은 다음 표와 같다. 이 작업을 SJF로 스케줄링하였을 때, 작업 2의 종료시간은?

작업 도착시간 실행시간
1 0 6
2 1 3
3 2 4

 

● SJF 스케줄링은 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법이다. 그러나 처음에 도착한 작업 1은 다른 작업과 실행 시간을 비교할 수 없으므로 실행 시간에 상관없이 먼저 수행된다.

 

 작업 1 : 도착하자마자 실행하여 6에서 작업이 완료되므로 대기 시간은 0이고, 반환 시간은 6이다.

 작업 2 : 1에 도착하여 작업 1이 완료될 때까지 대기한 후 작업 1이 완료되는 6에서 실행을 시작하여 9에서 작업이 완료된다. 그러므로 대기 시간은 5이고, 반환 시간은 9이다.

 작업 3 : 2에 도착하여 작업 2가 완료될 때까지 대기한 후 작업 2가 완료되는 9에서 실행을 시작하여 13에 작업이 완료된다. 그러므로 대기 시간은 7이고, 반환시간은 13이다.

 

248. CSMA / CD

 IEEE 802.3 LAN에서 사용되는 전송 매체 접속 제어(MAC) 방식이다.

 

249. HRN(Hightest Response-ratio Next)

예) HRN방식으로 스케줄링할 경우, 입력된 작업이 다음과 같을 때 우선순위가 가장 높은 작업은?

작업 대기시간 서비스시간
A 5 5
B 10 6
C 15 7
D 20 8

 

● HRN 방식의 우선순위 계산식은 대기 시간 + 서비스 시간 / 서비스 시간 이므로 이 식에 대입해서 풀면 된다.

A 작업은 5 + 5 / 5 = 2

B 작업은 10 + 6 / 6 = 2.6

C 작업은 15 + 7 / 7 = 3.1

D 작업은 20 + 8 / 8 = 3.5

결과가 큰 값이 우선순위가 높다.

 

 

250. UNIX의 주요 명령어

 fork : 새로운 프로세스를 생성함(하위 프로세스 호출, 프로세스 복제 명령)

 uname : 시스템의 이름과 버전, 네트워크 호스트명 등의 시스템 정보를 표시함

 wait : fork 후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림

 chmod : 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정함

 ls : 현재 디렉터리 내의 파일 목록을 확인함

 cat : 파일 내용을 화면에 표시함

 chown : 소유자를 변경함

반응형
반응형

 

프로그램 언어 활용 - 4

 

필수암기 363선



231. Python의 if문

if (a == b)
    print("참");
else
   print("거짓");

● a와 b가 같으면 참을 출력하고, 아니면 거짓을 출력한다.

 

232. Python의 for문

range를 이용하는 방식

for i in range(1, 11):
    sum = sum + i

- i에 1부터 10까지 순서대로 저장하며 sum에 i의 값을 누적시키는 실행문을 반복 수행한다.

 

리스트(List)를 이용하는 방식

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in a:
    sum = sum + i

- 리스트 a에 저장된 10개의 요소들을 i에 순서대로 저장하며 sum에 i값을 누적시키는 실행문을 반복 수행한다.

 

 

233. Python의 while문

while i <= 10:
    i = i + 1

- i가 10보다 작거나 같은 동안 i의 값을 1씩 누적시킨다.

 

 

234. Python의 클래스

클래스를 사용하려면 클래스 이름을 정하고 객체 생성을 위한 속성과 메서드(함수)를 정의한 후, 객체를 선언하면 된다.

예제) 다음 Python으로 구현된 프로그램의 출력 결과를 확인하시오.

class Cls:
    x = 10
4)     def add(self, a):
5)         return a + self.x
1) a = Cls()
2) a.x = 5
3) print(a.add(5))

1) Cls 클래스의 객체 a를 생성한다.

2) 객체 a의 변수 x에 5를 저장한다. (a.x = 5)

3) 5를 인수로 a 객체의 add() 메서드를 호출한 후 돌려받은 값을 출력한다.

4) add() 메서드의 시작점이다. 3번에서 전달받은 5를 a가 받는다.

5) a와 객체의 변수 x를 더한 값 10을 메서드를 호출했던 6번으로 반환한다.

6) 5번에서 돌려받은 값 10을 출력한다.

결과 : 10

 

235. Python의 클래스 없는 메서드

C언어의 사용자 정의 함수와 같이 클래스 없이 메서드만 단독으로 사용할 수 있다.

예제) 다음 Python으로 구현된 프로그램의 출력 결과를 확인하시오.

3) del calc(x, y):
4)    x *= y
5)    return x
1) a,b = 3, 4
2) a = calc(a, b)
6) print(a, b)

1) 변수 a와 b에 3과 4를 저장한다.

2) a, b 즉 3과 4를 인수로 하여 calc 메서드를 호출한 결과를 a에 저장한다.

3) calc() 메서드의 시작점이다. 2번에서 전달받은 3과 4를 x와 y가 받는다.

4) x = x * y 이므로 x는 12가 된다.

5) x의 값을 반환한다. x의 값 12를 2번의 a에 저장한다.

결과 : 12, 4

 

236. 스크립트 언어의 종류

 자바스크립트 : 웹 페이지의 동작을 제어하는 데 사용되는 클라이언트용 스크립트 언어

 JSP : JAVA로 만들어진 서버용 스크립트로, 다양한 운영체제에서 사용이 가능함

 PHP : 서버용 스크립트 언어로, Linux, Unix, Windows 운영체제에서 사용 가능함

 Python :

- 귀도 반 로섬(Guido van Rossum)이 발표한 대화형 인터프리터 언어이다.

- 객체지향 기능을 지원하고 플랫폼에 독립적이며 문법이 간단하여 배우기 쉽다.

 Basic: 절차지향 기능을 지원하는 대화형 인터프리터 언어로, 초보자도 쉽게 사용할 수 있는 문법 구조를 가짐

 

 

237. 쉘 스크립트

 유닉스 / 리눅스 계열의 쉘(Shell)에서 사용되는 명령어들의 조합으로 구성된 스크립트 언어이다.

 쉘의 종류 : Bash Shell, Bourne Shell, C Shell, Korn Shell 등

 쉘 스크립트에서 사용되는 제어문 :

- 선택형 : if, case

- 반복형 : for, while, until

 

238. 라이브러리

 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합이다.

 표준 라이브러리 : 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리로, 여러 종류의 모듈이나 패키지로 구성됨

 외부 라이브러리 : 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 것으로, 외부 라이브러리를 다운로드하여 설치한 후 사용함

 

239. C언어의 stdlib.h

 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공한다.

 주요 함수 : atoi, atof, srand, rand, malloc, free 등

 

 

240. UNIX 시스템 - 쉘(Shell)

 사용자의 명령어를 인식하여 프로그램을 호출하고, 명령을 수행하는 명령어 해석기이다.

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

DOS의 COMMAND.COM과 같은 기능을 수행한다.

주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능하다.

반응형

+ Recent posts