SW컴퓨팅산업원천기술개발
초소형·고신뢰(99.999%) OS와 고성능 멀티코어 OS를 동시 실행하는 듀얼 운영체제 원천 기술 개발
주관기관 한국전자통신연구원
미 래 창 조 과 학 부
참여연구기관 / 코위버 스마트큐 이노피아테크 MDS테크놀로지 슈어소프트테크
KAIST 세븐코아
포항공과대학교
[보고 서식 제2호]
연차보고서
사업명 SW컴퓨팅산업원천기술개발 과제번호 R0101-15-0081
과제명
(국문) 초소형·고신뢰(99.999%) OS와 고성능 멀티코어 OS를 동시 실행하는 듀얼 운영체제 원천 기술 개발
(영문) Research and Development of Dual Operating System Architecture with High-Reliable RTOS and High-Performance OS
주관기관 한국전자통신연구원 총괄책임자 임채덕
참여기관 (책임자)
코위버(현성규), 스마트큐(배병민), 이노피아테크(이상헌),
MDS테크놀로지(장명섭), 슈어소프트테크(한일영), KAIST(김문주), 세븐코아(허성민), 포항공과대학교(박찬익)
총수행기간 2012. 06. 01. ~ 2017. 02. 28. ( 4 년 9 개월 ) 협약기간 2015. 03. 01. ~ 2016. 02. 29. ( 12 개월 ) 해당년도
수행기간 2015. 03. 01. ~ 2016. 02. 29. ( 12 개월 ) 협약기간
총사업비(천원)
정 부
출연금 14,000,000 민 간 부담금
현금 459,200
계 18,700,000 현물 4,240,800
해당연도 사업비(천원)
정 부
출연금 2,800,000 민 간 부담금
현금 88,600
계 3,740,000 현물 851,400
키워드
(6 ~ 10개) 초소형, 고신뢰, OS, 고성능, 멀티코어, 듀얼, 운영체제, 고가용성
정보통신․방송 연구개발 관리규정 제33조에 의거하여 연차보고서를 제출합니다.
2016 년 1 월 29 일 총괄책임자: 임 채 덕 (인) 주관기관장: 이 상 훈 (인)
미래창조과학부 장관 귀하
목 차
I. 해당 연도 추진 현황 ·······························································································································1
I-1 기술개발 추진 일정 ··························································································································1
I-2 해당 연도 추진 실적 ························································································································3
I-3 해당 연도 기술 개발 내용 요약 ····································································································9
II. 기술개발결과 ··········································································································································18
II-1. 정량적 실적 ····································································································································18
II-2. 논문 실적 ········································································································································18
II-3. 특허 실적 ········································································································································19
II-4. 기술 이전 실적 ······························································································································20
II-5. 기술문서(TM/TDP) ·························································································································20
II-6. 프로그램 ··········································································································································22
II-7. 표준기고서 ······································································································································23
II-8. 성과 홍보 ········································································································································23
II-9. 시제품 ··············································································································································24
II-10. 고용 창출 효과 ····························································································································32
III. 결론 및 차년도 계획 ···························································································································33
III-1. 4차년도 과제 수행 결론 ·············································································································33
III-2. 5차년도 과제 수행 계획 ·············································································································39
Ⅳ. 사업비 사용현황 ··································································································································58
V. 기업 재무건전성 현황 ·························································································································67
VI. 자체보안관리진단표 ····························································································································73
VII. 유형적 발생품(연구시설, 연구장비 등) 구입 및 관리 현황 ·····················································82
별첨 1-1. 듀얼 운영체제 기술 총괄 개요 ····························································································83
별첨 1-2. 멀티코어 지원 듀얼 OS 관리자 기술 ·················································································88
별첨 1-3. 시큐어 부팅 지원 고신뢰 실시간 OS 기술 ·····································································108
별첨 1-4. 듀얼 OS 기반 고성능 CGOS 기술 ·····················································································112
별첨 2-1. 한국산업기술시험원(KTL)에 의한 고성능OS GS 품질 인증 ········································152
별첨 2-2. 수요기업(코위버)에 의한 고성능 OS 성능 평가 ····························································153
Ⅰ. 해당 연도 추진 현황 Ⅰ-1 기술개발 추진 일정
(계획 : 실적 : ) 일
련 번 호
개발 내용 추진 일정(개월)
달성도 분류 상세 내용 3 4 5 6 7 8 9 10 11 12 1 2 (%)
1
듀얼OS 관리 기술
듀얼 OS 하드웨어 자원 관리
기술
메모리 관리 유닛 활용한 디바이스
메모리 파티션 기술 100%
2 멀티코어 프로세서 추상화 기능 구현 100%
3
마이크로 하이퍼바이저
기술
멀티코어 기반 고성능/고신뢰 게스트
OS 멀티 스케줄링 기술 100%
4 인터코어 메시지 파티셔닝 및 우선순위
지원 기술 100%
5 스냅샷 기반 시스템 체크포인트 생성 기술 100%
6 듀얼OS 관리자 응용서비스 100%
7
통합 개발 환경
운영 정책 설정 지원 도구 개발 100%
8 실시간 OS 하드웨어 접근 트레이스 기능 100%
9 정형 검증 및 인증 기술
멀티코어 기반 듀얼 OS 관리 기능의
요구사항 정형 검증 100%
10 인증 획득을 위한 개발문서 개정 100%
11 고신뢰 OS 기술
고신뢰 실시간 OS
기술
고성능 OS 동적 오류 대응 기술 100%
12 실시간 OS 대체 부팅 기술 개발 100%
13
고성능 OS 기술
듀얼 OS 기반 고가용성 확보 기술
듀얼 OS 환경 분석 및 요구사항 및 설계
검토/보완 100%
14 게스트OS간 서비스 전환 기술 개발 100%
15 게스트OS간 체크포인트 동기화
인터페이스 개발 100%
16 고신뢰 실시간 OS 연동 커널 헬스
모니터 개발 100%
18 고속 데이터 동기화 엔진 통합 시험
및 패키징 100%
19
고장감내 TCP 세션 유지 기술
고장감내 TCP 세션 동기화/스위치오버
기술 고도화 100%
20 BGP에 고장감내 TCP 세션 유지 기술 연동 100%
21 BGP Sync 모듈 설계 및 구현 100%
22 고성능/
고수명 플래시 파일 시스템 기술
멀티 헤드 로그 방식 쓰기 구현 100%
23 개선된 Garbage Collection 모듈 구현 100%
24
멀티코어 기반 고성능/고효 율 OS 기술
멀티코어 기반 전력 소모 패턴 분석 100%
25 멀티코어 기반 전력 고효율 OS구조 설계 100%
26 멀티코어 기반 전력 고효율 OS기능 설계 100%
Ⅰ-2 해당 연도 추진 실적
개발 목표 및 내용
성과 달성
도
분류 세부 내용
듀얼 OS 관리 기술
듀얼 OS 하드웨어
자원 관리 기술
메모리 관리 유닛 활용한 디바이스
메모리 파티션 기술
- 게스트 OS의 격리를 위한 디바이스 메모리 파티션 기술 개발 . 2nd stage 메모리 관리 유닛을 활용한 게스트 OS별 디바이스 메모리
접근 권한 설정 기능
. 입출력 장치 에뮬레이션을 통한 디바이스 메모리 접근 제어 및 가상화 기능 (클록관리장치, 인터럽트 컴바이너 지원)
100%
멀티코어 프로세서 추상화 기능
구현
- 쿼드코어 프로세서 지원 멀티코어 프로세서 추상화 기능 구현 . 하드웨어 가상화 지원을 위한 부트로더(u-boot)
* 듀얼 OS 관리자의 구동을 위한 ARM 프로세서 Hyp 모드 진입 및 타이머 설정 기능 구현
. 쿼드코어 지원 환경에서 마이크로 하이퍼바이저 기능 확장 * 쿼드 코어 CPU 가상화를 위한 Hyp 모드 기능 구현 * CPU 실행 코드 설정을 위한 reset handler 제어 기능 구현 * UART 및 GIC, VGIC 설정
* Generic timer 사용을 위한 추가 타이머 기능 구현 . 게스트 OS 이미지 구성
* 커널 configuration 수정을 통한 부팅 가능한 게스트 이미지 구성 * 리눅스 게스트 환경에서 SMP 지원
* 게스트 환경에서 secure state instruction 처리 - 멀티코어 지원 VM간 통신 기법
. 멀티코어 환경에서의 VM간 통신을 위한 전역데이터 보호 * 스핀락을 이용하여 전역데이터를 보호
. 블록 단위 매핑을 지원하는 메모리 공유 기법 개발 - 모듈형 네트워크 장치 지원
. Exynos 기반의 SPI 드라이버 개발
. 고신뢰 운영체제용 모듈형 네트워크 장치(Ethernet) 드라이버 개발
100%
마이크로 하이퍼바
이저 기술
멀티코어 기반 고성능/고신 뢰 게스트 OS
멀티 스케줄링
기술
- 서로 다른 특징의 고성능/고신뢰 게스트 동시 실행을 위한 멀티 스케줄링 기술
. 고성능/고신뢰 게스트 OS 동시 실행 시나리오 지원 * 고신뢰 OS 의 실시간성 지원
* 고성능 OS 의 멀티코어 활용을 위한 작업량 동적 할당 . 고신뢰 가상머신 스케줄링을 위한 CPU Shielding 구현
* 가상 CPU 스케줄링을 위한 cpu_id 에뮬레이션 * 가상 CPU 의 접근 제한을 위한 가상 CPU affinity * 실시간 가상머신 독립 타이머 구현
* 실시간 주기 스케줄링 및 비선점 기능 지원
. 고성능 가상머신의 멀티코어 활용을 위한 스케줄링을 위한 작업 분배 스케줄링
* pCPU 사용률 모니터링 기능 지원
* WFE/WFI 에뮬레이션 vCPU migration 기능 구현
100%
인터코어 메시지 파티셔닝 및
우선순위 지원 기술
- 게스트OS별 격리를 위한 인터럽트 기반인터코어 메시지 파티셔닝 기술 구현
. 게스트 OS의 인터럽트 수신 및 설정 권한 설정 기능
. 구동 중인 게스트 OS의 인터럽트만을 활성화하여 게스트 격리 강화 . 인터럽트 타겟 CPU 가상화 기능
100%
스냅샷 기반 시스템 체크포인트
생성 기술
- 게스트OS 오류 시 최신 데이터 기반 복구를 위한 스냅샷 체크포인트 생성 기술
. 주기적인 게스트 OS 스냅샷 이미지 작성 기능
. 게스트OS 복원시간 단축을 위한 온디맨드 스냅샷 복원 기능
100%
듀얼OS 관리자 응용
- 멀티로터 드론 시스템 시제품
. 드론 시스템의 비행시험 및 검증 수행
. 기존의 드론 비행제어 프로그램을 RTOS와 Linux로 분할 탑재 * 비행제어 시스템은 RTOS에 포팅
* 통신 프로그램은 Linux에 포팅 - 멀티 파티션 기반 IoT 게이트웨이 개발
. Baremetal 응용 어플리케이션: BLE Master Controller . Linux 응용 어플리케이션: IoT Platform Agent . BLE Master Controller와 IoT Platform Agent 간 통신 . Smart Home Monitoring & Control Application - 자동차 생산라인용 도장로봇 시스템
. 실시간 태스크 지원용 게스트 OS와 모니터링용 게스트 OS의 동시 구동 환경 구축
* 실시간 및 모니터링 게스트 OS 공유 디바이스 정의 * 실시간 게스트의 점유 코어 수에 따른 구동 환경 정의
. 로봇 소프트웨어의 동적 모니터링 및 재기동 가능한 고안정 환경 구축 * 실시간 동작 상황에서 동적 모니터링 기능 개발
100%
통합 개발 환경
운영 정책 설정 지원 도구 개발
- 듀얼 OS관리자 및 게스트 OS의 환경 설정 지원 환경설정도구 V2.0 . 듀얼 OS관리자 환경설정 스키마 정의
* 듀얼 OS 관리자 설정 도구의 GUI환경 및 설정 값이 재구성 가능하도록 듀얼 OS 관리자 Description 스키마 정의 * 게스트 OS 설정 도구의 GUI환경 및 설정 값의 스키마 정의 . 재구성이 가능한 GUI 기반의 통합 개발 도구
* 환경 설정 스키마(XSD) 와 인터페이스 화면 구성을 반영한 XML기반 도구 개발
* 사용자에게 Reconfigurable GUI를 제공하는 듀얼 OS관리자 통합개발 도구
100%
실시간 OS 하드웨어
접근 트레이스
기능
- 고성능 OS 하드웨어 접근 트레이스
. 게스트 OS의 상태 모니터링 요소 정의 및 통신모듈 설계 . 하드웨어 접근 트레이스 도구 설계
* 하드웨어 자원별 게스트의 가상 자원 맵핑 패킷 구조 정의 . 하드웨어 트레이스 뷰어 개발
* 각pCPU의 vCPU점유 상태 확인
* 인터럽트 및 캐시 메모리 접근 정보 확인
* 시리얼 인터페이스를 이용한 게스트OS의 동작 상태 확인
100%
정형 검증 및
인증 기술
멀티코어 기반 듀얼 OS
관리 기능의 요구사항 정형 검증
- 멀티코어 기반 듀얼 OS 관리 기능의 요구사항 정형 검증
. 멀티코어 기반 요구사항 정형 검증을 위한 도구 조사 및 정형 검증 적합성 사례 연구 수행
* 멀티코어환경의 동시성오류 탐지 가능 검증 도구 조사
* Linux 커널 3.19 버전의 clocksource 모듈 대상 멀티코어 기반 정형 검증 사례연구 수행
* clocksource 모듈의 멀티코어에서 환경에서 발생하는 NULL 포인터 참조 버그 재현
. 듀얼 OS 관리 기능의 멀티코어 기반 요구사항 정형 검증 수행 * 멀티코어 기능 식별
* lock primitive 및 동시성 프로그램 모델링 * 정형 검증 수행
100%
Automotive SPICE 레벨 3
인증 획득을 위한 표준 및
개발문서 개정
- Automotive SPICE 레벨 3에 적합한 표준 프로세스 및 표준 개발 문서 양식 개정
. 표준 프로세스 개정을 위한 Automotive SPICE 레벨 3 인증 대상 프로세스 측정 지표 확립
. 표준 프로세스 및 표준 개발 문서 양식 개정
- Gap Analysis 결과 및 레벨 2 심사 기준에 맞춘 산출물 보완 - Automotive SPICE 레벨 3에 적합한 개발 계획 수립
. 각 릴리즈별 개발 및 관리/지원 계획 수립 및 체계 확립 - 각 릴리즈별 일관적이고 무결성이 보장된 개발 문서 확보
. SW요구사항 ↔ SW구조설계 ↔ SW상세설계 ↔ 구현 ↔ 단위시험 ↔ 통합시험 ↔ SW시험
- 듀얼 OS 관리자 API 및 요구사항 기반 시험 . Test Framework API 개선 및 시험
. 1차 릴리즈 버전 요구사항 테스트(Test Framework 이용) * 요구사항 기반 테스트 케이스 구현
* 요구사항 기반 테스트 결과 수집 및 결과보고서 작성 . 1차 릴리즈 버전 Controller Tester를 이용한 단위 테스트
100%
고신뢰 OS 기술
고신뢰 실시간 OS 기술
고성능 OS 동적 오류 대응 기술
- 고성능 OS의 동적 오류 대응 기반 기술 개발 . 고신뢰 OS의 고성능 OS 모니터링 기술 개발
* 헬스 모니터링 기반 고성능 OS의 모니터링 데이터 추출 및 저장 * 고성능 OS의 이상 감지 시 오류대응 수행
* 듀얼 코어 고성능 OS의 이상 감지 시 재부팅 기능구현 . 고신뢰 OS의 고성능 OS 오류대응 기술 개발
* 고성능 OS의 네트워크 데이터 전달 및 저장 * 고성능 OS의 오류 발생 시 데이터 전달 및 복구
100%
실시간 OS 대체 부팅 기술 개발
- 암호화/해쉬 기술 기반의 실시간 OS 대체 부팅 기술 개발 . 시스템 시동 단계의 무결성 보장
. 변조 감지 및 대체부팅 기술
100%
고성능 OS
듀얼 OS 기반 고가용성
듀얼 OS 환경 분석 및 요구사항 및
- 고신뢰 실시간 OS 연동 요구사항 명세 및 설계 반영
. 고속 데이터 동기화 처리 기술 요구사항 정의서 (V3.1) 완료
. 고속 데이터 동기화 처리 기술 상세 설계서 (V2.4) 완료 100%