Connection-oriented transport: TCP, TCP flow control,..
TCP 특성 Point to point: 일대일 통신 Reliable, in-order byte stream: 신뢰성 있는, 순서대로 전송되는 바이트 스트림 Full duplex data: 전이중 데이터 통신 Cumulative ACKs(Ack(10)은 0부터 9까지 잘 받았고, 다음으로 10을 기대하는 의미) Pipelining: 윈도우를 사용하여 효율적인 데이터 전송 Connection-oriented: 연결 지향적 Flow control: 흐름 제어 Congestion Control: 혼잡 제어 TCP segment structure: 소스 포트, 목적지 포트, 시퀀스 번호, ACK 번호, 수신 윈도우, 체크섬, 플래그들, 옵션 등으로 구성 TCP segment structure src port#,..
2023. 6. 11.
UDP Server & Client
UDP 추가기능이 없는 전송프로토콜. 세그먼트가 로스될 수도 있고, 세그먼트 순서가 뒤바뀔수도 있는 서비스이다. TCP는 일대일이라서 여러 호스트가 연결하면 각 클라이언트와의 소켓이 필요하다. UDP는 여러 클라이언트와 통신하기 위해 하나의 소켓만 있으면 된다. UDP는 "Connectionless" 방식으로, 서버,클라이언트 모두 하나의 소켓만 이용하면 된다. sendto() #include ssize_t sendto(int sock, void *buff, size_t nbytes, int flags, struct sockaddr *to,socklen_t addrlen); TCP에서는 socket을 열면서 IP,PORT가 설정되어 write시 따로 이를 설정할 필요가 없었는데, UDP는 accept를 ..
2023. 6. 11.
Embedded Linux
Operating System -자원관리 -어플리케이션과 유저에게 서비스 제공(편리한 컴퓨팅 환경) 자원은 물리적 자원, 가상 자원으로 나눌 수 있음 물리자원: Processor, Memory, Disk,.. 가상자원: tasks, segments/pages, files, drivers, ... 임베디드 시스템과 OS OS없이 개발 가능 (아두이노 등) 장점: 개발이 쉽고 간단하다. 작고 최적화된 코드 단점: 복잡한 시스템을 개발하기 힘들다. 메모리,파일 관리가 힘들다. 배우기 힘들다.(HW에 관한 이해가 필요) OS OS의 종류 Android, IOS, Windows, RTOS(Real-Time OS): VxWorks, pSOS ... , UNIX, LINUX 임베디드 시스템에서 OS는 시스템이 커지면..
2023. 4. 25.
퍼셉트론의 학습
퍼셉트론의 학습 퍼셉트론의 학습 알고리즘 개요 -학습 데이터셋 준비(입력,정답) -가중치 초기값 설정 -각 입력에 대해 오차가 감소하도록 가중치 조정 -모든 입력이 정확하게 분류될 때까지 여러번(Many epoch) 반복 학습데이터는 N개의 학습샘플로 구성된다. 각 학습샘플은 퍼셉트론 입력과 정답 쌍(xi,di)으로 구성된다. 각 xi를 퍼셉트론에 입력했을 때 산출되는 yi를 di(정답)와 비교하여 에러를 정정한다. 이 한 번의 과정을 에폭:epoch 라고 한다. 에폭을 많이 돌릴수록 정답에 가까워진다(실제로는 안 그럴수도..) import numpy as np #아래는 학습데이터임 X = np.array([[0,0], [1,0], [0,1], [1,1]]) Y = np.array([-1,-1,-1,1]..
2023. 4. 19.
넘파이를 알아보자(numpy)
0. 넘파이 임포트하기 import numpy as np (np로 사용하기 위해 as np를 붙임) 1. 넘파이 배열 생성하기 x = np.array([0,10,20,30,40,50]) #파이썬 자료형(리스트)를 넘파이 배열로 변환 print(x) print(type(x.dtype),end='') print(x.shape) np.array()에 리스트를 인자로 넘기면 넘파이 배열로 반환. [ 0 10 20 30 40 50] (6,) 이차원 배열 생성 y= np.array([[0,1,2],[10,11,12]]) #2차원 리스트를 넘파이 배열로 생성 print(y) print(type(y.dtype),end='') #데이터타입 출력 print(y.shape) #행과 열을 출력 z=np.zeros_like(y..
2023. 4. 18.