2021/09 84

오픈소스 라이선스_GPL 2.0, GPL 3.0, LGPL, BSD, Apache, MPL

▣ 오픈소스 라이선스_GPL 2.0, GPL 3.0, LGPL, BSD, Apache, MPL 무료 이용가능 배포 허용가능 소스코드 취득가능 소스코드 수정가능 2차적 저작물 재공개 의무 독점SW와 결합가능 GPL O O O O O X LGPL O O O O O O MPL O O O O O O BSD 라이선스 O O O O X O 아파치 라이선스 O O O O X O 오픈소스SW 라이선스의 의무사항은 각각의 라이선스마다 조금씩 차이가 있지만 크게 나누어 보면 공통적으로‘저작권관련문구유지’,‘ 제품명 중복방지’,‘ 서로 다른 라이선스의 SW 조합시 조합 가능 여부확인’등이있고, 선택적으로는‘소스코드공개’,‘ 특허관련사항준수’등이 있다. GNU GPL 2.0 GPL은 현재 가장 많은 오픈소스 소프트웨어가 채택..

시스템구조 2021.09.30

네트워크 장비_부하 분산 기술_4계층(전송 층)_DNS 라운드 로빈, 로드밸런서, L2, L3, L4, L7 스위치, 로드밸런서, 리피터, 허브, 인터 네트워킹

