RTOS를 이용한 실시간 임베디드 시스템 디자인
- 원서명Real-Time Concepts for Embedded Systems (ISBN 1578201241)
- 지은이Qing Li, Caroline Yao
- 옮긴이성원호, 전동환
- ISBN : 8989975425
- 30,000원
- 2004년 02월 13일 펴냄 (절판)
- 페이퍼백 | 308쪽 | 190*250mm
- 시리즈 : 임베디드 시스템
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
강력한 임베디드 시스템 입문서
실시간 임베디드 시스템 프로그래밍의 개념을 마스터한 후 효과적인 디자인 방법과 구현 기법을 이용해서 자신만의 임베디드 시스템 프로젝트를 시작해보라! 이 책은 임베디드 시스템 개발에 필요한 내용들을 상위 레벨의 추상적인 모델링 개념부터 하위 레벨의 프로그래밍 기법까지 포괄적으로 설명한다. 독자는 책에서 다루는 상세하고 실질적인 예를 통해 임베디드 시스템을 명확하게 이해할 수 있을 것이다. 또한 여러 핵심개념과 디자인 과정, 개발도구, 개발 방법론에 대한 지식도 얻게 될 것이다.
이 책은 실시간 프로그래밍과 더불어 임베디드 시스템에서 사용되는 각종 디자인 패턴 및 실시간 운영체제(RTOS)의 구조에 대해서도 다루고 있다. 특히 많은 상용 RTOS에서 제공하는 커널 오브젝트 및 서비스의 원리를 설명한 후 RTOS를 이용한 실시간 임베디드 시스템 디자인 방법을 심도 있게 살펴본 것은 이 책만의 특징이다. 또한 개발자의 작업량을 덜어주고 생산성을 높여줄 수 있는 임베디드 시스템용 `빌딩 블록`도 풍부하게 수록하고 있다.
임베디드 시스템을 처음 접하는 개발자나 이 분야에 관련된 공부를 하는 학생들 모두 이 책의 명쾌한 설명을 통해 여러 핵심 개념을 쉽게 이해할 수 있을 것이다. 만약 독자가 중급 이상의 개발자라면 저자가 책에서 제시한 문제에 대한 통찰력을 활용해서 실시간 임베디드 시스템의 어려운 문제들을 좀 더 효과적으로 해결할 수 있게 될 것이다. 개발자뿐 아니라 관련 분야의 관리자에게도 이 책이 제품 디자인과 구현에 있어서 훌륭한 지침서 역할을 할 것이라 확신한다.
실시간 임베디드 시스템 프로그래밍의 개념을 마스터한 후 효과적인 디자인 방법과 구현 기법을 이용해서 자신만의 임베디드 시스템 프로젝트를 시작해보라! 이 책은 임베디드 시스템 개발에 필요한 내용들을 상위 레벨의 추상적인 모델링 개념부터 하위 레벨의 프로그래밍 기법까지 포괄적으로 설명한다. 독자는 책에서 다루는 상세하고 실질적인 예를 통해 임베디드 시스템을 명확하게 이해할 수 있을 것이다. 또한 여러 핵심개념과 디자인 과정, 개발도구, 개발 방법론에 대한 지식도 얻게 될 것이다.
이 책은 실시간 프로그래밍과 더불어 임베디드 시스템에서 사용되는 각종 디자인 패턴 및 실시간 운영체제(RTOS)의 구조에 대해서도 다루고 있다. 특히 많은 상용 RTOS에서 제공하는 커널 오브젝트 및 서비스의 원리를 설명한 후 RTOS를 이용한 실시간 임베디드 시스템 디자인 방법을 심도 있게 살펴본 것은 이 책만의 특징이다. 또한 개발자의 작업량을 덜어주고 생산성을 높여줄 수 있는 임베디드 시스템용 `빌딩 블록`도 풍부하게 수록하고 있다.
임베디드 시스템을 처음 접하는 개발자나 이 분야에 관련된 공부를 하는 학생들 모두 이 책의 명쾌한 설명을 통해 여러 핵심 개념을 쉽게 이해할 수 있을 것이다. 만약 독자가 중급 이상의 개발자라면 저자가 책에서 제시한 문제에 대한 통찰력을 활용해서 실시간 임베디드 시스템의 어려운 문제들을 좀 더 효과적으로 해결할 수 있게 될 것이다. 개발자뿐 아니라 관련 분야의 관리자에게도 이 책이 제품 디자인과 구현에 있어서 훌륭한 지침서 역할을 할 것이라 확신한다.
목차
목차
- 1 서론
- 1.1 실생활에서의 임베디드 시스템 예
- 1.2 실시간 임베디드 시스템
- 1.3 임베디드 시스템의 미래
- 1.4 기억할 점
- 2 임베디드 시스템 개발의 기초
- 2.1 소개
- 2.2 링커와 링크 과정의 개요
- 2.3 실행 파일의 형식
- 2.4 타겟 임베디드 시스템으로 실행 이미지 매핑
- 2.5 기억할 점
- 3 임베디드 시스템 초기화
- 3.1 소개
- 3.2 타겟 시스템용 툴과 이미지 전송
- 3.3 타겟 부트 시나리오
- 3.4 타겟 시스템 소프트웨어 초기화 과정
- 3.5 온-칩(On-Chip) 디버깅
- 3.6 기억할 점
- 4 실시간 운영체제 소개
- 4.1 소개
- 4.2 운영체제의 역사
- 4.3 RTOS의 정의
- 4.4 스케줄러
- 4.5 오브젝트
- 4.6 서비스
- 4.7 RTOS의 주요 특성
- 4.8 기억할 점
- 5 태스크
- 5.1 소개
- 5.2 태스크의 정의
- 5.3 태스크 상태와 스케줄링
- 5.4 전형적인 태스크 오퍼레이션
- 5.5 전형적인 태스크 구조
- 5.6 동기화, 통신, 병행성
- 5.7 기억할 점
- 6 세마포어 / SEMAPHORES
- 6.1 소개
- 6.2 세마포어 정의
- 6.3 전형적인 세마포어 오퍼레이션
- 6.4 전형적인 세마포어의 사용
- 6.5 기억할 점
- 7 메시지큐 / MESSAGE QUEUES
- 7.1 소개
- 7.2 메시지큐의 정의
- 7.3 메시지큐의 상태
- 7.4 메시지큐의 내용
- 7.5 메시지큐의 저장
- 7.6 전형적인 메시지큐 오퍼레이션
- 7.7 전형적인 메시지큐의 사용
- 7.8 기억할 점
- 8 그 밖의 커널 오브젝트
- 8.1 소개
- 8.2 파이프
- 8.3 이벤트 레지스터
- 8.4 시그널
- 8.5 조건 변수 / Conditional Variable
- 8.6 기억할 점
- 9 그 밖의 RTOS 서비스
- 9.1 소개
- 9.2 그 밖의 구성 요소
- 9.3 컴포넌트 환경 설정
- 9.4 기억할 점
- 10 예외(Exception)와 인터럽트(Interrupt)
- 10.1 소개
- 10.2 예외와 인터럽트란 무엇인가?
- 10.3 예외와 인터럽트의 활용 용도
- 10.4 예외와 인터럽트의 심화
- 10.5 일반 예외의 처리
- 10.6 가짜 인터럽트(Spurious Linterrupt)의 특징
- 10.7 기억할 점
- 11 타이머와 타이머 서비스
- 11.1 소개
- 11.2 실시간 클럭과 시스템 클럭 / Real-Time Clock & System Clock
- 11.3 프로그래밍 가능한 주기 타이머
- 11.4 타이머 인터럽트 서비스 루틴
- 11.5 소프트 타이머 기능의 구현 모델
- 11.6 타이밍 휠 / Timing Wheel
- 11.7 소프트 타이머와 타이머 관련 동작
- 11.8 기억할 점
- 12 I/O 서브 시스템
- 12.1 소개
- 12.2 기본 I/O의 개념
- 12.3 I/O 서브시스템
- 12.4 기억할 점
- 13 메모리 관리
- 13.1 소개
- 13.2 임베디드 시스템에서의 동적 메모리 할당
- 13.3 베디드 시스템에서의 고정 크기 메모리 관리
- 13.4 블록킹 vs 논블록킹 메모리 함수
- 13.5 드웨어 메모리 관리 유닛 / Hardware Memory Management Units
- 13.6 기억할 점
- 14 행성을 고려한 응용프로그램 모듈화
- 14.1 소개
- 14.2 응용 프로그램 분화에 대한 아웃사이드-인(Outside-In) 방법론
- 14.3 병행성 파악을 위한 가이드라인과 권장사항
- 14.4 스케쥴 가능성 분석 - 주기 단조 분석 / Schedulability Analysis - Rate Monotonic Analysis
- 14.5 기억할 점
- 15 동기화와 통신
- 15.1 소개
- 15.2 동기화 / Synchronization
- 15.3 통신 / Communication
- 15.4 자원 동기화 방법 / Resource Synchronization Methods
- 15.5 크리티컬 섹션 다시 보기
- 15.6 일반적으로 사용되는 실전 디자인 패턴
- 15.6. 자원 동기화
- 15.7 특정 상황에 대한 디자인 패턴
- 15.8 기억할 점
- 16 일반적인 디자인 문제
- 16.1 소개
- 16.2 자원의 분류
- 16.3 데드락 / Deadlock
- 16.4 우선 순위 역전 / Priority Inversion
도서 오류 신고
정오표
정오표
[ p81 그림 6.2 ]
반환(세마포어 값 = 0) → 반환(세마포어 값 = 1)
[ p83 11행 ]
기다면서 → 기다리면서
[ p85 6행 ]
우선 순위 회피 → 우선 순위 역전 회피
2015.2.11 수정사항
[p70 : 그림 5.3]
두 번째 단째 -> 두 번째 단계
세 번째 단째 -> 세 번째 단계
네 번째 단째 -> 네 번째 단계
다섯 번째 단째 -> 다섯 번째 단계
태스크 6 -> 태스크 5