본문내용 바로가기
무료배송 이벤트 경품 소득공제

임베디드 시스템을 위한 소프트웨어 공학 총론

에이콘 임베디드 시스템 프로그래밍 시리즈
로버트 오샤나 (편저) , 마크 크랠링 (편저) 지음 | 윤희병 옮김 | 에이콘출판 | 2015년 07월 31일 출간
  • 정가 : 60,000원
    판매가 : 54,000 [10%↓ 6,000원 할인]
  • 통합포인트 :
    [기본적립] 3,000원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 3만원 이상 구매 시 2~4% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(20일,토) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 에이콘의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2019.12.31
  • 설문참여 시 매월 5명 추첨통해 선물을 드립니다.
    10. 14 ~ 12. 31
상품상세정보
ISBN 9788960777415(8960777412)
쪽수 1248쪽
크기 188 * 250 * 52 mm /2125g 판형알림
이 책의 원서/번역서 Software Engineering for Embedded Systems/Robert Oshana

책소개

이 책이 속한 분야

[임베디드 시스템을 위한 소프트웨어 공학 총론]은 임베디드 소프트웨어 분야의 전문가가 되길 원하는 모든 사람에게 개념부터 사례 연구까지, 더 나아가 미래 추세까지 제공하는 임베디드 시스템을 위한 소프트웨어 공학 분야의 전문 백과사전이라 할 수 있다. 이 책은 임베디드 시스템 개발을 위한 계층 체계와 임베디드 시스템의 하드웨어/소프트웨어 공동 설계 모델을 정립하고, 각 계층과 공동 설계 모델을 최신 사례 연구와 결합시켜 책의 완성도와 전문성을 높였다.

임베디드 시스템을 위한 소프트웨어 공학 개발의 전 과정을 다루는 이 책은 특히 소프트웨어 성능 공학, 성능/메모리/전력 최적화, 다중 코어 시스템, 애자일 개발 방법론 등을 함께 다루고 있어, 관련 분야에 종사하는 개발자뿐만 아니라 이 분야에 관심을 가진 모든 사람에게도 큰 도움을 주는 귀중한 안내서가 될 것이다.

저자소개

저자 : 로버트 오샤나 (편저)

편저자 로버트 오샤나(Robert Oshana)는 임베디드 소프트웨어 산업 분야에서 30년 이상의 경험을 쌓았으며, 주로 국방 산업과 반도체 산업의 임베디드와 실시간 시스템에 주안점을 두고 활동하고 있다. 임베디드 시스템, 소프트웨어 공학, 소프트웨어 품질과 프로세스에 폭넓은 경험이 있으며, 현재 글로벌 개발 팀을 이끌고 있다. BSEE, MSEE, MSCS, MBA 학위가 있고, IEEE의 시니어 멤버다. 국제적인 연사로 활동 중이며, 다양한 기술 분야에서 100개 이상의 프리젠테이션과 간행물을 발표했고, 여러 권의 임베디드 소프트웨어 기술 분야 책도 출간했다. 서던 메소디스트 대학교(Southern Methodist University)의 객원교수로서 석사 과정의 소프트웨어 공학과 임베디드 시스템 과목을 가르치고, 프리스케일(Freescale) 반도체의 기술 특훈 회원이자 네트워킹과 멀티미디어 분야의 글로벌 소프트웨어 R&D 이사로 재직 중이다.

저자 : 마크 크랠링 (편저)

편저자 마크 크랠링(Mark Kraeling)은 임베디드 소프트웨어 산업 분야에서 20년 이상의 경험을 쌓았으며, 주로 자동차와 수송 산업의 임베디드 실시간 시스템에 주안점을 두고 활동하고 있다. BSEE, MSEE, MBA 학위가 있다. 전 세계적인 임베디드 컨퍼런스에서 정기적인 연사로 활동하며, 임베디드 개발에 주안점을 둔 다양한 논문과 기사를 발표했다. 임베디드 시스템과 디자인 컨퍼런스에서 임베디드 시스템 관련 논문을 발표했을 뿐만 아니라 미국철도연합회(AAR)의 다양한 분과위원회에서 표준 개발에 힘쓰는 등 산업 개발 분야에 적극적으로 활동 중이다. 커민스(Cummins) 사에서 실시간 엔진 제어 개발로 경력을 처음 시작했다. 현재 GE 수송 분야의 제품 관리자이며, 실시간과 안전 필수 철도시스템을 개발 중이다.

역자 : 윤희병