▣ 네트워크 장비_부하 분산 기술_4계층(전송 층)_DNS 라운드 로빈, 로드밸런서, L2, L3, L4, L7 스위치, 로드밸런서, 리피터, 허브, 인터 네트워킹 ■ DNS 라운드 로빈 DNS를 이용해서 하나의 서비스에 여러 대의 서버를 분산 시키는 방법임 완전한 부하분산 솔루션은 아니지만 가장 손쉽고 경제적으로 클라이언트의 웹서버로의 요청을 분산시킬 수 있는 방법 DNS가 클라이언트의 웹서버의 IP를 요청하는 쿼리를 받을 때 마다 여러 대 웹서버 IP주소를 번갈아 가면서 리턴해 주는 방식 - DNS 라운드 로빈 문제점 1. 서버의 수 만큼 공인 IP 주소가 필요함 2. 균등하게 분산되지 않음(DNS 캐싱 때문에 - 클라이언트 및 프록시 서버) 3. 하나의 서버가 다운되었을 때 이를 인지하기 어려움 (..

시스템구조 2021.09.30

컴퓨터 구조_메모리_플래시메모리_낸드 NAND, NOR, SLC, MLC

▣ 컴퓨터 구조_메모리_플래시메모리 NAND, NOR Flash Memory는 EEPROM의 변형이며 전원공급 없이도 기록된 내용을 보존할 수 있는 ROM의 성격과 읽기/쓰기가 모두 가능한 RAM의 성격을 모두 가지고 있는 메모리이다. Flash Memory는 대표적인 비휘발성 메모리로서, D램 처럼 Refresh를 하지 않아도 데이터가 지워지지 않는 특성을 가진다. 구분 NAND NOR 밀도 고밀도 저밀도 읽기/쓰기 Page-oriented 비트 연산(Bitewise) XIP(장소에서 실행) 불가능 가능 읽기/쓰기/지우기 속도 보통/빠름/빠름 매우빠름/느림/매우느림 bit 당 비용 저가 고가 특징 반도체의 셀이 직렬로 배열 하나의 셀로 여러 비트를 저장가능 읽기/쓰기 : 페이지 단위 어드레싱 삭제(덮어..

시스템구조 2021.09.30

컴퓨터 구조_가상메모리_스레싱(thrashing), 페이지 기반 가상메모리, TLB, FIFO, LRU, MRU, 교체, 적중률

▣ 컴퓨터 구조_가상메모리_스레싱(thrashing), 페이지 기반 가상메모리, TLB 다중 프로그래밍과 가상 메모리 사용 환경에서 프로그램 실행보다 페이지 교체에 더 많은 부하가 발생하는 상태 ■ 스레싱의 주요원인 부적절한 페이지 교체 정책 – Belady’s Anomaly – Page Miss율 증가 – 페이지 교체 정책 실패 – page 추가 hit rate 감소 – Small Page Size – 다수 Page 사용 – Paging Overhead 증가 – Paging 시간 > 처리시간 시스템 리소스 부족 – 작은 L2 캐시 – 낮은 메모리용량 – Page Miss Ratio 증가 – 빈번한 Page Fault 발생 – Memory Clock – Single Core – Single Channel..

시스템구조 2021.09.29

사물인터넷프로토콜(IOT)_CoAP, XMPP, MQTT, Tiny OS, 초소형 운영체제

▣ 사물인터넷프로토콜(IOT)_CoAP, XMPP, MQTT, Tiny OS, 초소형 운영체제 구분 MQTT CoAP XMPP 표준화 IETF OASIS IETF 목적 원격메시지 전송 제한된 환경 Instance Message 아키텍처 Publish/Subscribe 브로커 존재 RESTful NAT 환경에서 작동 보장 못함 REST기반으로 CRUD 기능 수행 XML기반 분산 Client/Server 기반 프로토콜 TCP UDP TCP 보안 SSL DTLS SASL*, TLS 특징 통신노드 M:N 전력소모 비교적 높음 QoS(Quality of Service) 자체지원 대역폭이 적고 불안정한 네트워크에서도 사용 가능 메시지 크기를 최소 2byte로 만들 수 있음 통신노드 1:1 전력소모 비교적 낮음 Qo..

시스템구조 2021.09.29

HTTP_REST_CRUD_멱등(idempotence), Creat POST, Read GET, Update PUT, Delete DELETE

▣ HTTP_REST_CRUD_멱등(idempotence), Creat POST, Read GET, Update PUT, Delete DELETE REST(Representational State Transfer) 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미함 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미함 Create : 데이터 생성(POST) Read : 데이터 조회(GET) Update : 데이터 수정(PUT) Delete : 데이터 삭제(DEL..

시스템구조 2021.09.29

블록체인_합의 알고리즘_PoW, Pos, DPoS, BFT, 비트코인

▣ 블록체인_합의 알고리즘_PoW, Pos, DPoS, BFT 구분 설명 작업 증명 (PoW : Proof of Work) 블록생성을 하고자 하는 노드들이 특정한 해시(hash)값을 찾는 연산을 수행하여 특정한 난이도의 작업을 수행했음을 증명 노드의 컴퓨팅 파워에 따라 블록 생성 확률이 높아짐 -> 계산자원 낭비 거의 동시에 블록을 생성할 경우 불필요한 Fork 발생 지분 증명 (PoS : Proof of Stake) 참여자의 소유 지분이 블록 생성권 지분에 반영이 되는 합의 알고리즘 보유하고 있는 화폐의 양에 비례하여 블록을 생성 PoW의 계산자원 낭비 문제를 해결 초기에 코인을 많이 보유한 참여자가 블록 생성에 유리한 초기 코인 분배 문제 (Initial Distribution Problem) 발생 ..

시스템구조 2021.09.28

컴퓨터 구조_CPU_프로그램 실행시간, 명령어수, 클럭 사이클 CPI, 입출력 시간, 속도 CPS, RAM, 암달의 법칙, 스케쥴링, 라운드로빈

▣ 컴퓨터 구조_CPU_프로그램 실행시간 계산, 명령어수, 클럭 사이클, 입출력 시간, 속도, RAM, 암달의 법칙, 스케쥴링, 라운드로빈 프로그램 실행시간 = IC(Instruction Counts, 명령어 수) * CPI(Clock cycles per instruction, 명령어 당 클럭사이클) / Clock rate(Cycles per second, 클럭속도) 초 = IC * CPI / CPS 실명씨클 2018년 87번 정답 : 4번 - 이전 컴파일러 10초 = 명령어수 * CPI(클럭사이클) / 클럭속도 명령어수 = 10초 / CPI * 클럭속도 - 새로운 컴파일러 x초 =(명령어수 * 0.5)*(CPI * 1.1) / 클럭속도 =(10초 / CPI * 클럭속도 * 0.5)*(CPI * 1.1)..

시스템구조 2021.09.28

데이터링크 계층_흐름 및 오류제어 Stop&Wait, Go-Back-n, Selective-Repeat ARQ

▣ 데이터링크 계층_흐름 및 오류제어 Stop&Wait, Go-Back-n, Selective-Repeat ARQ 종류 특징 송신윈도우 수신윈도우 정지 대기 (Stop&Wait ARQ) 송신자는 수신자에게 패킷을 하나 보내고 수신자로부터 ACK응답이 올 때까지 기다림 없음 없음 Go-Back-n ARQ 송신자는 수신자로부터 ACK 응답이 오기전에도 패킷을 보낼 수 있음 오류가 발생된 패킷 이후에 속한 모든 패킷을 다시 재전송 함 2^m-1 1 Selective-Repeat ARQ 송신자는 수신자로부터 ACK응답이 오기 전에도 패킷을 보낼 수 있음 오류가 발생된 패킷만 다시 재전송 함 2^m/2 2^m/2 * 윈도우는 일종의 버퍼임 * m은 프레임 순차번호를 위해 사용하는 비트의 수 2018년 86번 정답..

시스템구조 2021.09.28

서버 가상화_전가상화, 반가상화, 컨테이너 가상화, 하이퍼바이저, 도커, 마이크로서비스 아키텍처(MSA), Type1(베어메탈 방식), Type2(호스티드 방식), 서버리스, 쿠버네티스

▣ 서버 가상화_전가상화, 반가상화, 컨테이너 가상화, 하이퍼바이저, 도커, 마이크로서비스 아키텍처(MSA), Type1(베어메탈 방식), Type2(호스티드 방식) 구분 설명 예시 전가상화 (Full-virtualization) 하드웨어를 완전히 가상하는 것임. 시스템 바이오스, CPU, 메모리 등 시스템의 모든 하드웨어를 가상화 함 게스트(guest) OS 들과 네이티브 하드웨어 사이를 중재(mediate)하는 가상머신(하이퍼바이저)을 사용 게스트OS에서 발생한 하드웨어 접근하기 위해 기존의 OS을 통해서 접근 GuestOS와 H/W사이에 VM을 거쳐 전달하므로 성능은 떨어지지만, GuestOS 수정없이 바로 사용가능 CPU의 도움 필요(CPU-VT기술), VMware ESX서버 반가상화 (Para-..

시스템구조 2021.09.28