임베디드 소프트웨어란 무엇인가?
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

임베디드 소프트웨어란 무엇인가?에 대한 보고서 자료입니다.

목차

1. 서론

2. 임베디드 소프트웨어의 정의와 예

3. 임베디드 소프트웨어의 특징과 기능
3. 1 무선 인터넷 환경에서의 임베디드 소프트웨어의 특징과 종류
3. 1. 1 무선인터넷 플랫폼 개발언어인 Java와 C++의 비교
3. 1. 2 무선인터넷 플랫폼의 종류

3. 2 임베디드 OS의 종류와 특징
3. 2. 1 Real-time OS의 정의
3. 2. 2 Real-time 임베디드 OS의 종류와 특징
3. 2. 3 임베디드 리눅스의 단점과 RT-Linux

4. 임베디드 소프트웨어의 프로그래밍 기법 및 일반 알고리즘적 기법
4. 1 임베디드 OS의 프로그래밍 기법
4. 2 자바기반 VM과 BREW의 비교

5. 효율적인 프로그래밍을 위한 요구사항

6. 결론

본문내용

ption mechanism은 상당히 편리하지만, 종종 남용되기도 한다. exception은 기대하지 않은 결과를 얻을 경우에 대처하는 것으로 결과가 예측 가능하다면 exception으로 처리하지 않도록 한다. 이렇게 하여, class file의 수를 줄일수 있고, exception 객체가 할당되는 것도 아낄 수 있어 메모리 절약의 효과를 얻을 수 있다.
5. 6 성능을 염두에 둔 Code 작성을 염두에 둔다.
1) 지역 변수를 사용한다.
보통 지역 변수에 접근하는 것 보다, class member 변수에 접근하는 것이 느리다. member 변수를 게속 재사용할 필요가 있을 때에는, 지역 변수를 하나 선언하는 것이 좋을 수 있다. 물론, 그 데이터가 여러 thread가 공유하는 경우가 아닐때의 경우다.
이것은 array의 한 변수를 계속적으로 접근할 때도 마찬가지이다. array의 변수에 접근을 할 때는 bound check를 하기 때문에 역시 지역 변수로 할당 받는 것이 좋다.
2) String concatenation을 피한다.
String 연결은 내부적으로, StringBuffer 객체의 할당, append method 호출, toString method 호출로 결과를 얻어내기 때문에, 반복되는 String 연결의 경우는 StringBuffer를 통한 작업이 좋다.
public String indent( String line, int spaces ) {
String out = "";
for( int i = 0; i < spaces; ++i ) {
out += " ";
}
return out;
}
보다는,
public String indent( String line, int spaces ) {
StringBuffer out = new StringBuffer();
for( int i = 0; i < spaces; ++i ) {
out.append( ' ' );
}
return out.toString();
}
이 좋다.
3) Thread를 사용하되 Syncronization을 피한다.
Thread를 사용하면 공유하는 데이터를 위해 synchronized 키워드를 사용하게 된다. 이것은 보통 상당한 부하가 되는데, Vector, Hashtable 등의 class내부에서 사용되므로, 피하기 어려운 경우가 많다. 만약, 이런 경우의 데이터가 동기화를 고려할 필요가 없는 경우에는 synchronized를 사용하지 않는 대체 class를 사용할 수 있는데 J2SE의 ArrayList나 HashMap같은 것이 그런 것이다. 이렇게 함으로 상당한 부하를 줄일 수 있다.
반대로 Vector같이 내부적으로 synchronized를 사용하는 class를 여러 thread에서 공유할 경우, 부가적인 동기화를 하지 않아도 된다. 대신 생성할 때에 조치가 필요한데, 다음의 예를 보면 알 수 있다.
public class SomeClass {
private Vector v = null;
public Vector getVector() {
if( v == null ) {
synchronized( this )
if( v == null ) {
v = new Vector();
}
return v;
}
6. 결 론
지금까지 우리는 임베디드 소프트웨어가 무엇인지에 대한 전반적인 내용과 임베디드 소프트웨어의 특징 및 그것을 적용할 수 있는 프로그래밍 언어 기법에 대해 생각해보았다. 조사하면서 느꼈던 것이지만, 그 내용은 방대했고, 그 범위는 어디에 한정된 것이 아닌 우리 주변 곳곳에 있었다. 아직 우리에게 '임베디드' 란 단어는 생소한 것이었지만, 이미 그것은 그 존재를 우리 주변에 대해 알리고 있었던 것이다.
임베디드 소프트웨어 산업에서 중요한 기능은 실시간성, 고신뢰성, 유무선 통신, 멀티미디어 기능이다. 앞에서 우리가 살펴본 몇가지 소프트웨어의 예에 보다시피, 소프트웨어 플랫폼들과 OS등을 살펴보았을 때, 앞의 기능들이 염두에 두어진 것이었으며, 그 발전의 가능성 또한 그 기능에서 나오는 것이다.
정통부에서는 임베디드 소프트웨어 플랫폼 개발에 대해, 단계별 기술 전략을 세워놓았다.
적응형 임베디드 SW 플랫폼 (2003) -> Micro 임베디드 SW 플랫폼 -> Nano 임베디드 SW 플랫폼(2005) -> Nano 임베디드 시스템 네트워크 기술 -> 대규모 네트워크 기술(2007)
적응형 임베디드 SW 플랫폼은 정보가전, 통신기기 등의 다양한 구조 및 장치에 대해, Micro 임베디드 SW 플랫폼은 산업기기, 항공기에 대해, Nano 임베디드 SW 플랫폼은 센서, Soc 등의 초소형 기기에 탑재되어 실시간성을 지원에 대해, Nano 임베디드 시스템 네트워크 기술은 그 적용을 네트워크에 더욱더 확장에 대해 말하고 있다. 최종적인 대규모 네트워크 기술은 이전 Nano 임베디드 SW 플랫폼을 센서에 적용하여 실생활에 적용하도록 하여, 결국 우리 주s변에 대해 " Embedded, Everywhere"의 사회를 만드는 것이다. 즉 " 유비쿼터스의 시대"로의 도래인 것이다. 여기에서 보듯이 우리는 좀더 '임베디드'에 대해 알고, 그것의 중요성을 인식해야 한다.
세계는 지금 이 '임베디드 산업'을 주목하고 있다. 우리는 어떠한가. 단지 그것을 지켜보고만 있을 수만은 없다. 좀더 많은 노력과 시간을 투자하여, 우리도 세계의 시각에 발맞추어야 한다. 이미 구축된 많은 시스템들에 대해서는 이미 우리는 그들에 비해 한발 늦었고 추월한다는 것은 힘들지만, 이 '임베디드'의 산업은 아니다. 아직 그 시장은 무한한 가능성을 가지고 있고, 그 발전 방향은 이제 시작이다. 더욱더 나아갈수 있다. 그러므로 우리는 이제 임베디드에 대한 인식의 변화와 지속적인 투자와 노력으로 21세기 새 시대에 임베디드 소프트웨어의 강국으로의 진입으로 나아서야 한다.
참고 문헌
Embedded Linux -박영환
임베디드 SW 에 대한 - 전자신문 <2003. 3. 11>
C나 C++ 로 작성하는 임베디드 시스템 프로그래밍
- 한빛 미디어
유비쿼터스 시대를 향한 임베디드 소프트웨어 발전 방향
및 개발 전략 -한국전자통신연구원

키워드

  • 가격3,000
  • 페이지수33페이지
  • 등록일2004.10.03
  • 저작시기2004.10
  • 파일형식한글(hwp)
  • 자료번호#269371
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니