역자 윤희병은 해군사관학교 경영과학과 연세대학교 전산공학을 전공하고 미국으로 건너가 미 해군대학원과 조지아공대에서 전산공학 석사와 박사학위를 각각 취득했다. 그 이후 2013년까지 국방대학교 전산학과 교수, 2014년에는 고려대학교 컴퓨터학과 초빙교수로 재직하면서 임베디드 소프트웨어 분야를 주로 강의했다. 저서로는 『임베디드 소프트웨어 개론』(2012)과 『NCW 서비스와 기술』(2011)이 있고, 옮긴 책으로는 『자율형 지능 차량 이론과 응용』(2013), 『자율형 무인차량 개발 및 과제』(2011), 『임베디드 소프트웨어 테스팅』(2007) 등이 있다. 현재 무인시스템과 임베디드 소프트웨어 분야의 전문가로서 왕성한 연구 활동을 하고 있으며, 현재 국방대학교 명예교수, 서강대학교 융합소프트웨어연구소 겸임교수, 미래국방포럼 사무총장, 임베디드 소프트웨어?시스템 산업협회 운영위원 등을 맡고 있다.

작가의 말

이 책의 편집을 위해 각 전문 지식 분야에서 기여가 가능한 임베디드 분야 선도 공학자들에게 기고를 요청했다. 그리고 이 책의 각 장이 자체로서 완전한 장이 될 수 있도록 집필 방향을 결정했다. 이는 저자가 하나의 장에서 주어진 목적을 완료할 수 있게 자신이 필요한 만큼의 정보를 모을 수 있음을 의미한다. 일부의 경우 여러 장에서 중복된 정보가 나타날 수도 있지만, 이것도 편집자가 의도적으로 만든 부분이다.
이 책의 목적은 여러 영역 간 자신의 입장을 번복하지 않고 다양한 주제를 상의할 수 있는 소프트웨어 공학 핸드북을 만드는 것이었다. 각 장의 집필을 맡은 저자들은 각자의 지식이 해당 주제에 잘 들어갈 수 있도록 자유로움과 유연성을 제공받았다. 각 장은 실용적이 되도록 설계 됐으며, 저자의 실세계 경험을 기반으로 집필됐다. 이 책은 300년 이상의 임베디드 시스템에 대한 경험을 포함하고 있다.
지난 10여 년간 컴퓨팅 세계는 큰 기계에서 작은 기계로, 고정식 기계에서 모바일 기계로, 데스크톱 기계에서 임베디드 장치로 이동했다. 데스크톱 시스템에 성공적으로 적용됐던 소프트웨어 시스템을 개발하는 방법과 기법, 툴은 더 이상 임베디드 애플리케이션에는 쉽게 적용되지 못한다. 모바일 임베디드 장치에서 동작하는 소프트웨어 시스템은 더 전통적인 시스템에서는 요구되지 않는 다음과 같은 특징을 가져야 한다.
ㆍ 근접 최적 성능
ㆍ 강건성
ㆍ 분산
ㆍ 역동성
ㆍ 이동성
이 책은 임베디드, 자원 제약, 모바일, 네트워크 세계에 존재하는 소프트웨어 시스템의 핵심 특징을 조사한다. 그리고 이들 도메인에서 소프트웨어 공학 방법과 기법의 핵심 부분(예를 들어 소프트웨어 설계, 컴포넌트 기반 개발, 소프트웨어 아키텍처, 시스템 통합, 테스트)에 대한 적용 가능성을 평가한다. - 저자 로버트 오샤나, 마크 크랠링

정말 기나긴 시간이었다. 2년 전 4월 말, 우연히 아마존을 탐색하던 중 이 책이 곧 발간된다는 사실을 발견하곤 바로 에이콘출판사에 번역 요청을 드렸고, 곧 바로 출판사 사장님의 승인이 떨어져 번역이 시작됐다. 임베디드 소프트웨어 분야에서 10여 년 동안 강의와 연구를 해왔고, 2012년에는 『임베디드 소프트웨어 개론』이라는 책을 펴내고 이 책으로 국방대, 서강대, 고려대 등 여러 대학에서 강의도 했지만, 하드웨어를 이해시키면서 임베디드 소프트웨어를 강의하고 싶었다. 내 마음 한구석에 늘 자리 잡고 있었던 아쉬운 마음을 한 번에 사로잡았던 책이 바로 이 책이었다.
그만큼 이 책은 하드웨어와 소프트웨어의 공동 설계를 비롯해 임베디드 시스템 개발의 전 수명주기에 걸쳐 필요한 모든 내용을 담고 있다고 해도 과언이 아니다. 특히 각계각층 독자들의 요구를 충족시키기 위해 임베디드 시스템 개발을 위한 5계층 체계와 임베디드 시스템의 6단계 하드웨어/소프트웨어 공동 설계 모델을 정립하고, 5계층과 6단계 공동 설계 모델을 네 가지의 최신 사례연구와 결합시켜 책의 구조를 제시한 것은, 이 책만이 가진 장점 중의 장점이다. 또한 책의 완성도와 이해도를 높이기 위해 임베디드 소프트웨어 산업 분야에서 수십 년 이상 경험을 쌓으면서 세계적으로 명성을 떨치는 두 명의 전문 편집자가 책 구성부터 편집, 발간까지 책임을 맡았으며, 책의 전문성과 신뢰성을 높이기 위해 개요부터 사례 연구까지 각 해당 분야에서 왕성히 활동하고 있던 세계적인 선도공학자 16명이 저자로 참여했다.
이 책은 임베디드 소프트웨어 분야의 전문가가 되길 원하는 모든 사람에게 개념부터 사례 연구까지, 더 나아가 미래 추세까지 제공하는 임베디드 시스템을 위한 소프트웨어 공학 분야의 전문 백과사전이라 할 수 있다. 특히 그 동안 임베디드 하드웨어와 소프트웨어 분야에 각각 종사하던 독자들이 늘 아쉽게 생각하면서 접해보고 싶었던 임베디드 시스템의 하드웨어/소프트웨어 공동 설계, 소프트웨어 성능 공학, 임베디드 소프트웨어의 성능/메모리/전력 최적화, 임베디드 시스템의 애자일 개발 등을 함께 다루고 있어, 해당 분야에 종사하는 개발자뿐만 아니라 이 분야에 관심을 가진 모든 사람에게도 큰 도움을 제공하는 귀중한 안내서가 될 것이다. - 역자 윤희병

