Test Exam [FLIP] Flashcards
블록체인기술
▣ 정의 - P2P 네트워크를 이용하여 거래내용을 분산 및 저장함으로써 보안을 강화할 수 있는 기술 ▣ 장점 (탈보신확) - 탈중개성(P2P) - 보안성(공동소유) - 신속성(거래기록 자동실행) - 확자성(연결, 확장 용이) ▣ 블록구조 1) 블록헤더 (80) - 블록크기(4) - 버전(4) - 이전 블록해시(32) - 머클루트(32) - 타임스탬프(4) - 난이도목표(4) 2) 트랜잭션(가변) - 트랜잭션 카운트(1~9) - 코인베이스 트랜잭션 - 트랜잭션 ▣ 블록체인구조 - 블록길이(Depth) - 블록높이(Height) - 이전 블록 해시 -> 다음 블록 ▣ 동작절차 (거암상분) 1) Transaction(거래)단계 - A와 B가 특정 금액 거래 2) Block(암호화)단계 - 거래 내용 블록하나에 저장 및 암호화 3) Chaining(상호연결)단계 - 거래들이 모인 블록을 이전 블록과 연결하여 거대한 관리대장 생성 4) Propagation(분산저장)단계 - 거래에 참여한 여러 대의 컴퓨터 들이 모두 장부를 똑같이 가짐 ▣ 적용 현황 1) 국외 - 산탄데르 은행 : 2022년, 20조 절감 - R3CEV : 이더리움, 11개 은행 테스트 완료 - 씨티그룹 : 시티코인 - IBM : ADEPT, 이더리움, 텔레해시, 비트토렌트 이용 IoT 플랫폼 제시 2) 국내 - 한국은행 : 업계와 공동연구 추진 전략 발표 - KB은행 : 코인플러그와 해외송금 서비스 기술검증
SW 영향 평가 제도
▣ 정의 - 공공과 민간간 불필요한 경쟁 및 SW산업 위촉을 방지하기 위해 공공 정보화사업의 기획단계에서 민간 시장 침해 등 SW 산업 생태계에 미치는 영향을 평가하여 개선의견을 제시하는 제도 ▣ 추진 배경 1) 특정 SW 무상 배포 - 정부가 특정 SW를 국민에게 무상배포 - 관련 SW기업 매출감소 및 산업 생태계 교란 2) 사례 - 안전행정부 온나라 시스템, 국가기록원 표준기록관리시스템, 사학진흥재단 사립대학 회계시스템 - SW사업비 축소, 기업 매출감소 3) 특정 모듈 강제 - 건강보험 심사원 의료기관 용 표준 SW 개발 타당성 연구, 대검찰청 차세대 지식포탈 전자정부프레임워크 의무사용화 - 기존 상용SW 폐기, 유지보수 공공 부담 ▣ 유형 1) 기관 공동 사용형 평가방법 - SW산업계의 파급효과(높음, 낮음) - 사업 추진의 필요성(높음, 낮음) - SW영향평가 결과(사업재검토, 실행유의) 2) 대국민서비스형 평가방법 - 민간 유사서비스 침해여부(매우침해:2개이상, 침해:1개, 침해없음:0개) - 추진 사업의 공공성(높음, 낮음) - SW영향평가 결과(사업재검토, 실행유의)
혼돈(Confusion)
▣ 개념 (암호문과 암호키) - 암호문과 암호키의 관계를 은닉함으로써, 암호문을 이용하여 암호키를 찾는 공격을 방지하는 기법 - 키의 단일비트가 변하면 암호문의 대부분 비트가 변할 수 있음 ▣ 원리 - 평문의 특정 비트를 임의의 특정 값으로 대체 ▣ 효과 - 암호문과 암호키간 관계 해동 방지 ▣ 구현 - Replacement / Substitution (대체) ▣ 주요기법 - S-Box(Substitution) ▣ 암호화구조 1) 확장 P-Box : 확산 2) S-Box (8개) : 혼돈 3) 단순 P-Box : 확산 ▣ 대표 알고리즘 - DES, SEED
확산(Diffusion)
▣ 개념 (암호문과 평문) - 암호문과 평문 사이의 관계를 은닉함으로써, 암호문에 대한 통계테스트를 통해 평문을 유추하는 공격을 방지하는 기법 - 평문의 단일 비트가 변하면 암호문에 특정 비트나 모든 비트가 변할 수 있음 ▣ 원리 - 평문의 각 비트의 재배열 ▣ 효과 - 암호문과 평문간 관계 해동 방지 ▣ 구현 - Transposition / Permutation (치환) ▣ 주요기법 - P-Box(Permutation) ▣ 암호화구조 1) S-Box와 확산함수가 반복적으로 사용되는 구조 2) SubBytes : 혼돈(S-BOX) 3) ShiftRows : 확산(P-BOX) ▣ 대표 알고리즘 - AES, ARIA
JOIN
▣ 개념 - 두 개 이상의 테이블들을 연결 또는 결합하여 하나의 데이터를 출력하는 방법 ▣ 유형 1) 연산자 관계 관점의 유형 - Nested Loop - Sort Merge - Hash Match 2) DBMS 성능 관점의 유형 1) Inner Join - Equi Join - Natural Join 2) Outer Join - Left Outer Join - Right Outer Join - Full Outer Join - Cross Join 4) Self Join
Inner Join
▣ Equi Join - 두 개의 테이블 간 컬럼값이 정확하게 일치하는 경우 사용 - PK <> FK 관계를 기반으로 조인 성립 - 조인 조건은 SQL의 Where절에 "=" 연산자를 사용하여 기술 ▣ Natural Join - Equivalent Join에서 중복 속성 중 하나가 제거된 조인 - 가장 많이 사용되는 조인방식
Outer Join
▣ Left Outer Join
- 하나의 테이블을 기준으로 나머지 테이블을 Left방향으로 조인
- 연결되는 항목에 존재하지 않는 경우, Null로 채움
▣ Right Outer Join
- 하나의 테이블을 기준으로 나머지 테이블을 Right 방향으로 조인
- 연결되는 항목에 존재하지 않는 경우 Null로 채움
▣ Full Outer Join
- 양 쪽 테이블이 데이터를 모두 유지한 채 테이블 병합
- 양쪽 테이블의 모든 row들이 표시되나 “ON” 조건에 기반해서 매칭되는 점이 Cross Join과 상이
- Select * from People p FULL OUTER JOIN Colors c ON p.fk = c.id;
▣ Cross Join
- Cartesian Produc
- 양쪽 테이블의 각각 Row가 매치되며 총 3x3=9 개의 row가 생성됨
- Select * From People p CROSS JOIN Colors C
Self Join
- 동일 테이블 내부의 서로 다른 Column 간의 값들을 비교할 때 편리하게 사용
- Self-join 하기 위해선 테이블을 두 번 리스트-업 한 후, 각각 서로 다른 alias 배정
- Select
Emp1.EmployeeId AS ‘EmployeeID’,
Emp1.EmployeeName AS ‘Employee Name’,
Emp2.EmployeeId AS ‘ManagerID’,
Emp2.EmployeeNames AS ‘Manager Name’
FROM Employee Emp1
INNER JOIN Employee Emp2
ON Emp1.ManagerID = Emp2.EmployeeID
기가파이(Giga-Fi)
▣ 정의
- ISM 대역으로 할당된 60Hz 대역을 사용하여 데이터를 기가급으로 전송할 수 있는 기술
▣ 특징
- 60Ghz ISM Band, 4개 채널, 각 채널당 2.16GHz 대역폭
- 빔포밍을 이용하여 10미터 이내의 전송거리에서 안정적인 통신제공
- AES(Advanced Encryption Standard)암호화 알고리즘을 이용한 향상된 보안기능 제공
- HDMI, DisplayPort, USB, PCle의 기능을 무선으로 구현하도록 지원
▣ 상세스펙
- 주파수대역 : 57~64GHz (무한한 개발가능)
- 전송속도 : 3~6Gbps (UWB 대비 6~12배 성능향상)
- 통신거리 : 10m 이내 (확대가능)
- 응용서비스 : 무선인터넷, HDMI, USB (무선기간망으로 발전)
- 비디오서비스 : 무압축 (고화질 HD그대로 전송)
- 단말기 : TV/STB, 노트북, 핸드폰 (소형화, 저전력화)
- 대부분 60GHz 사용 (표준화 용이 ISO 13156)
▣ 산업화 동향
- 순수 국내 핵심 기술로 세계 최초 유럽, 북미 표준 이어 ISO/IEC 국제 표준 체택
- 세계적으로 주파수 고갈사태로 밀리미터파 대역 사용방안 부각
OSPF (Open Shortest Path First)
▣ 정의
- 링크상태 라우팅 프로토콜에 기초하여 자치시스템(AS : Autonomous System) 내부의 라우터들끼리(IGP) 라우팅 정보를 교환하는 라우팅 프로토콜
▣ 특징
- 빠른 Convergence : 라우팅 정보를 즉시 같은 그룹에 전파
- 작은 Traffic : 변경된 정보만 전송
- CIDR, VLSM 지원 : 서브넷 마스크 정보 함께 전송
- 뛰어난 확장성 : 라우터 제한 없음
- 인증을 통한 Routing Table 교환 : 암호화된 Password 인증
- 멀티케스트를 통한 라우팅 정보 교환 : 토폴로지 변경 시 변경된 정보만 전송
- 효율적인 경로 : Cost 기반 최적의 경로 선택
▣ 경로 계산 개념
- RIP는 경로 계산을 Hop Count를 이용하지만 OSPF는 Hot Count + 대역폭 + 이용도를 계산하여 최적의 경로를 선택
▣ 설계 시 고려사항
- 구조형태 : AREA 계층 구조로써, 트리형태가 아니면 운영불가
- Cost 값 수정 : 모든 OSPF Router에 설정 필요
- Routing 테이블 : 한 AREA에 많은 라우터 존재 시 다익스트라 알고리즘 적용할 경우 CPU자원 과다 사용
- AREA 관리 : 한 개의 AREA 안에 45개 내외의 라우터 수 권장
정보시스템 감리의 목적 및 유형
▣ 정보시스템 감리의 정의 - 감리발주자 및 피감리인의 이해관계자로부터 독립된 자가 정보시스템의 효율성을 향상시키고 안전성을 확보하기 위하여 제 3자의 관점에서 정보시스템의 구축 및 운영 등에 관한 사항을 종합적으로 점검하고 문제점을 개선하도록 하는 것 (전자정부법, 법률 제 11735호(2013.4.5)) ▣ 목적 1) 정보시스템의 요건 준수 (준거성) - 정보시스템을 구축, 운영함에 있어서 정보시스템 관련 법규, 기준, 표준 등을 준수하고 있는지 검토하여 요건의 미준수로 인한 불이익이나 제재 등을 회피하는 것 - 개인정보 보호법 - 행정기관 및 공공기관 정보시스템 구축, 운영 지침 - 공공기관의 데이터베이스 품질관리 지침 - 소프트웨어 사업 대가 기준 - 소프트웨어 기술성 평가 기준 - 소프트웨어 품질 평가 기준 2) 정보시스템의 안전성 향상 - 협의로는 기밀보호를 의미하지만, 일반적으로 정보의 무결성과 운영의 계속성을 포함하는 넓은 의미로 사용 - 기밀성 - 무결성 - 가용성 3) 정보시스템의 효율성 향상 - 투입된 정보시스템의 자원을 충분히 활용하는 것 - 사용자 측면 : turnaround time, response time - 시스템 측면 : throughput, capacity, 자원이용도 4) 정보시스템의 효과성 향상 - 정보시스템이 사전에 설정된 목적을 달성하는 것 - 업무자동화 - 관리자에게 양질의 정보 제공 - 고객에 대한 서비스 개선 ▣ 정보시스템 감리의 유형 1) 공정에 따른 감리 유형 - 기획 및 개발 감리 - 유지보수 감리 - 운영 감리 2) 다양한 시각에 따른 감리 유형 - 정보시스템 수명주기(12207) ∙ 기획감리 ∙ 분석/설계감리 ∙ 구현감리 ∙ 운영감리 - 감리형태 ∙ 상주감리 ∙ 비상주감리 - 사업단계 ∙ 사전감리 ∙ 진행감리 ∙ 사후감리 - 감리 책임 범위 ∙ 일반감리 ∙ 책임감리 - 감리 적용 기술 ∙ 기술감리 ∙ 품질감리 ∙ 사업관리감리 ∙ 보안감리 ∙ 비용감리 - 감리대상 ∙ 제품감리 ∙ 공정감리 - 감리목적 ∙ 체계감리 ∙ 사업감리 ∙ 성과감리 - 감리주체 ∙ 내부감리 ∙ 외부감리
node.js
▣ 개념 - 비동기 방식의 서버 어플리케이션 개발을 위해 V8 엔진 기반의 Server-Side JavaScript를 이용한 개발 프레임워크 ▣ 구성도 - JavaScript - C/C++ - node standard library - node bindings(socket, http, etc) - V8 - thread pool (libeio) - event loop (libev) - DNS (c-areas) - crypto (OpenSSL) ▣ 내부구조 - Event Loop - Single Thread - Delegate - POSIX Async Threads - Non blocking I/O ▣ 장단점 1) 장점 - NPM(Node Package Manager) : npmjs.org 사이트에 5만개 이상 보유 - 비동기 I/O - 이벤트 기반 프로그램 : 싱글 스레드 이면서 고성능 2) 단점 - 고 사양 하드웨어 필요 - 실시간 시스템에 적용 어려움
TCP 혼잡제어
▣ 개념
- 네트워크로 유입되는 사용자 트래픽의 양이 네트워크 용량을 초과하지 않도록 유지시키는 메커니즘 및 기술
▣ 혼잡제어 메커니즘
- 송신자의 전송률 제한 : Congestion Window의 값 조절
- 혼잡 감지 : 손실 이벤트 발생 시 송신률을 줄임
- 전송률의 조절 : Slow Start, Congestion Avoidance, Fast Recovery, Fast Retransmit
▣ 세부기술
1) 기본기술
- Slow Start : 송신측의 TCP에 CWnd를 통해 커넥션이 성립되면 1세그먼트 크기로 시작해서 ACK도착시마다 CWnd는 지수적으로 증가시키는 기법
- Congestion Avoidance : Slow Start의 지수적 증가가 어떤 임계치에 도달하게 되면 혼잡이 일어나게 됨을 간주하고 이를 회피하기 위해 cwnd 크기가 linear하게 증가하여 네트워크 혼잡을 예방하는 기법
2) 개선기술
- Fast Retransmit : TCP에서 Timeout, 수신자측에 발생시키는 Duplicate ACK를 Loss로 판단하는 것
- Fast Recovery : Fast Retransmit 이후 slow start가 아닌 congestion avoidance 상태에서 전송할 수 있도록 하는 기법
B 트리
▣ 정의
- 이진 트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 트리 구조
▣ 조건
- 루트를 제외한 모든 노드는 k/2 ~ k 개의 키를 갖음 (k=각 노드가 가지고 있는 키의 개수)
- 모든 리프 노드는 같은 깊이를 갖음
- 모든 노드는 자식노드를 가질 시 2개 이상의 자식노드를 갖음
캐시 일관성
▣ 캐시 일관성 문제
- SMP와 같은 공유 메모리 방식의 병렬 컴퓨터에서 주 기억 장치(공유 메모리)와 캐시에 저장된 데이터가 달라지는 현상
▣ 캐시 일관성 유지 방식
1) 하드웨어 방식
- 개념 : 캐시 일관성 프로토콜이라고 하며, 잠재적인 불일치 조건들을 run time에 동적으로 검출하는 방식
- 특징 : SW방식에 비해 캐시 이용률이 좋고, 소프트웨어 개발 부담 최소화
- 유형 : 디렉토리 프로토콜, 스누피 프로토콜
2) 소프트웨어 방식
- 개념 : 컴파일러와 OS를 이용하여 잠재된 문제를 검출하는 방식
- 특징 : 설계 복잡도가 하드웨어에서 소프트웨어로 이동하는 장점, Compile time에 문제를 검출해야 하므로 캐시 이용률이 저하되는 단점
- 유형 : 공유 캐시 사용/미사용
▣ 하드웨어 방식
1) 디렉토리 프로토콜
- Full Map : 중앙집중식, 복사본을 가진 Cache를 가리키는 포인터와 상태 저장
- Limited : Full Map Directory를 작게 유지하여 기억장치의 부담 감소
- Cache Directory : 디렉토리 포인터를 Linked List로 연결, Cache에는 디렉토리 정보저장
2) 스누피 프로토콜
- 캐시 제어기 : 스누피 프로토콜을 이용해 다른 캐시와 공유 및 갱신 제어
- 쓰기 갱신(Write-update, Write-broadcast) : 다중 읽기/쓰기 가능, 공유 블록 갱신 시 다른 모든 Cache에 갱신되는 정보를 전달
- 쓰기 무효(Write invalid) : Write 발생시 Cache에 Invalid 메시지를 받으면 각 캐시는 Broadcasting 된 캐시 갱신 정보를 무효화
▣ 소프트웨어 방식
- 공유 Cache 사용 : 모든 프로세서들이 하나의 Cache 사용
- 공유 Cache 미사용 : 공유 변수를 Cache에 저장하지 않는 기법
MESI 프로토콜
▣ 개념
- SMP에서 사용하는 write-invalidate 방식의 Snoopy 프로토콜
- 데이터 캐시는 태그 당 두개의 상태 비트를 포함하여 MSIE 상태 정보 중 하나를 저장
▣ MESI 다이어그램
1) Read miss : E
2) Write hit : E - M
3) Read Miss : E-S
3,4) Read Miss : S
4) Cache miss : M-S
5) Invalidate Signal : S-I, S-M
6) Write hit : M(재귀)
7) Read miss : I-M
8) Write miss : M
▣ Cache 상태 유형
- M(Modified) : 수정 상태, 데이터가 수정(변경)된 상태
- E(Exclusive) : 배타 상태, 유일한 복사본이고, 메인 메모리의 내용과 동일한 상태
- S(Shared) : 공유 상태, 데이터가 2개 이상의 프로세서 캐시에 적재되어 있는 상태
- I(Invalid) : 무효 상태, 데이터가 다른 프로세서에 이해 수정되어 무효화 된 상태
ISO/IEC 25010
▣ 정의 - ISO/IEC 25000(SQuaRE)의 품질 모델 부분 ISO/IEC 2501n(사용상 품질모델, 제품 품질모델, 데이터 품질모델) 중 한 부분으로, 컴퓨터 시스템 및 소프트웨어 제품의 품질에 대한 내부/외부 품질특성을 제시한 국제표준 ▣ 25010 구성 1) 기능 적합성 - 기능 성숙도 - 기능 정확도 - 기능 타당성 2) 수행 효율성 - 시간 반응성 - 요소 활용 - 기억 용량 3) 호환성 - 공존 - 상호 운용성 4) 유용성 - 타당성 식별력 - 학습성 - 운용성 - 사용자 오류 - 보호 - 사용자 인터페이스 미학 - 접근성 5) 신뢰도 - 성숙도 - 가용성 - 결점 완화 - 회복 가능성 6) 보안 - 기밀성 - 무결성 - 부인방지 - 책임성 - 인증성(진본성) 7) 유지 가능성 - 모듈성 - 재사용성 - 분해성(분석성) - 수정 가능성 - 시험 가능성 8) 이동성(이식성) - 적용성 - 설치성 - 대치성
Bit Torrent
▣ 정의 - 개인들간에 P2P로 연결하여 대용량 파일을 빠른 속도로 전송 및 공유하는 프로토콜이자 응용소프트웨어 ▣ 특징 - Piece 파일 이용 : 전송속도 최대화 - 조정자 : 중앙 서버 역할의 트래커 - 적은 대역폭 : 조정자는 실제 파일 내용은 취급 하지 않음 - 1:N공유 : 무수한 세션 생성 ▣ 동작설명 1) 피어와 트래커 간 통신 - HTTP 프로토콜 이용 - 클라이언트에서 토렌트 파일에 포함된 정보를 기반으로 트래커에서 피어리스트 요청 - 트래커는 클라이언트에서 보내온 hash 정보를 기반으로 피어들의 리스트를 알림 - 트래커는 2가지 형태 request 방식지원(Scrape, Announce) 2) 피어간 통신 - BitTorrent 프로토콜 이용 통신 - 파일을 교환하기 위해 서로 정보 주고 받음(HandShake) - 필요 조각 정보를 주기적으로 송수신 3) 동작 절차 - 토렌트 파일(.torrent) 다운받기 - 트래커에 피어 리스트(IP 주소 리스트) 요청하기 : Tracker Request - 피어리스트(IP 주소 리스트) 받아오기 : Tracker Response - 파일 다운로드 받기 ▣ 구성요소 1) 웹서버 2) 메타 정보 파일 - Tracker 주소 및 파일에 대한 해쉬 및 메타 정보 3) 트래커 - P2P 중개 서버 - 각 클라이언트 간, 파일 업/다운 조정 4) 피어 - Seeder : 컨텐츠 서버, 공유 파일의 완전체를 가지고 있는 클라이언트 - Leecher : 공유 파일의 불완전체를 가지고 있는 클라이언트
QoS(Quality of Service)
▣ 개념 - 다양한 통신/응용 서비스에 대해 품질, 성능보장, 사용자 요구를 충족시키는 기술 ▣ 필요성 - 사용자 증가에 따른 통신 품질 저하 - 인터넷 트래픽 양의 증가 - 인터넷 트래픽 내용의 변화 ▣ 특정지표 - 대역폭 : 특정 Application에 할당된 NW자원량 - 지연 : E2E 간 패킷 전달 소요시간 - 패킷손실 : 전송과정 충돌, 간섭 등으로 인한 패킷 Drop - 지터 : 전송되는 패킷의 왜곡된 정도 ▣ 향상기술 1) 스케줄링 - FIFO Queuing - Priority Queuing - CBQ(Class-Based Queuing) - WFQ(Weight Fair Queuing) 2) 트래픽 조정 - Leaky Bucket - Token Bucket - Hybrid 3) 자원예약 - 통합 서비스 모델 4) 수락제어 - Flow Specification 에 따른 흐름 수락 또는 거절 ▣ 기대효과 - 트래픽 분산 처리 및 제어 - 트래픽 차단 및 보안 기능 - 트래픽 분석, 모니터링 - 레포팅
세마포어(비교)
▣ 주체 - OS, 개발자 주체의 동시성 지원 ▣ 상호작용 - 모니터에게 이론적 기반제공 - 모니터에게 효과적인 기법제공 ▣ 특징 - S의 타입에 따라 Binary/Counting 세마포어로 구분 ▣ 구현사례 Semaphores S; P(S); // 검사역할, S--; 임계구역() V(S); //증가역할, S++; ▣ 언어사례 - P, V 연산으로 구현 ▣ 공통점 - 동시성 지원을 위한 조정 기능 수행
모니터(비교)
▣ 주체 - 프로그래밍 언어 수준의 동시성 지원 ▣ 상호작용 - 세마포어의 단점인 타이밍 오류 해결 - 세마포어의 단점인 개발편의성의 보완 ▣ 특징 - 한 시점에 하나의 프로세스만 모니터 내부에서 수행 - 세마포어와 계산 능력은 동일 ▣ 구현방법 Monitor monitor-name { //지역변수 선언 Public entry p1(...) { } Public entry p2(...) { } } ▣ 언어사례 - JAVA의 synchronized Object - .Net 의 모니터 ▣ 공통점 - 동시성 지원을 위한 조정 기능을 수행
데이터베이스 장애 유형을 설명하고 회복 기법 유형 3가지 설명
1. 데이터베이스 장애 유형 개요 가. DB시스템 및 사용자 장애 유형 1) 시스템 장애 - 트랜잭션 장애 : 논리적 오류(내부오류), 시스템 오류(DeadLock) - 시스템 장애 : 전원, 하드웨어, 소프트웨어 고장, 종료안된 Rollback - 디스크 장애 : 스토리지 일부 붕괴, 디스크 블록 파괴 2) 사용자 장애 - 관리 장애 : 이해부족, DBA 실수 나. 장애 관점에 따른 분류 1) 하드웨어 - 미디어 : CPU, Memory, Disk - 시스템 : OS 장애, 병행 프로세스 장애, 인스턴스 장애 2) 소프트웨어 - 트랜잭션 : 논리오류, Data Not Found, Overflow, 비효율적 SQL - 관리장애 : DB이해부족, DBA운영실수 3) 환경 - 데이터 센터 : 항온항습, 온도, 환풍, 전원공급 - 외부환경 : 천재지변, 해킹 2. 데이터베이스 회복기법 가. 데이터베이스 회복 - 장애가 발생했던 이전의 상태로 복구 시켜 일관된 데이터베이스 상태를 만드는 기법 나. 회복기법 특징 - 원자성 : 트랜잭션 단위 회복 (회복단위) - 일관성 : 회복 이후 데이터 일관성 유지 (회복결과) - 독립성 : 회복 수행 중 외부의 요인에 의한 영향성 없음 (회복 수행) - 영속성 : 회복 적용 후 영속성 데이터 저장, 관리 (데이터 관리) 다. 회복을 위한 기본 조치 1) 회복의 기본원칙 (중복) - 데이터의 중복 - Archive 또는 Dump - Log 또는 Jounal 2) 회복을 위한 조치 - REDO (Forward Recovery) : 재실행 - UNDO (Backward Recovery) : 취소연산 3) 시스템 - 회복관리기 3. 회복기법의 유형 1) 로그기반 회복기법 - 즉시 갱신 기법 - 지연 갱신 기법 2) 체크포인트 회복기법 - 검사점 이전에 처리된 트랜잭션은 회복작업에서 제외하고 이후에 처리된 내용에 대해서만 회복작업 수행 - 장애 이전 트랜잭션 종료 : Redo - 장애 시점 트랜잭션 진행 : Undo 3) 그림자페이지 기법 - 현재 테이블은 주기억장치, 그림자 페이지 테이블은 하드디스크 저장 - 트랜잭션 시작 시점에 현재 페이지 테이블의 내용과 동일한 그림자 페이지 테이블 생성 - 트랜잭션 변경 연상 수행 시, 주기억장치의 현재 페이지 테이블의 내용만 변경하고 그림자 페이지 테이블의 내용은 변경하지 않음 - 트랜잭션이 성공적으로 완료될 경우, 현재 페이지 테이블 내용을 그림자 페이지 테이블로 최종 저장 - 장애 발생 시, 그림자 페이지 테이블의 내용을 이용하여 회복 수행
IoT 장치의 설계부터 폐기 단계까지의 LifeCycle 전단계에 걸친 보안 요구사항 및 방안 설명
- IoT 장치의 Lifecycle 전단계에서 보안의 필요성
- IoT 장치 설계/개발 보안
- 배포(재)설치/(재)구성 보안
- IoT 장치 운영/관리/폐기 보안 - 전 단계에서의 보안 요구사항
1) 설계/개발 단계
- 정보보호, 프라이버시 강화 고려한 IoT 제품, 서비스 설계
- 안전한 소프트웨어 및 하드웨어 개발 기술 적용 및 검증
2) 배포/설치/구성 단계
- 안전한 초기 보안 설정 방안 제공
- 보안 프로토콜 준수 및 안전한 파라미터 설정
3) 운영/관리/폐기 단게
- IoT 제품, 서비스의 취약점 보안 패치 및 업데이트 지속이행
- 안전한 운영, 관리를 위한 정보보호 및 프라이버시 관리체계 마련
- IoT 침해사고 대응체계 및 책임추적성 확보 방안 마련 - 전 단계에서의 보안 방안
가. 설계 단계
1) IoT 장치 특성 고려
- 경량 디바이스, 경량 암호기술, 경량 통신기술
2) IoT 서비스 운영환경에 적합한 접근권한 관리
- 인증, 종단 간 통신보안, 데이터 암호화 방안
3) HW/SW 보안기술 적용과 검토 및 안전성이 검증된 보안 기술 활용
- 하드웨어 기반 보안기술, 안전성 검증
4) IoT 장치 및 서비스에서 수집하는 민감정보 처리
- 암호화, 비식별화, 접근관리
5) 민감정보에 대한 이용목적 및 운영정책 가시화 : 투명성 보장
나. 개발 단계
1) 시큐어 코딩 적용
- 설계 부터 개발 단계 까지
2) 취약점 점검 수행 및 보안패치
- 공개 소프트웨어, 점검도구, OWASP
3) 하드웨어 보안 기법 적용
- 펌웨어/코드 암호화
- 실행코드 영역제어
- 역공학 방지기법
다. 배포 설치 단게
1) 안전한 초기 보안 설정 방안
- 제조사 보안설정
2) 보안 프로토콜 준수
- 안전한 파라미터 설정
라. 운영/관리/폐기 단계
1) IoT 제품, 서비스 취약점 패치 및 업데이트 지속 이행
2) 안전 운영관리를 위한 정보보호 및 프라이버시 관리체계 마련
3) IoT 침해사고 대응체계 및 책임추적성 확보 방안 마련
스마트 자동차
가. 스마트 카 개념
나. 자율운행 기술 분류
다. 자동운행 기술 설명
1. 스마트 자동차 개요 가. 개념 - 자동차기술에 차세대 전기전자, 정보통신, 기능제어 기술을 접목하여 자동차의 내외부 상황을 실시간 인식하여 고안전, 고편의기능을 제공할 수 있는 인간 친화적 자동차 = 최근 자율 주행 차량으로 발전 나. 부각 배경 1) 정책적 - 안전규제 및 법규강화 - 정부정책 및 추진전략 수립 2) 경제적 - 자동차/통신/IT 회사 융합 가속화 - 신사업모델, 성장모델 창출필요 3) 사회적 - 고안전, 친환경, 친인간, 사회공존, 융복합 - 패러다임 전환 및 신기술 선제확보 4) 기술적 - 융복합 가속화 및 자동차의 전자화 - 선도기술 R&D 기술확보 필요 2. 자율주행 분류 가. 자율 주행차 발전 단계별 분류 0단계 : 위험 경고 - 수동적 안전 시스템 - 자동제어 없음 1단계 : 선택적 능동 제어 - 1개의 ADAS 장착 - 운전대 또는 패달 중, 선택적 자동 제어 2단계 : 통합 능동 제어 - 2개 이상의 ADAS 장착 - 운전대와 페달을 동시에 자동 제어 3단계 : 제한적 자율 주행 - 제한된 조건(주차장, 자동차 전용도로 등)에서의 자율주행 4단계 : 완전 자율 주행 - 모든 상황, 모든 도로에서 자율주행 나. 자율 주행 기여도별 분류 1) 보조 운행 - 사람과 자동차가 역할 분담 - auto-cruise : 종방향(차), 횡방향(사람) 제어 - 주차보조 2) 자동 운행 - 자동차가 종횡 방향 제어 - 언제던지 사람의 간섭 가능 3) 무인 운행 - 사람이 없는 상태, 자동차 스스로 운행 4) 자율 운행 - 사람의 개입이 필요 없음 3. 자율 주행 주요 기술 가. 정보수집 및 인지기술 1) 첨단 센서와 컴퓨팅 기술 - 운전자 시선 모니터링, 졸음운전과 판단실수에 따른 사고 예방 - 카메라, 초음파 센서, Lidar(Laser Radar), 적외선, GPS, 관성항법장치 (INS, Intertial Navigation System) 2) 통신 기술 - Telematics - WAVE, V2X, DSRC - 5G 3) IoV (Internet of Vehicle) - 안전성, 편의성 추구 - 클라우드 서버 연동 나. 정보처리 및 판단기술 1) 인공지능 - 센서정보 이용 2) 고안전 - 주변상황 감지용 센서 이용 3) 고편의 - 원격제어, 오토비서 등 운전지원기능 - 스마트 정보처리, 모바일 오피스 4) HVI 기술 - Human Vehicle Interface - 사용자 오감, 정서적 만족감, 인간 감성 다. 주행 및 제어기술 1) 첨단 운전자 보조 시스템 - Advanced Driver Assistance System - 차량 자세제어 장치(VDC), 사고발생 순간 감지해 운전자보호하는 에어백 - 전방충돌 회피, 차선 이탈 결고, 사각지대 감시, 후방 감시 2) 조향 장치, 엔진 제어 - 차량주행을 효율적으로 지원 - 조향, 가감속, 기어, 액츄에이터 제어
무선전력전송
가. 무선전력전송의 개념
나. 무선전력전송 기술유형과 개발동향
다. 무선전력전송의 시사점과 정책제안
- 무선전력전송의 개념
- 전자기기에 필요한 전력을 전선 없이 무선으로 공급하는 기술 - 기술유형과 개발동향
가. 기술유형
1) 자기유도 (초근접형)
- 코일 간 전자기유도 현상
- 수 mm ~ 수 cm 근거리
- 수 W ~ 수 kW 전송전력
- 고효율 전송(70%)
- WPC1, PMA2 표준
- 모바일 디바이스, 주방기기 등
2) 자기공진 (근접형)
- 코일간 공명 현상
- ~수 m 원거리
- 수 W ~ kW 전송전력
- 고효율 전송(50~70%)
- A4WP3 표준
- 모바일 디바이스, 정보가전
3) RF 방식 (원격형)
- 안테나 방사원리 (전계)
- 수 mm ~ 수 m 원거리
- 1W 이하
- 스마트 센서 등
4) 에너지 하베스팅
- 전자기, 진동, 열, 빛(광)
- 저효율 에너지 수집
- 인체 안전성
- 모바일 디바이스, 스마트 센서 등
나. 개발 동향
1) 가정내, 옥외의 디지털 가전의 소전력 무선전력전송
- 휴대기기, 노트북, 게임기
- 디지털 카메라, 비디오 카메라
- 벽걸이 TV, 휴대용 TV
2) 디지털 가전의 비접촉 전력전송
- 휴대기기, 노트북
3) 극소전력 무선전력전송
- 스마트 센서
- 웨어러블 디바이스
4) 가전이 중전력 무선전력전송
- 낸장고, 세탁기, 드라이어
- 다리미, 대형 TV
5) 대전력 무선전력전송 및 특수용도
- 전기자동차, 노면전차 - 주요 시사점
- 상호 호환성
- 효율
- 수m 원거리 활성화
- 애플리케이션 다양화
- 전자파 인체 안전성
증강현실
가. 증강현실의 개념
나. 증강현실과 가상현실 비교
다. 증강현실 서비스 활용 사례
1. 증강현실 개념 가. 증강현실의 정의 - 가상객체를 실 세계에 추가하여 가상과 실제공간이 공존하여 실 세계를 보완하는 시스템 나. 증강현실 기술요소 1) HW - 센싱 : 카메라, GPS, 자이로센서, RFID, 광학식 모션 캡쳐 - 디스플레이 : HMD, 휴대용 프로젝터, 모바일 단말 2) 그래픽 - CAD 3) NW - 데이터 통신 : 4G/5G, Wifi 2. 증강현실과 가상현실 비교 - 현실 - 혼합현실 (증강현실, 증강가상) - 가상현실 3. 강현실 서비스 활용 사례 가. 마케팅 측면 - 메이크업 - 가구 배치 - 신발 시착 나. 제조업 측면 - 제조공정관리 - 물류관리 - 조사관리 다. 의료분야 - 의료정보 활용 - 의사 및 간호사 교육 - 건강관리
소프트웨어 테스트 설계 기법
가. 명세기반기법 테스트
나. 구조기반기법 테스트
다. 효율적인 테스트 설계방안 제시
1. 개요 가. 기법의 종류 1) 화이트 박스 테스트 - 구조기반 테스트 - 단위 테스트 2) 블랙 박스 테스트 - 명세기반 테스트 - 통합 테스트 나. 설계 기법 3가지 유형 1) 명세기반 기법 2) 구조기반 기법 3) 경험기반 기법 2. 명세기반 기법 가. 개념 - 분석 및 설계 명세서를 바탕으로 테스트 케이스 작성 및 테스트 데이터를 설계하고, 이를 수행하는 방법 나. 방법 - 동등분할 - 경계값분석 - 원인-결과 그래프 - 오류 예측 기법 - 의사결정 테이블 - 유스케이스 테스팅 - 페어와이즈 테스팅 3. 구조기반 기법 가. 개념 - 특정 커버리지를 달성하기 위한 테스트를 설계하고 케이스를 도출하기 위해 사용되는 테스트 기법 나. 방법 - 기본 경로 검사 - Loop 테스트 - 구문 커버리지 - 결정 커버리지 - 조건 커버리지 - 조건/결정 커버리지 - 변경조건/결정 커버리지 4. 효과적인 테스트 케이스 적용 방안 - 테스트 자동화 - 테스트 전문가 육성 - 품질 보증
병렬컴퓨팅을 Flynn의 분류, 기억장치 엑세스 모델에 따른 분류, 시스템 구성방식에 따른 분류 3가지로 설명하시오
1. Flynn의 분류 개요 가. Flynn의 분류 개념 - 구조적 특징에 따른 병렬컴퓨터 분류 방식으로, 프로세서들이 처리하는 명령어와 데이터 스트림의 수에 따라 분류하는 방식 - 명령어 스트림(Instruction stream) : 프로세서에 의해 실행되기 위하여 순서대로 나열된 명령어 코드들의 집합 - 데이터 스트림(Data Stream) : 그 명령어들을 실행하는 데 필요한 순서대로 나열된 데이터들의 집합 나. Flynn의 분류 1) SISD - CU - PU - MM - 한번에 한 개씩 명령어와 데이터를 순서대로 처리하는 단일프로세서 시스템 2) SIMD - CU - PU*n - MM*n - 배열 프로세스 - 여러 개의 프로세싱 유니트(PU)들로 구성되고, PU들의 동작은 모두 하나의 제어 유니트에 의해 통제 - 모든 PU들은 하나의 명령어 스트림을 실행 - 데이터 스트림은 여러개를 동시에 처리 3) MISD - CU*n - PU*n - MM - N개의 프로세서들이 서로 다른 명령어들을 실행하지만, 처리하는 데이터 스트림은 한 개 - 비현실적이므로 실제 구현된 경우는 없음 4) MIMD - CU*n - PU*n - MM*n - N 개의 프로세서들이 서로 다른 명령어들과 데이터들을 처리 - 프로세서들간의 상호작용 정도에 따라 두 두가지로 분류 - Tightly Coupled System - Loosely Coupled System 2. 기억장치 액세스 모델에 따른 분류 가. UMA(Uniform) - 균일 기억장치 엑세스 모델 - 모든 프로세서들이 상호연결망에 의해 접속된 주기억장치 공유 - 프로세서들은 주기억장치의 어느 영역이든 엑세스할 수 있으며, 그에 걸리는 시간이 동일 - 장점 : 하드웨어가 간단하고, 프로그래밍이 용이 - 단점 : 공유 자원에 대한 경합이 높아지기 때문에 시스템 크기에 한계 나. NUMA(Non-Uniform) - 불균일 기억장치 엑세스 - UMA 모델의 한계를 극복하고 더 큰 규모의 시스템의 구성하기 위한 모델 - 다수의 UMA모델들이 상호연결망에 의해 접속 - 분산 공유-기억장치 구조 - 기억장치 엑세스 시간은 기억장치의 위치에 따라 달라짐 ∙ 지역 기억장치 액세스 ∙ 전역 기억장치 액세스 ∙ 원격 기억장치 액세스 다. NORMA(No-Remote) - 무-원격 기억장치 액세스 - 프로세서가 원격 기억장치는 직접 액세스할 수 없는 시스템 구조 - 프로세서들과 기억장치들은 메시지-전송을 지원하는 상호연결망으로 접속 - 분산-기억장치 시스템으로도 부름 - 주요 연결망 : 매시, 하이퍼큐브, 토러스 라. COMA(Cache-Only) - 캐쉬-온리 기억장치 액세스 - 시스템 내에 기억장치가 존재하지 않음 - 각 프로세서가 가지고 있는 기억장치들이 모두 캐쉬로서 동작하며, 하나의 공통 주소 공간을 가짐 - 다른 캐쉬에 대한 액세스는 분산 캐쉬 디렉토리에 의해 지원 - 초기에는 데이터들이 임의의 캐쉬에 저장되어 있으며, 실행시간 동안에 그 데이터를 사용할 프로세서의 캐쉬로 이동 3. 시스템 구성 방법에 따른 분류 가. SMP(Symmetric MultiProcessor) - 대칭적 다중 프로세서 - 64개 이하의 프로세서들을 가지는 중대형급 시스템 - 완전-공유구조 : 프로세서들이 시스템 내의 모든 자원들을 공유 - 시스템 내의 하나의 OS만 존재 나. MPP(Massively Parallel Processor) - 대규모 병렬 프로세서 - 무공유 구조를 기반으로 하는 대규모 병렬처리시스템 - 수백 혹은 수천 개의 프로세서들로 구성 - 간단한 구조의 노드 프로세서 사용 - 마이크로 커널 수준의 노드 OS 탑재 - 노드들 간의 통신은 message-passing 방식 이용 - 복합도 높은 상호연결망 이용 다. CC-NUMA(Cache-Coherent) - 캐시-일관성 - 독립적인 노드들(UMA or NUMA)이 상호연결망에 의해 접속 - 모든 노드들의 캐시 및 주기억장치들 사이에 데이터 일관성 유지 - 시스템 내의 모든 기억장치들이 전역 주소공간을 가지는 분산 공유 기억장치 시스템 - 장점 : SW변경없이 SMP보다 더 큰 시스템 구축 가능 라. 분산시스템 - 독립적인 노드들이 전통적인 네트워크에 의해 접속 - 노드들 간의 정보 교환 혹은 병렬처리를 수행할 때만 네트워크를 이용하여 통신 마. 클러스터 컴퓨터 - 모든 시스템 자원들을 단일 시스템 이미지로 통합
가. Smart Home 개념
나. 메시지 전달에 사용되는 XMPP, MQTT 설명
다. 디바이스 통신에 사용되는 Z-Wave, Zigbee 비교 설명
ㄴㄴㄴ