Computer Science

    [모바일 네트워크] OSI 7 Layer Model

    7계층 - 응용 계층(Application Layer) 우리가 흔히 사용하는 응용 프로그램(웹 브라우저, 워드프로세서 등) 사용자 인터페이스 제공 전자 우편, 파일 전송, 원격 접속, 자원 할당 등의 사용자 서비스 제공 6계층 - 표현 계층(Presentation Layer) 응용 프로그램에서 사용하는 데이터의 형식 변환, 인코딩, 암·복호화, 압축 등을 담당 ASCII, UTF-8, TXT, JPEG, GIF, MPEG, AVI 등 5계층 - 세션 계층(Session Layer) 응용 프로그램에서의 세션 수립, 관리 및 해제 출발지와 목적지 사이의 세션 관리(대화를 유지하기 위한 구조 제공) 4계층 - 전송 계층(Transport Layer) 출발지와 목적지 종단 간의 데이터 전송, 오류 복구 및 흐름..

    [모바일 네트워크] 통신 프로토콜의 구성 요소 및 기능

    ■ 통신 프로토콜의 구성 요소 1. 구문(syntax): 무엇을 전송할 것인가? (데이터의 형식(format), 부호화 및 신호의 크기 등) 2. 의미(semantics): 데이터를 어떻게 해석할 것인가? (전송의 조정 및 오류 처리를 위한 제어 정보) 3. 타이밍(timing): 데이터를 언제 전송할 것인가? 얼마나 빠른 속도로 전송할 것인가? ■ 통신 프로토콜의 기능 1. 단편화(Segmentation) 및 재조립(Reassembly) 단편화: 주어진 데이터를 일정한 크기의 작은 데이터 블록으로 나누어 전송하는 것 재조립: 분리된 데이터를 수신층에서 재구성하여 원래의 데이터로 복원하는 것(최종적으로 사용자가 이해할 수 있는 형태로 만듦) 정보 전송 시 오류를 줄이거나 전송 효율을 증가시키기 위하여 사..

    [모바일 네트워크] 네트워크의 분류

    ■ 네트워크 규모에 따른 분류 1. LAN(Local Area Network) 수 km 이내의 근거리에 제한된 영역 내에서 사용하는 통신망 회사, 학교, 연구소 등 특정 지역 내의 한정된 공간에서 통신하는 방식 고속통신 가능, 정보 오류율 낮음, 확장이 간편함, 원거리의 다른 LAN과의 접속이 쉬움 2. MAN(Metropolitian Area Network) 수십 km의 도시 지역 통신망(LAN과 WAN의 중간 정도의 중형 통신망) LAN보다 장거리이고 고속이며, 음성과 데이터 모두 전송 3. WAN(Wide Area Network) 광역 통신망(도시나 국가 등 원거리에 있는 컴퓨터들을 연결) LAN이나 MAN에 비해 저속, 전송 오류율이 높음 ※ LAN과 WAN의 비교 구분 LAN WAN 거리 제한 ..

    [임베디드 과제] USB OTG(On-The-GO)

    USB OTG(On-The-GO) USB OTG는 USB 호스트인 컴퓨터 없이, USB 장치끼리 서로 데이터를 주고받을 수 있는 USB 형식의 프로토콜을 말한다. 일반적으로 USB는 Master-Slave 구조로 되어있다. PC 등의 호스트는 Master로서의 기능만 수행한다. 키보드, 마우스, USB 메모리, 스마트폰 등의 USB 장치는 Master에 연결되어 Slave로서의 기능만 수행한다. Slave는 동시에 둘 이상의 Master와 통신할 수 없다. USB OTG를 사용하면 Slave를 Master처럼 사용할 수 있다. 예를 들어, 스마트폰과 마우스를 USB OTG로 연결하면, 스마트폰이 Master, 마우스가 Slave가 된다. 마우스 포인터로 스마트폰을 조작할 수 있다. 방법: OTG 젠더 또..

    [임베디드 과제] USB 버전 및 타입

    1. USB 버전 1) USB 1.0 / USB 1.1 버전명 전송 속도 출시연도 로고 비고 USB 1.0 1.5Mbps ~ 12Mbps 1996 - USB 1.1 1998 USB 1.0의 허브 관련 문제 개선 2) USB 2.0 버전명 전송 속도 출시연도 로고 비고 USB 2.0 480Mbps 2000 - 3) USB 3.2 버전명 전송 속도 출시연도 로고 비고 USB 3.2 Gen 1x1 5Gbps 2008 USB 3.0 → USB 3.1 Gen 1 → USB 3.2 Gen 1x1 USB 3.2 Gen 2x1 10Gbps 2013 USB 3.1 → USB 3.1 Gen 2 → USB 3.2 Gen 2x1 USB 3.2 Gen 1x2 2017 - USB 3.2 Gen 2x2 20Gbps 2017 - 4..

    [알고리즘 과제] 이진 탐색 트리의 구성, 노드의 삽입과 삭제

    1. 이진 탐색 알고리즘(의사 코드) ① 데이터 집합의 중앙값을 선택(이진 탐색 트리에서는 Root 선택) ② 중앙값(Root)과 찾고자 하는 목표값과 비교 ③ 목표값이 중앙값(Root)보다 작으면 왼쪽, 크면 오른쪽의 이진 탐색을 수행. ④ 찾고자 하는 데이터가 발견될 때까지 ①~③ 반복 2. 이진 탐색 트리 구성 과정 30, 50, 20, 35, 15, 60, 55, 70, 25 ① 30: Root 노드가 없으므로 30 삽입. ② 50: 30보다 크므로 오른쪽 탐색. 왼쪽에 50 삽입(하위 노드가 없으므로). ③ 20: 30보다 작으므로 왼쪽 탐색. 왼쪽에 20 삽입. ④ 35: 30보다 크므로 오른쪽 탐색. 50보다 작으므로 왼쪽 탐색. 왼쪽에 35 삽입. ⑤ 15: 30보다 작으므로 왼쪽 탐색. ..

    주소 바인딩(Address Binding) 방식

    1. 주소 바인딩(Address Binding)이란? 프로세스가 실행을 위해 메모리에 적재되면, 프로세스의 논리적 주소가 생성된다. 이 논리적 주소를 실제 물리적 메모리에 연결시키는 작업을 주소 바인딩(Address Binding)이라고 한다. 2. 컴파일 시간 바인딩(Compile Time Binding) 프로세스의 물리적 메모리 주소를 컴파일 할 때 결정하는 기법. 물리적 주소를 변경하고 싶으면 다시 컴파일해야 함. ① 장점: 실행 시간이 가장 빠름(주소 계산 과정이 불필요함) ② 단점: 주기억장치 공간 낭비(컴파일 후 실행 안하는 프로그램) 3. 적재 시간 바인딩(Load Time Binding) 프로세스의 물리적 메모리 주소를 프로그램의 실행이 시작될 때 결정하는 기법. 프로세스가 시작될 때부터 ..

    [정보보호] 여러 가지 암호 기술과 역할

    1. 일방향 해시 함수 1. 개요 일방향 해시 함수(One-way Hash Function)는 임의의 길이를 가진 데이터를 고정된 길이의 해시값으로 변환해주는 함수이다. 일방향 해시 함수의 특징은 다음과 같다. ① 임의의 길이 메시지로부터 고정 길이의 해시값을 계산한다. ② 해시값을 고속으로 계산할 수 있다. ③ 데이터가 다르면 해시값도 다르다. (원래 메시지와 1bit만 차이가 나더라도, 해시값은 완전히 크게 달라짐) ④ 일방향성을 갖는다. (데이터를 해시값으로 변환은 가능, 반대로 원래 메시지로 복원은 불가능) 일방향 해시 함수는 데이터의 무결성을 제공하므로 소프트웨어 변경 검출, 패스워드 기반 암호화, 메시지 인증 코드, 디지털 서명, 의사 난수 생성기, 일회용 패스워드 등 다양한 보안 기술에 응용..

    [알고리즘 과제] 스택의 응용: 사칙연산

    ( 117.32 + 83 ) * 49 1. 중위 표기식(In-order)을 후위 표기식(Post-order)으로 변환하는 과정 연산자 또는 여는 괄호를 만나면 스택에 PUSH한다. 피연산자를 만나면 즉시 출력한다. 닫는 괄호를 만나면 여는 괄호를 POP할 때 까지 계속 POP한다. 연산자를 POP할 때는 동시에 출력한다. 수식의 끝에 도달하면, 스택이 EMPTY 될 때 까지 계속 POP한다. 연산자를 POP할 때는 동시에 출력한다. 여는 괄호를 만남 → 스택에 PUSH 피연산자 '117.32'를 만남 → 출력 연산자 '+'를 만남 → 스택에 PUSH 피연산자 '83'를 만남 → 출력 닫는 괄호를 만남 → 닫는 괄호부터 여는 괄호까지 순서대로 스택에서 POP → 연산자는 POP 하면서 동시에 출력 연산자 ..

    [알고리즘 과제] 이진 트리 순회 및 표기식(전위, 중위, 후위)

    문제: 아래의 이진 트리(Binary Tree)를 전위, 중위, 후위 순회하시오. 1. 전위 순회(Pre-order Traversal) ㄱ. 의사 코드(Pseudo Code) ① Parent 노드를 방문한다. (Start: Root 노드) ② 왼쪽 하위 트리를 방문한다. ③ 오른쪽 하위 트리를 방문한다. (End: 오른쪽 터미널 노드) ㄴ. 전위 순회 결과 순회 순서: ① - ② - ③ - ④ - ⑤ - ⑥ - ⑦ 전위 표기식: + * 1 2 – 7 8 2. 중위 순회(In-order Traversal) ㄱ. 의사 코드(Pseudo Code) ① 왼쪽 하위 트리를 방문한다. (Start: 왼쪽 터미널 노드) ② Parent 노드를 방문한다. ③ 오른쪽 하위 트리를 방문한다. (End: 오른쪽 터미널 노드..