목차

1장 임베디드와 실시간 시스템을 위한 소프트웨어 공학
__소프트웨어 공학
__임베디드 시스템
____임베디드 시스템은 반응 시스템이다
__실시간 시스템
____실시간 시스템의 유형: 소프트와 하드
____하드 실시간 시스템의 사례
____실시간 이벤트의 특성
____효율적 실행과 실행 환경
__실시간 시스템 설계에서의 도전
____반응 시간
____장애로부터 복구
____임베디드 시스템 소프트웨어 구축 프로세스
__분산과 멀티프로세서 아키텍처
__임베디드 시스템을 위한 소프트웨어
____슈퍼 루프 아키텍처
__임베디드 시스템을 위한 하드웨어 추상화 계층(HAL)
__정리

2장 임베디드 시스템 하드웨어/소프트웨어 공동 개발
__오늘날의 임베디드 시스템: 사례
__HW/SW 프로토타이핑 사용자
__HW/SW 프로토타이핑 선택 사항
__프로토타이핑 결정 기준
__올바른 프로토타입 선택
__산업 설계 사슬
__설계 흐름의 변경 필요성
__가상 프로토타입의 다양한 유형
__가상 프로토타입의 간략한 역사
__독점 오퍼에 대한 제한 사항
__가상 프로토타입을 빠르게 만드는 것
__표준화: SystemC TLM-2.0 시대
____SystemC TLM-2.0 추상화 레벨
__아키텍처 가상 프로토타입
__소프트웨어 가상 프로토타입
__정리: 가상화 중요성의 증가

3장 임베디드 시스템을 위한 소프트웨어 모델링
__언제 그리고 왜 임베디드 시스템을 모델로 만들려고 하는가?
__모델링
__모델링 언어는 무엇인가?
__모델링 언어의 사례
__V 다이어그램의 약속
__왜 임베디드 시스템을 모델로 만들려고 하는가?
__언제 임베디드 시스템을 모델로 만들려고 하는가?
____임무와 안전 필수 애플리케이션
____고도로 복잡한 애플리케이션과 시스템
__운용의 복잡성
__결함 비용과 검출 시간
__규모가 큰 개발 팀은 모델링을 요구한다
__모델링은 종종 유일한 선택이다
__모델링은 훌륭하지만, 모든 모델이 틀리지는 않는가?
__자신의 프로토타입을 가져야 한다: 이제 어떻게 해야 하는가?
__정리
__다음 단계: 시도하라!
____DC 모터를 이용한 폐회로 제어
____다운로드 가능 킷을 이용한 프로토타이핑 더 배우기
____NI 상태 차트 모듈을 이용한 애플리케이션 설계
____브러시를 갖는 DC 모터의 H 브리지 회로의 설계와 시뮬레이션
____모델리카 모델을 이용한 다중 도메인의 물리적 모델링
__참고 문헌

4장 임베디드 시스템을 위한 소프트웨어 설치 아키텍처와 패턴
__아키텍처와 설계 개요
____아키텍처는 시스템 전역 최적화에 관한 것이다
__세 가지 설계 레벨
__설계 패턴이란?
____설계 패턴을 이용하기 위해 객체지향 기법을 이용해야만 하는가?
____아키텍처 사례
____패턴 사용
____트레이드오프 결정
__소프트웨어 아키텍처 범주와 뷰
____주 아키텍처 뷰
____2차 관점
__정리
__참고 문헌

5장 실시간 빌딩 블록: 이벤트와 트리거
__이벤트와 트리거
__실내 온도 구성단위
__이벤트 시스템
__이벤트 처리
__이벤트 메소드
__이벤트 데이터 구조
__재진입
____인터럽트 불능과 가능
____EnterCritical과 ExitCritical
____세마포어
____Enter/ExitCritical을 이용한 구현
__이벤트 처리
__통합
__트리거
__LED 깜박이기
__설계 아이디어
__틱 타이머
__트리거 인터페이스
__트리거 디스크립터
__데이터 할당
__SetTrigger
__IncTicks
__재진입 만들기
__초기화
__깜박이기!
__삐 소리 내기!
__실시간 양상
__정리와 소스코드

6장 임베디드 소프트웨어에 대한 하드웨어 인터페이스
소개
하드웨어 팀과의 협업
____능동적 협업
____앰버서더
____레지스터 설계 툴
____공동 개발 활동
____시스템 통합
__유용한 하드웨어 설계 양상
____하드웨어 이벤트 통지
____하드웨어에서의 작업 시작
____비트 필드 정렬
____고정 비트 위치
____블록 버전 번호
____디버그 후크
__다중 하드웨어 버전 지원
____컴파일 시간 스위치
____빌드 시간 스위치
____실행 시간 스위치
__자가 적응 스위치
__어려운 하드웨어 상호작용
____정확한 레지스터 접근
____동일 레지스터에서의 혼합 비트 유형
____에지와 레벨 인터럽트
__테스팅과 문제 해결
__일시적 후크
____영구적 후크
__정리
__성공 사례

7장 임베디드 소프트웨어 프로그래밍과 구현 가이드라인
__소개
____고품질 프로그래밍의 원칙
____임베디드 프로그래밍이 일반 프로그래밍과 다른 점
__임베디드 소프트웨어 프로젝트 시작
____하드웨어 플랫폼 입력
____프로젝트 파일/구성
____팀 프로그래밍 가이드라인
____구문 표준
____소스코드에서의 안전성 요구 사항
__변수 구조
____변수 선언
____데이터 유형
____정의

8장 임베디드 운영체제
__포어그라운드/백그라운드 시스템
__실시간 커널
____실시간 운영체제(RTOS)
____임계 구간
____태스크 관리
____태스크 우선순위 할당
____스택 크기 결정
____유휴 태스크
__우선순위 레벨
__준비 목록
____선점형 스케줄링
__스케줄링 시점
____라운드로빈 스케줄링
__문맥 스위칭
__인터럽트 관리
____CPU 인터럽트 처리
____비커널 인식 인터럽트 서비스 루틴(ISR)
____다중 인터럽트 우선순위를 가진 프로세서
____공통 장소에 대한 모든 인터럽트 벡터
____유일 장소에 대한 모든 인터럽트 벡터
__클록 틱(또는 시스템 틱)
__대기 목록
__시간 관리
__자원 관리
____자원 관리, 불능/가능 인터럽트
____자원 관리, 세마포어
____자원 관리, 우선순위 전환
____자원 관리, 상호 배제 세마포어(뮤텍스)
____자원 관리, 교착상태(또는 죽음의 포옹)
__동기화
____동기화, 세마포어
____동기화, 크레딧 트래킹
____쌍방 랑데부
__메시지 패싱
____메시지
____메시지 큐
____제어 흐름
____클라이언트와 서버
__메모리 관리
__정리

9장 임베디드 시스템에서 설계에 의한 소프트웨어 재사용
__소프트웨어 재사용이 문제가 되는 이유
__소프트웨어 재사용의 제한 사항
__소프트웨어 재사용의 종류
__계층에 의한 재사용 구현
__다음 레벨로 이동
__컴포넌트 팩토리 소개
__팩토리 하드웨어 구성
__팩토리 소프트웨어 구성
__팩토리가 재사용성을 지원하는 방법
__RTOS 불가지론
__임의 확장성
__정리
__참고 문헌

10장 임베디드 시스템을 위한 소프트웨어 성능 공학
__사례: eNodeB 애플리케이션에서 지연과 처리량
__성능 패턴과 안티패턴
__참고 문헌

11장 임베디드 소프트웨어의 성능 최적화
__코드 최적화 프로세스
__개발 툴 이용
____컴파일러 최적화
____기본 컴파일러 구성
____최적화 보장 활동
____추가 최적화 구성
____프로파일러 이용
__배경: 임베디드 아키텍처 이해
____자원
__기본 C 최적화 기법
____올바른 데이터 유형 선택
____함수 호출 관례
____포인터와 메모리 접근
____제한과 포인터 대역
____루프
____추가 팁과 비법
__일반 루프 변환
____루프 언롤링
____다중 샘플링
____부분 합
____소프트웨어 파이프라이닝
__최적화 기법 애플리케이션 사례: 교차 상관관계
____준비
____최초 구현
____1단계: 분수 연산을 위한 인트린식 사용과 루프 카운트 명시
____2단계: 데이터 정렬 명시와 다중 샘플링 알고리즘 수정
____3단계: 어셈블리 언어 최적화

12장 임베디드 소프트웨어의 메모리 최적화
__소개
__코드 크기 최적화
____컴파일러 플래그와 플래그 마이닝
____크기와 성능 트레이드오프를 위한 타깃 ISA
____코드 크기를 위한 ABI 튜닝
____캐비앳 엠프토르: 코드 크기에 직교적인 컴파일러 최적화!
__메모리 레이아웃 최적화
____메모리 최적화 개요
____최적화 노력에 집중
____벡터화와 동적 코드: 비율 계산
____C의 포인터 에일리어싱
__데이터 구조, 데이터 구조 배열, 합산
__메모리 성능을 위한 루프 최적화
____데이터 정렬 파급 효과
____큰 성과를 위한 데이터 유형 선정

13장 임베디드 소프트웨어의 전력 최적화
__소개
__전력 소비의 이해
____전력 소비 기초
____정적과 동적 전력 소비
____최대, 평균, 최악, 일반 전력
__전력 소비 측정
____전류계를 이용한 전력 측정
____홀 센서 유형 IC를 이용한 전력 측정
____VRM(전압 조정기 모듈 전력 공급 장치 IC)
____정적 전력 측정
____동적 전력 측정
____애플리케이션의 전력 소비 프로파일링
__전력 소비 최소화
____하드웨어 지원
____클록과 전압 제어
____저전력 사례
__데이터 흐름 최적화
____메모리 접근을 위한 전력 소비 줄이기
____DDR 개요
____전력용 DDR 데이터 흐름 최적화
____타이밍에 의한 전력 최적화
____인터리빙을 이용한 최적화
____메모리 소프트웨어 데이터 구성 최적화
____일반 DDR 구성 최적화
____DDR 버스트 접근 최적화
__전력을 위한 SRAM과 캐시 데이터 흐름의 최적화
____SRAM(모든 메모리)과 코드 크기
____SRAM 전력 소비와 병렬화
____데이터 전이와 전력 소비
____캐시 활용과 SoC 메모리 레이아웃
____지역성 설명
____집합 연관도 설명
____캐시를 위한 메모리 레이아웃
____후기입과 연속 기입 캐시
____캐시 일관성 기능
____컴파일러 캐시 최적화
__주변기기/통신 활용
____데이터 DMA와 CPU
____코프로세서
____시스템 버스 구성
____주변기기 속도 등급과 버스 폭
____핵심 통신에 대한 주변기기
__알고리즘
____컴파일러 최적화 레벨
____명령 패킹
____루프 언롤링 재고
____소프트웨어 파이프라이닝
____반복 제거
____정확성 줄이기
____저전력 코드 시퀀스와 데이터 패턴
__정리

14장 임베디드 시스템을 위한 인간 요소와 사용자 인터페이스 설계
__사용자 인터페이스 설계의 분석 단계
____첫 번째 설계 반복
____두 번째 프로토타입 개발(고성능 툴로 작성된 실물 모형)
____필수 유스케이스
____사용자 분석 시나리오
____계층적 태스크 분석
____사용자의 인지, 지각, 학습의 제한사항 극복을 위한 설계 접근법
____오류 메시지
__가상 윈도우
__엔티티 관계 다이어그램(ERD)을 이용한 데이터 모델
__CREDO 매트릭스를 이용한 가상 윈도우 분석
__발견적(휴리스틱) 평가
__형태(게슈탈트)
__MVC 아키텍처를 이용한 사용자 인터페이스 설계
____MVC 소프트웨어 아키텍처의 상황
____MVC 소프트웨어 아키텍처의 문제와 영향력
____MVC를 이용한 해결책
__안전 필수 사용자 인터페이스
____안전한 HMI 설계 프로세스
____안전한 인간-기계 인터페이스 설계 가이드라인
__참고 문헌
__관련 문헌

15장 임베디드 시스템 품질, 통합, 테스팅 기법
__소프트웨어 테스트란?
____소프트웨어를 테스트해야 하는 이유
____테스팅에 충분한 양
____테스팅 시점
____누가 결정하는가?
__이용 가능한 기법
____정적과 동적 분석
____요구 사항 추적성
____코딩 표준에 엄격한 정적 분석
____필수 노트와 필수 순환 복잡도 사례연구
____동적 분석의 이해
____고집적 시스템의 유물
____단위, 모듈, 통합 테스트 정의
____구조적 커버리지 분석 정의
____탠덤에서 단위 테스트와 시스템 테스트에 의해 코드 커버리지 성취
____회귀 테스트를 통한 기능성 유지
____단위 테스트와 테스트 주도 개발
____테스트 케이스 자동 생성
__표준 설정
____표준 용어
____공인 프로세스 표준의 진화
____적절한 표준 선택의 자유
__특이 상황 처리
____자동 생성 코드 작업
____레거시 코드와 작업
____목적 코드 베리피케이션(OCV)을 통한 요구 사항 추적
__테스트 솔루션 환경 구현
____실용적 고려 사항
____대안 고려
__정리

16장 임베디드 시스템용 소프트웨어 개발 툴
__디버깅 툴 소개
__GDB 디버깅
____GDB 디버거 구성
____GDB 시작
____애플리케이션 컴파일
____애플리케이션 디버깅
____데이터 검사
____중단점 이용
____스텝으로 만들기
____프로그램 변경
____코어 덤프 분석
__디버그 에이전트 설계
____사용 예
____디버그 에이전트 개요
____애플리케이션 시작
____문맥 스위치
____위치 독립 실행 가능자
____애플리케이션으로부터 나온 디버그 이벤트
____다중 코어
____디버그 에이전트 시작
__JTAG를 이용한 디버깅
____JTAG 이용의 이점
____JTAG를 이용한 보드 브링업
____디버그 에이전트와의 비교
____GDB와 JTAG
__이클립스와 GDB를 이용한 디버깅 툴
____GDB를 이용한 리눅스 애플리케이션 디버그
____KGDB를 이용한 리눅스 커널 디버그
__계측 코드
____실제 사례
__분석 툴
____Strace
____Mtrace
____Valgrind
__하드웨어 능력
____하드웨어 중단점
____하드웨어 감시점
__디버깅 비법과 요령

17장 임베디드 시스템용 다중 코어 소프트웨어 개발
__1부: 분석과 고수준 설계
__분석
____직렬 성능 향상
____애플리케이션의 이해
__고수준 설계
____병렬 분해
____데이터 종속성
____통신과 동기화
____부하 균형
____알고리즘 선택
____분해 접근법
__1부 정리
__2부: 구현과 저수준 설계
__스레드 기반 구현
____커널 스케줄링
____POSIX 스레드(Pthreads)
____PPthreads 이용
____스레드 안전성 처리
____동기화와 상호 배제 구현
__뮤텍스, 잠금장치, 중첩 잠금장치
____뮤텍스
____조건 변수
__입상도
____작은 범위
____큰 범위
____접근법
__태스크 병행성 구현
____생성과 연결
____병렬 파이프라인 계산
____분할 정복 스키마
____태스크 스케줄링 고려 사항
____스레드 풀링
____친화력 스케줄링
____이벤트 기반 병렬 프로그램
____루프 병행성 구현
____계산과 집약성 정렬
__메시지 전달 구현
____MCAPI
____MRAPI
____다중 코어 시스템의 MCAPI와 MRAPI
____플레잉 카드 인식과 분류 사례
__하이브리드 접근법 이용
__참고 문헌

18장 안전 필수 소프트웨어 개발
__소개
__어떤 안전 요구 사항인가?
____인증 킬러
__프로젝트 기획 전략
____전략 1: 초기에 프로젝트의 인증 범위 결정
____전략 2: 인증의 타당성 결정
____전략 3: (사용한다면) 독립적 평가자 선정
____전략 4: (사용한다면) 평가자의 역할 이해
____전략 5: 평가 의사소통이 핵심
____전략 6: 인증의 베이시스 정립
____전략 7: 제품의 ‘적합성과 목적’정립
____전략 8: 인증의 블록 다이어그램 정립
____전략 9: 의사소통의 통합 목표 정립
____전략 10: 인증 경계의 모든 인터페이스 식별
____전략 11: 핵심 안전 방어 전략 식별
____전략 12: 빌트인 테스트(BIT) 능력 정의
____전략 13: 결점 경보 커버리지 정의
____전략 14: 운용자/사용자의 의지와 기대 정의
____전략 15: 적절한 통합 레벨에서의 소프트웨어 개발 계획 정의
____전략 16: 규정 준수의 증거로서 사용될 인공물 정의
____전략 17: 노동 집약 분석 계획
____전략 18: 사용자 레벨 문서 생성
____전략 19: 잔여 활동 계획
____전략 20: 명확한 인증 계획 발간
__결점, 장애, 위험, 리스크 분석
____결점, 오류, 장애
____가용성과 신뢰성
____결점 처리
____위험 분석
____리스크 분석
__안전 필수 아키텍처
____행위자(Do-er)/검사자(check-er)
____두 개의 프로세서
____투표자
__소프트웨어 구현 전략
____전략 1: 명확하고 반복적인 동료 검토 프로세스가 있는가
____전략 2: 기존의 안전 코딩 표준에 대한 이용 고려
____전략 3: 입력 데이터의 모든 조합 처리
____전략 4: 특정 변수 값 검사
____전략 5: 안전 필수 코드 구역 표시
____전략 6: 타이밍 실행 검사
____전략 7: 진부한 데이터
____전략 8: 출력 비교
____전략 9: 최소 허용 상태로 데이터 초기화
____전략 10: 실행 순서
____전략 11: 휘발성 데이터 검사
____전략 12: 비휘발성 데이터 검사
____전략 13: 전체 시스템이 동작할 수 있는지 확인
____전략 14: ‘불필요’ 코드 제거
____전략 15: 비사용 메모리 작성
____전략 16: 정적 코드 분석
__참고 문헌

19장 지적 재산
__배경
__소프트웨어가 자신의 것인 경우
____소프트웨어 획득
____저작권 보호
____저작권 얻기
__특허
____특허는 무엇인가?
____특허는 왜 존재하는가?
____특허 결정
____특허 신청
____특허에는 무엇이 있는가?
____특허 허가
__문제
____오픈소스 소프트웨어
____소프트웨어 허가와 판매
____특허 확보
____침해 발견
____저작권 침해 회피
____특허 침해 회피

20장 임베디드 소프트웨어 개발 관리
__능력 성숙도 모델 통합
__OSI 모델
__소프트웨어 관리
____V 모델
____폭포수 모델
____애자일 모델
__구조
__프로그램 헌장
__이해관계자와 핵심 팀
__제품 수명주기 관리
__포트폴리오 관리
__프로젝트 관리 수명주기
__프로젝트 수명주기
__문제 해결
__의사소통
__약어, 기호, 두문자어
__저작권 감사의 글
__참고 문헌

21장 임베디드 시스템을 위한 애자일 개발
__소개
__임베디드 시스템의 특별한 점
____소프트웨어가 유일하고 요구 사항이 다양한 공학 분야에 걸쳐있는 시스템에 적합하다
____특정 하드웨어를 사용한다
____종종 하드웨어와 공동 개발된다
____프로그래밍 언어와 툴의 선정에 제약이 있다
____더 도전적인 테스팅 환경을 갖는다
____종종 고도로 예측 가능해야 한다
____종종 엄격한 시간 제약을 받는다
____종종 (메모리 같은) 심각한 자원의 제약이 있다
____종종 대단히 고신뢰적이고 안전 필수적이 돼야 한다
____종종 엄격한 외부 규정에 제약을 받는다
____단일 제품으로 출하, 납품된다
____종종 고정 가격 입찰의 대상이 된다
__임베디드 소프트웨어를 위한 애자일 프로젝트 기획
____프로젝트 비전
____초기 안전성/신뢰성 리스크 평가
____초기 프로젝트 리스크 평가
____추정
____스케줄링
__임베디드 소프트웨어를 위한 프로젝트 거버넌스
____스탠드 업!(회의)
____성과 메트릭
____반복 회고(파티 단계)
__임베디드용 애자일 개발 관행
____점증적 개발
____고충실도 모델링
____실행 가능한 요구 사항
____테스트 주도 개발(TDD)
____연속적 통합
____변경 관리
____동적 기획
____리스크 관리
__애자일 척도 인자
__애자일 방법이 표준 고수에 도움을 줄 수 있는가?
__정리
__참고 문헌
__참고 목록

22장 자동차 애플리케이션용 임베디드 소프트웨어
__배경 설명을 위한 역사
____자동차 전자 기술: 1911-2000
____전자 콘텐츠의 성장 동력
____임베디드 SW의 성장
____자동차 프로그래밍 언어
____영향에 대한 요약
__자동차 세그먼트와 차이점
____차체
____차대와 안전성
____운전자 보조
____구동과 변속
____인포테인먼트와 텔레매틱스
____자동차 하부 세그먼트 요약
__자동차 품질
____머피의 법칙을 위한 기획
____결점 허용 통신
____결점 허용 소프트웨어
____제로 결함 소프트웨어
____리스크 관리와 장애 모드
____장애 모드와 영향 분석
__개발과 테스트
____서브시스템의 상호 운용성
____소프트웨어 명세서
____소프트웨어 아키텍처
____모델링
____자동 코딩과 드라이버
____벤치 테스팅
____추적과 디버그
____최종 단계 테스팅
____보정
____유지 보수/제품 생애 지원
__자동차 진단
____MIL
____데이터 로거
____OBD II
__자동차 표준
____MISRA
____AUTOSAR
____AEC
__자동차 안전성
____ISO 26262
____ASIL
__자동차 보안
____사용 수단: 차 경보장치 등
____현재의 수단: 해킹
____미래의 수단: 위조
__자동차 시장의 가까운 미래
____성능
____다중 코어의 출현
____커넥티드 차량
____자동 차량
__정리

23장 입출력과 스토리지 프로그래밍
__I/O 디바이스와 I/O 컨트롤러
____I/O 디바이스 범주
____I/O 컨트롤러
____메모리 맵 I/O와 DMA
____플래시, SD/SDHC, 디스크 드라이브
____네트워크 부착 스토리지
__I/O 프로그래밍
____I/O 소프트웨어의 목적
____I/O 소프트웨어 계층
____사례연구: 리눅스 디바이스 드라이브
__스토리지 프로그래밍
____블록 디바이스용 I/O
____플래시 디바이스 프로그래밍
____SATA 디바이스 드라이버
__스토리지 시스템의 성능 개선
____사례연구 1: SDHC의 성능 최적화
____사례연구 2: NAS의 성능 최적화
__정리
__참고 문헌

24장 네트워킹 애플리케이션용 임베디드 소프트웨어
__소개
__네트워크 디바이스용 시스템 아키텍처
____데이터면, 제어면, 서비스면, 관리면
__네트워킹용 다중 코어 SoC
____코어
____패킷 엔진 하드웨어(PEH) 블록
__네트워크 프로그래밍 모델
____파이프라인 프로그래밍 모델
____동작 완료 프로그래밍
__패킷 프로세싱 소프트웨어의 구조
____데이터면 기반 구조(DP 인프라)
____포워딩 엔진 구조
____패킷 프로세싱 애플리케이션 요구 사항
__네트워크 애플리케이션 프로그래밍 기법
____네크워크 애플리케이션 프로그래머용 다중 코어 성능 기법
____흐름 문맥 탐구 동안 락 회피
____참조 계수 회피
____안전 참조 메커니즘
____흐름 병렬화
____최신 통계와 연관된 캐시 스레싱 감소
____통계 가속
__네트워크 애플리케이션 프로그래머를 위한 일반 성능 기법
____효과적 캐시 이용
____소프트웨어 지시 프리패칭
____likely/unlikely 컴파일러 빌트인 이용
____캐시의 핵심 코드 조각 락킹
____일반 코딩 가이드라인
__임베디드 네트워크 디바이스용 리눅스 운영체제
____사용자 공간 프로그래밍과 연관된 변환 색인 버퍼(TLB)의 실수
____하드웨어 주변장치와 하드웨어 가속기에 대한 접근
____결정론적 성능
__정리

25장 임베디드 시스템용 리눅스
__소개
____임베디드에 리눅스인 이유
____리눅스 배포
____리눅스 적합 임베디드 플랫폼
____라이선싱
__임베디드 리눅스 시작
____메모리 관리 유닛
____부트스트래퍼
____부트로더
____커널
____애플리케이션
__참조 보드상의 리눅스 동작
____참조 플랫폼
____BeagleBone으로 시작

부록 1 C 문법 코딩 표준: 소스코드 개발
부록 2 임베디드 소프트웨어, 시스템, 템플릿을 위한 C++ 프로그래밍 언어
사례연구 1 소프트웨어 성능 공학
사례연구 2 사용자 인터페이스: 경찰 지휘 통제 시스템
사례연구 3 다중 코어로의 전이
사례연구 4 임베디드 시스템 품질과 메트릭 프로그램을 위한 소프트웨어 공학

추천사

잭 갠슬(Jack Ganssle)(『임베디드 시스템 대사전』저자)

이 책의 추천사를 작성한다는 것은 기념비적인 일이다. 이 책은 임베디드 시스템에 관해 현재까지 가장 포괄적인 내용을 담고 있는 책일 것이다. 그리고 이러한 작업은 정말 필요한 일이다.
펌웨어(firmware) 시장이 점점 ... 더보기

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 임베디드 시스템을 위한 훌륭한 아키텍처 원칙
■ 임베디드 프로젝트를 성공적으로 만드는 데 도움을 주는 설계 관례
■ 디지털 신호 처리, 안전 필수 원칙, 개발 프로세스를 비롯해 임베디드 시스템의 일부분을 이루는 세부 원칙
■ 임베디드 시스템을 위한 사용자 인터페이스 개발 방법
■ 임베디드 시스템 테스팅과 배포 전략, 품질 개발 프로세스 보장 전략
■ 성능, 메모리, 전력에 대한 임베디드 소프트웨어 최적화 실무 기술
■ 임베디드 시스템을 위한 다중 코어 소프트웨어 개발 고급 가이드라인
■ 네트워킹... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서번역서

안내

이 분야의 베스트

더보기+

이 분야의 신간

  • 선양미
    18,900원
  • 이남호
    23,310원
  • 정일영
    33,300원
  • 김계철
    22,500원
  • 존 손메즈
    25,200원
더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품