임베디드 시스템이란 무엇인가요?
1. 임베디드 시스템이란 무엇입니까?
임베디드 시스템은 일반적으로 컴퓨터 기능이 있지만 컴퓨터라고 부르지 않는 비PC 시스템, 장치 또는 장비를 의미합니다. 기능, 신뢰성, 비용, 용량, 전력 소비 등에 대한 응용 프로그램 시스템의 포괄적이고 엄격한 요구 사항에 적응하는 확장 가능한 소프트웨어 및 하드웨어를 갖춘 응용 프로그램 중심의 전용 컴퓨터 시스템입니다. 간단히 말해서, 임베디드 시스템은 시스템 응용 소프트웨어와 하드웨어가 통합되어 있으며, 이는 PC에서 BIOS가 작동하는 방식과 유사합니다. 작은 소프트웨어 코드, 높은 수준의 자동화 및 빠른 응답 속도를 요구하는 시스템에 특히 적합합니다. 실시간 및 멀티 태스킹. 임베디드 시스템은 주로 임베디드 프로세서, 관련 지원 하드웨어, 임베디드 운영 체제 및 응용 소프트웨어 시스템으로 구성되며 독립적으로 작동할 수 있는 "장치"입니다.
임베디드 시스템에는 휴대용 PDA, 모바일 컴퓨팅 장치, TV 셋톱박스, 모바일 인터넷, 디지털 TV, 멀티미디어, 자동차, 전자레인지, 디지털 카메라, 홈 오토메이션 등 생활 속의 거의 모든 전기 장비가 포함됩니다. 시스템, 엘리베이터, 에어컨, 보안 시스템, 자동 판매기, 휴대폰, 가전 제품, 산업 자동화 기기 및 의료 기기 등
프로세서/마이크로프로세서, 메모리 및 주변 장치, I/O 포트, 그래픽 컨트롤러 등을 포함하는 임베디드 시스템의 하드웨어 부분입니다. 임베디드 시스템은 하드디스크와 같은 대용량 저장매체를 갖지 않고 주로 EPROM, EEPROM, 플래시 메모리를 저장매체로 사용한다는 점에서 일반 컴퓨터 처리 시스템과 다르다. 소프트웨어 부분에는 운영 체제 소프트웨어(실시간 및 멀티태스킹 작업이 필요함)와 애플리케이션 프로그래밍이 포함됩니다. 애플리케이션은 시스템의 작동과 동작을 제어하고, 운영 체제는 애플리케이션 프로그래밍과 하드웨어의 상호 작용을 제어합니다.
2 임베디드 프로세서
임베디드 시스템의 핵심은 임베디드 마이크로프로세서입니다. 임베디드 마이크로프로세서는 일반적으로 네 가지 특성을 가지고 있습니다. (1) 실시간 및 멀티태스킹을 강력하게 지원하고 멀티태스킹을 완료할 수 있으며 인터럽트 응답 시간이 짧아 내부 코드 실행 시간과 실시간 작동 시간이 단축됩니다. (2) 강력한 저장 영역 보호 기능을 가지고 있습니다. 이는 임베디드 시스템의 소프트웨어 구조가 모듈화되었기 때문이며, 소프트웨어 모듈 간의 잘못된 상호 작용을 방지하려면 강력한 저장 영역이 필요합니다. 영역 보호 기능은 소프트웨어 진단에도 유용합니다. (3) 확장 가능한 프로세서 구조는 애플리케이션에 맞는 고성능 임베디드 마이크로프로세서를 빠르게 확장할 수 있습니다. (4) 임베디드 마이크로프로세서의 전력 소비는 매우 낮아야 합니다. 특히 전력 소비가 mW 또는 μW 수준에 불과한 휴대용 무선 및 모바일 컴퓨팅 및 통신 장비에 사용되는 배터리 구동 임베디드 시스템의 경우 낮습니다.
불완전한 통계에 따르면 현재 전 세계에는 1,000가지 이상의 다양한 임베디드 프로세서가 있으며 30가지 이상의 인기 아키텍처 시리즈가 있습니다. 그 중 8051 시스템이 대다수를 차지하고 있으며, 이런 종류의 마이크로컨트롤러를 생산하는 반도체 제조사는 20개가 넘고, 필립스만 해도 거의 100가지 종류의 파생 제품이 있다. 현재 거의 모든 반도체 제조업체는 임베디드 프로세서를 생산하고 있으며 점점 더 많은 회사가 자체 프로세서 설계 부서를 보유하고 있습니다. 임베디드 프로세서의 주소 지정 공간은 일반적으로 64kB~16MB 범위이고 처리 속도는 0.1~2000MIPS이며 일반적으로 사용되는 패키지는 8~144핀입니다.
현재 상황에 따르면 임베디드 컴퓨터는 다음과 같은 범주로 나눌 수 있습니다.
(1) 내장형 마이크로프로세서 장치(EMPU)
내장형 마이크로프로세서는 "향상된" 범용 마이크로프로세서를 사용합니다. 임베디드 시스템은 일반적으로 열악한 환경에서 사용되기 때문에 임베디드 마이크로프로세서는 일반 표준 마이크로프로세서보다 작동 온도, 전자기 호환성 및 신뢰성 측면에서 더 높은 요구 사항을 갖습니다. 그러나 내장형 마이크로프로세서는 기본적으로 표준 마이크로프로세서와 기능이 동일합니다. 실제 임베디드 애플리케이션 요구 사항에 따라 임베디드 마이크로프로세서는 특별히 설계된 마더보드에 조립되며, 임베디드 애플리케이션과 관련된 마더보드 기능만 유지되므로 시스템의 크기와 전력 소비를 크게 줄일 수 있습니다.
산업용 제어 컴퓨터에 비해 임베디드 마이크로프로세서로 구성된 시스템은 소형, 경량, 저비용, 고신뢰성이라는 장점이 있지만 회로 기판에는 ROM, RAM, 버스 인터페이스, 다양한 주변 장치 등의 장치가 포함되어 있어야 합니다. 시스템의 신뢰성과 기술적인 기밀성이 낮습니다. 내장형 마이크로프로세서와 해당 메모리, 버스, 주변 장치 등이 회로 마더보드에 설치되어 일반적으로 단일 보드 컴퓨터 시스템으로 알려진 시스템을 형성합니다. 현재 임베디드 프로세서에는 Am186/88, 386EX, SC-400, Power PC, 68000, MIPS, ARM 시리즈 등이 주로 포함됩니다.
(2) 내장형 마이크로컨트롤러 장치(MCU)
마이크로컨트롤러라고도 하는 내장형 마이크로컨트롤러는 전체 컴퓨터 시스템을 하나의 칩에 통합합니다. 임베디드 마이크로컨트롤러는 일반적으로 일부 일반적인 애플리케이션에 따라 특정 마이크로프로세서 코어를 가지고 있으며, ROM/EPROM, RAM, 버스, 버스 로직, 타이머/카운터, 워치독, I/O 등이 직렬 포트에 통합되어 있습니다. 펄스 폭 변조 출력, A/D, D/A, 플래시 RAM, EEPROM 및 기타 필요한 기능 구성 요소 및 주변 장치. 다양한 애플리케이션 요구 사항에 적응하기 위해 기능 설정 및 주변 장치 구성에 필요한 수정 및 절단이 이루어지며, 결과적으로 여러 파생 제품을 갖춘 일련의 마이크로 컨트롤러가 탄생합니다. 각 파생 제품의 프로세서 코어는 동일하지만 차이점은 메모리입니다. 주변기기 구성 및 기능 설정. 이를 통해 마이크로컨트롤러는 애플리케이션 요구 사항을 최대한 일치시킬 수 있으므로 전체 시스템의 전력 소비와 비용이 절감됩니다. 내장형 마이크로프로세서에 비해 모놀리식 마이크로컨트롤러는 애플리케이션 시스템의 크기를 크게 줄여 전력 소비와 비용을 크게 줄이고 신뢰성을 향상시킵니다. 임베디드 마이크로컨트롤러는 현재 모든 유형의 임베디드 프로세서 중에서 가장 다양한 제품과 수량을 보유하고 있으며, 위에서 언급한 많은 장점으로 인해 마이크로컨트롤러가 임베디드 시스템 애플리케이션의 주류라는 점을 알 수 있습니다. 마이크로 컨트롤러는 일반적으로 풍부한 온칩 주변 장치 리소스를 갖고 있으며 제어에 적합하므로 마이크로 컨트롤러라고 합니다. 일반적으로 임베디드 마이크로프로세서는 범용과 준범용의 두 가지 범주로 나눌 수 있으며, 대표적인 범용 시리즈로는 8051, P51XA, MCS-251, MCS-96/196/296, C166/167, 68300 등이 있습니다. . USB 인터페이스를 지원하는 MCU 8XC930/931, C540, C541과 같은 보다 대표적인 세미 유니버셜 시리즈, I2C, CAN 버스, LCD 등을 지원하는 호환 시리즈. MCU는 현재 임베디드 시스템 시장 점유율의 약 70%를 차지하고 있습니다.
(3) EDSP(Embedded Digital Signal Processor)
디지털 신호 처리 응용 분야에서 다양한 디지털 신호 처리 알고리즘은 매우 복잡하며 이러한 알고리즘의 복잡성은 O(nm)일 수 있습니다. ) 또는 심지어 NP이며 일반적인 구조의 프로세서에서는 이러한 작업을 실시간으로 완료할 수 없습니다. DSP 프로세서의 특수한 시스템 구조 설계 및 명령으로 인해 디지털 신호 처리 측면에서 적합합니다. 필터링, FFT, 스펙트럼 분석 등 DSP 알고리즘이 임베디드 분야에 많이 진출하고 있습니다. DSP 애플리케이션은 범용 마이크로 컨트롤러의 일반적인 명령을 사용하여 DSP 기능을 구현하는 것에서 임베디드 DSP 프로세서를 사용하는 것으로 전환하고 있습니다. 프로세서는 모놀리식화, EMC 변환 및 온칩 주변 장치 추가 후 임베디드 DSP 프로세서가 됩니다. (2) DSP 프로토콜은 Intel의 SOC와 같은 범용 마이크로 컨트롤러에 추가됩니다. MCS-296 및 Infineon(Siemens) TriCore는 지능형 로직, 생체 정보 식별 기능을 갖춘 다양한 소비자 제품, 암호화 및 암호 해독 알고리즘이 포함된 키보드, ADSL 액세스 등 지능형 애플리케이션에도 필요합니다. -시간음성압축시스템, 가상현실 디스플레이 등
이러한 유형의 지능형 알고리즘에는 일반적으로 많은 양의 계산, 특히 벡터 연산, 포인터 선형 주소 지정 등이 필요합니다. 이것이 DSP 프로세서의 장점입니다. 임베디드 DSP 프로세서의 대표적인 제품으로는 TI의 TMS320 시리즈와 Motorola의 DSP56000 시리즈가 있다. TMS320 시리즈 프로세서에는 제어용 C2000 시리즈, 모바일 통신용 C5000 시리즈, 고성능 C6000 및 C8000 시리즈가 포함됩니다. DSP56000은 이제 DSP56000, DSP56100, DSP56200 및 DSP56300과 같은 여러 가지 프로세서 시리즈로 개발되었습니다. 또한 필립스는 최근 재설정 가능한 임베디드 DSP 구조를 기반으로 저비용, 저전력 기술을 사용하여 제조한 R.E.A.L DSP 프로세서를 출시했습니다. 이 프로세서는 이중 Harvard 구조와 이중 곱셈/누산 장치가 특징입니다. 대량 소비자 제품.
(4) 임베디드 시스템 온 칩(SOC)
EDI의 발전과 VLSI 디자인의 대중화, 그리고 반도체 기술의 급속한 발전으로 통합 실리콘 칩에 보다 복잡한 시스템이 구현되어 SOC 기술이 탄생합니다. 다양한 범용 프로세서 코어는 SOC 설계 회사의 표준 라이브러리 역할을 할 것이며 다른 많은 임베디드 시스템 주변 장치와 마찬가지로 VLSI 설계의 표준 장치가 될 것입니다. 이는 표준 VHDL, Verlog 및 기타 하드웨어 언어로 설명됩니다. 장치 라이브러리에 저장됩니다. 사용자는 전체 응용 시스템을 정의하기만 하면 되며, 시뮬레이션을 통과한 후 설계 도면을 반도체 공장에 제출하여 샘플 생산을 할 수 있습니다. 이러한 방식으로 통합할 수 없는 일부 장치를 제외하고 전체 임베디드 시스템의 대부분은 하나 또는 여러 개의 칩에 통합될 수 있으며 응용 시스템 회로 기판은 매우 단순해지며 이는 크기와 전력 소비를 줄이는 데 도움이 됩니다. 전체 애플리케이션 시스템을 개선하고 신뢰성을 향상시키는 것은 큰 장점입니다. SOC는 Infineon(Siemens)의 TriCore, Motorola의 M-Core, Echelon이 공동 개발한 Neuron 칩과 같은 특정 ARM 시리즈 장치와 같은 범용 및 특수 목적의 두 가지 범주로 나눌 수 있습니다. Motorola 특수 목적 SOC는 일반적으로 Philips의 스마트 인터넷 보안과 같은 특정 유형의 시스템에 전념합니다.
세 가지 임베디드 운영 체제
임베디드 운영 체제는 임베디드 시스템 애플리케이션을 지원하는 운영 체제 소프트웨어입니다. 이는 임베디드 시스템(하드웨어 및 소프트웨어 시스템 포함)에 매우 중요합니다. 일반적으로 구성 요소는 다음과 같습니다. 하드웨어 관련 기본 드라이버 소프트웨어, 시스템 커널, 장치 드라이버 인터페이스, 통신 프로토콜, 그래픽 인터페이스, 표준화된 브라우저 등이 포함됩니다. 임베디드 운영 체제는 점점 더 복잡해지는 시스템 리소스를 효과적으로 관리하는 기능, 개발자가 바쁜 드라이버 이식 및 유지 관리 기능을 제공하는 기능, 드라이버, 도구 세트 및 애플리케이션. 범용 운영 체제와 비교하여 임베디드 운영 체제는 시스템 실시간 효율성, 하드웨어 관련 종속성, 소프트웨어 견고성 및 애플리케이션 특수성 측면에서 더 두드러진 특징을 가지고 있습니다.
1. 임베디드 운영체제의 종류
일반적으로 임베디드 운영체제는 두 가지 범주로 나눌 수 있습니다. 하나는 제어, 통신 및 기타 분야를 지향하는 실시간 운영체제입니다. WindRiver의 VxWorks, ISI의 pSOS, QNX System Software의 QNX, ATI의 Nucleus 등과 같은 다른 유형은 개인용 휴대 단말기(PDA), 휴대폰, Set-A 등 가전 제품을 위한 비실시간 운영 체제입니다. 탑박스, 전자책, 웹폰 등
a. 비실시간 운영 체제
초기 임베디드 시스템에는 운영 체제라는 개념이 없었습니다. 임베디드 프로그램을 작성하는 프로그래머는 일반적으로 베어 메탈 및 베어 디바이스를 직접 접했습니다. 이 경우 임베디드 프로그램은 일반적으로 포그라운드 프로그램과 백그라운드 프로그램이라는 두 부분으로 나뉩니다. 포그라운드 프로그램은 중간 부분을 통해 이벤트를 처리하며 그 구조는 일반적으로 무한 루프이며, 백그라운드 프로그램은 전체 임베디드 시스템의 소프트웨어 및 하드웨어 자원 할당 및 관리와 작업 스케줄링을 담당하는 시스템입니다. 관리 스케줄러. 이를 일반적으로 프런트엔드 및 백엔드 시스템이라고 합니다. 일반적으로 백그라운드 프로그램은 작업 수준 프로그램이라고도 하며, 포그라운드 프로그램은 이벤트 처리 수준 프로그램이라고도 합니다. 프로그램이 실행되면 백그라운드 프로그램은 각 작업의 실행 조건이 있는지 확인하고 특정 스케줄링 알고리즘을 통해 해당 작업을 완료합니다. 특히 실시간 요구사항이 엄격한 작업은 일반적으로 인터럽트에 의해 완료됩니다. 이벤트 발생은 인터럽트 서비스 프로그램에만 표시되며, 백그라운드 프로그램에 의한 스케줄링 후 인터럽트가 종료됩니다. 이러한 방식으로 시간이 많이 소요되는 이벤트가 인터럽트 서비스 루틴에서 처리되지 않고 후속 인터럽트와 기타 인터럽트에 영향을 미치지 않습니다.
실제로 프런트엔드와 백엔드 시스템의 실시간 성능은 예상보다 좋지 않다. 이는 프런트 엔드 및 백엔드 시스템이 모든 작업의 우선 순위 수준이 동일하다고 믿고, 즉 동일하며 작업 실행이 FIFO 대기열을 통해 대기열에 추가되므로 실시간 요구 사항이 높은 작업을 수행할 수 없기 때문입니다. 즉시 처리됩니다. 또한 포그라운드 프로그램은 무한 루프 구조이기 때문에 이 루프 본문에서 처리 중인 작업이 충돌하면 전체 작업 큐에 있는 다른 작업을 처리할 기회가 없어 전체 시스템이 붕괴됩니다. 이러한 유형의 시스템은 구조가 단순하고 RAM/ROM의 추가 오버헤드가 거의 필요하지 않기 때문에 간단한 임베디드 애플리케이션에 널리 사용됩니다.
b. 실시간 운영체제
실시간 시스템은 정해진 시간 내에 기능을 수행하고 외부 비동기 이벤트에 응답할 수 있는 컴퓨터 시스템을 의미합니다. 작업의 정확성은 논리적 설계의 정확성에 달려 있을 뿐만 아니라 이러한 작업이 수행되는 시간과도 관련이 있습니다. “특정 시간 내에”가 이 정의의 핵심입니다. 즉, 실시간 시스템에는 응답 시간에 대한 엄격한 요구 사항이 있습니다.
실시간 시스템은 로직과 타이밍에 대한 요구 사항이 매우 엄격합니다. 로직과 타이밍에 차이가 있으면 심각한 결과가 발생합니다. 실시간 시스템에는 소프트 실시간 시스템과 하드 실시간 시스템이라는 두 가지 유형이 있습니다. 소프트 실시간 시스템에서는 이벤트 응답이 실시간이어야 하고 하드 실시간 시스템에서 작업을 완료해야 하는 시간에 대한 제한이 필요하지 않으며 작업 응답이 실제여야 할 뿐만 아니라 -시간뿐만 아니라 이벤트도 지정된 시간 내에 완료되어야 합니다. 일반적으로 대부분의 실시간 시스템은 이 두 가지를 조합한 것입니다. 실시간 응용 소프트웨어의 설계는 일반적으로 비실시간 응용 소프트웨어의 설계보다 더 어렵습니다. 실시간 시스템의 기술적 핵심은 시스템의 실시간 특성을 보장하는 방법입니다.
실시간 멀티태스킹 운영체제란 실시간이며 실시간 제어 시스템의 작업을 지원할 수 있는 운영체제를 말한다. 주요 작업은 실시간 제어 작업을 완료하기 위해 사용 가능한 모든 리소스를 예약하는 것이며, 두 번째로 중요한 기능은 시간 제약 및 요구 사항을 충족하는 것입니다. 실시간 운영체제는 작업 관리(멀티태스킹 및 우선순위 기반 작업 스케줄링), 작업간 동기화 및 통신(세마포어, 메일박스 등), 메모리 최적화 관리(ROM 관리 포함), 실시간 운영체제 등의 기능을 갖는다. 시계 서비스 및 인터럽트 관리 서비스를 제공합니다. 실시간 운영체제는 소규모, 짧은 인터럽트 마스킹 시간, 짧은 인터럽트 처리 시간, 빠른 작업 전환이라는 특징을 가지고 있습니다.
실시간 운영체제는 선점형과 비선점형의 두 가지 유형으로 나눌 수 있습니다. 우선순위 기반 시스템의 경우 선점형 실시간 운영 체제는 커널이 실행 중인 작업의 CPU 사용 권한을 점유하고 준비 상태에 들어가는 더 높은 우선순위의 작업에 사용 권한을 부여할 수 있음을 의미합니다. CPU를 점유하는 것은 커널입니다. 기타 작업을 실행하도록 합니다. 비선점형 실시간 운영 체제는 특정 알고리즘을 사용하고 작업을 실행하기로 결정한 후 CPU 제어권을 적극적으로 반환할 때까지 CPU 제어권을 작업에 완전히 넘겨줍니다. 인터럽트는 휴면 작업을 활성화하고 준비 상태로 전환할 수 있는 인터럽트 서비스 루틴에 의해 처리됩니다. 그러나 준비 상태에 들어간 작업은 현재 실행 중인 작업이 CPU 제어권을 적극적으로 넘겨줄 때까지 아직 실행될 수 없습니다.
이 실시간 운영체제를 사용하는 경우의 실시간 성능은 실시간 운영체제가 없는 시스템보다 우수하며, 실시간 성능은 가장 긴 작업의 실행 시간에 따라 달라집니다. 비선점형 실시간 운영체제의 단점이 바로 이것이다. 가장 긴 작업의 실행 시간을 알 수 없으면 시스템의 실시간 성능도 알 수 없다.
선점형 실시간 운영 체제는 실행 조건을 충족하거나 준비 상태로 진입하는 한 우선순위가 높은 작업을 즉시 실행할 수 있습니다. 즉, 우선 순위가 가장 높은 작업을 제외하고 다른 작업은 실행 중인 프로세스 중에 우선 순위가 더 높은 작업에 의해 언제든지 중단되어 후자가 실행되도록 할 수 있습니다. 이러한 작업 스케줄링 방법은 시스템의 실시간 성능을 보장합니다. 그러나 작업이 CPU를 제대로 제어하지 못하면 시스템 충돌 및 정지와 같은 심각한 결과가 발생합니다.
2. 임베디드 운영 체제 개발
임베디드 운영 체제는 임베디드 시스템 개발과 함께 네 가지 분명한 단계를 거쳤습니다.
첫 번째 단계는 운영체제가 없는 임베디드 알고리즘 단계로, 단일 칩을 핵심으로 하는 프로그래밍 가능한 컨트롤러 형태의 시스템으로 모니터링, 서보 및 연동 기능도 갖췄다. 장비를 나타냅니다. 이러한 종류의 시스템은 대부분 고도로 전문적인 산업 제어 시스템에 사용되며 일반적으로 운영 체제의 지원이 없습니다. 시스템은 어셈블리 언어 프로그래밍을 통해 직접 제어되며 작업이 완료된 후 메모리가 지워집니다. 이 단계의 시스템의 주요 특징은 시스템 구조와 기능이 상대적으로 단순하고 처리 효율성이 낮으며 저장 용량이 작고 사용자 인터페이스가 거의 없다는 것입니다. 이러한 임베디드 시스템은 사용하기 쉽고 가격이 저렴하기 때문에 과거에는 국내 산업 분야에서 일반적으로 사용되었지만, 높은 수준을 요구하는 현대 산업 제어 및 신흥 정보 기기의 요구를 충족시키기에는 아직 멀었습니다. 효율성과 대용량 저장 매체.
두 번째 단계는 임베디드 CPU와 간단한 운영체제를 핵심으로 하는 임베디드 시스템이다. 이 단계에서 시스템의 주요 특징은 다음과 같습니다. CPU 유형이 많고 다양성이 낮습니다. 시스템 오버헤드가 적고 효율성이 높습니다. 일반적으로 시스템 에뮬레이터가 장착되어 있으며 운영 체제에는 특정 호환성과 확장성이 있습니다. ; 응용 프로그램 소프트웨어는 비교적 전문적이며 사용자 인터페이스는 충분하지 않습니다. 시스템은 주로 시스템 로드를 제어하고 응용 프로그램 작업을 모니터링하는 데 사용됩니다.
세 번째 단계는 일반 임베디드 실시간 운영체제 단계로, 임베디드 운영체제를 핵심으로 하는 임베디드 시스템이다. 이 단계에서 시스템의 주요 특징은 다음과 같습니다. 임베디드 운영 체제는 다양한 유형의 마이크로프로세서에서 실행될 수 있으며 호환성이 좋습니다. 운영 체제 커널은 작고 매우 효율적이며 높은 수준의 모듈성과 확장성을 갖습니다. 파일 및 디렉토리 관리, 장치 지원, 멀티태스킹, 네트워크 지원, 그래픽 창 및 사용자 인터페이스와 같은 기능을 갖추고 있어 애플리케이션 개발이 용이하며 풍부한 내장 기능을 갖추고 있습니다. 응용 소프트웨어.
네 번째 단계는 인터넷을 기반으로 한 임베디드 시스템으로 급속히 발전하는 단계이다. 현재 대부분의 임베디드 시스템은 여전히 인터넷과 분리되어 있지만, 인터넷이 발전하고 인터넷 기술이 정보 기기, 산업 제어 기술 등과 점점 더 긴밀하게 통합됨에 따라 임베디드 장치와 인터넷의 결합은 임베디드 기술의 진정한 미래.
3. 실시간 운영체제 사용의 필요성
임베디드 실시간 운영체제는 현재 임베디드 애플리케이션, 특히 복잡한 기능을 갖춘 시스템과 대규모 시스템에서 점점 더 많이 사용되고 있습니다. 점점 더 중요해지고 있습니다.
우선, 실시간 운영체제가 내장되어 있어 시스템의 신뢰성이 향상됩니다. 제어 시스템에서는 안전 고려 사항으로 인해 최소한 충돌이 발생하지 않고 자가 치유 기능을 갖춘 시스템이 필요합니다. 보안 허점과 신뢰할 수 없는 숨겨진 위험을 최대한 줄이기 위해서는 하드웨어 설계 측면에서 시스템의 신뢰성과 간섭 방지를 향상시킬 뿐만 아니라 소프트웨어 설계 측면에서도 시스템의 간섭 방지를 개선해야 합니다. 장기적인 프런트엔드 및 백엔드 시스템 소프트웨어 설계로 인해 실행 중인 프로그램은 강한 간섭에 직면할 때 예외, 오류, 런어웨이, 심지어 무한 루프를 생성하여 시스템이 붕괴됩니다. 실시간 운영 체제로 관리되는 시스템의 경우 이러한 간섭으로 인해 여러 프로세스 중 하나만 손상될 수 있으며, 이는 시스템에서 실행되는 시스템 모니터링 프로세스를 통해 복구할 수 있습니다.
일반적으로 이 시스템 모니터링 프로세스는 각 프로세스의 실행 상태를 모니터링하는 데 사용되며, 비정상적인 상황이 발생하면 문제가 있는 작업을 해결하는 등 시스템의 안정성과 신뢰성에 도움이 되는 몇 가지 조치를 취합니다.
둘째, 개발 효율성을 높이고 개발주기를 단축합니다. 임베디드 실시간 운영 체제 환경에서 복잡한 응용 프로그램을 개발할 때 일반적으로 소프트웨어 엔지니어링의 디커플링 원리에 따라 전체 프로그램을 여러 작업 모듈로 분해할 수 있습니다. 각 작업 모듈의 디버깅 및 수정은 다른 모듈에 거의 영향을 미치지 않습니다. 상용 소프트웨어는 일반적으로 우수한 멀티태스킹 디버깅 환경을 제공합니다. 다시 한번, 임베디드 실시간 운영 체제는 32비트 CPU의 멀티태스킹 잠재력을 최대한 활용합니다. 또한 32비트 CPU는 8비트 및 16비트 CPU보다 빠릅니다. 또한 원래는 다중 사용자 및 다중 작업 운영 체제를 실행하도록 설계되었으며 특히 다중 작업 실시간 시스템을 실행하는 데 적합합니다. 32비트 CPU는 시스템 신뢰성과 안정성을 향상시켜 충돌을 더 쉽게 방지하도록 설계되었습니다. 예를 들어 CPU 실행 상태는 시스템 상태와 사용자 상태로 구분됩니다. 시스템 스택과 사용자 스택을 분리하고 CPU의 실행 상태를 실시간으로 제공함으로써 사용자는 시스템 설계 시 하드웨어와 소프트웨어 측면 모두에서 실시간 커널의 작동을 보호할 수 있습니다. 기존의 프런트엔드와 백엔드 방식을 계속 사용한다면 32비트 CPU의 장점을 활용할 수 없게 됩니다.
어떤 의미에서 운영체제가 없는 컴퓨터(베어메탈)는 쓸모가 없습니다. 임베디드 애플리케이션에서는 CPU를 시스템에 내장하고 동시에 운영 체제를 내장해야만 진정한 컴퓨터 임베디드 애플리케이션이 될 수 있습니다.
4. 실시간 운영체제의 장점과 단점
임베디드 실시간 운영체제 환경에서 실시간 애플리케이션을 개발하면 전공 없이도 프로그램 설계 및 확장이 용이하다. 새로운 기능을 추가할 수 있습니다. 애플리케이션을 여러 개의 독립적인 작업 모듈로 나누면 애플리케이션의 설계 프로세스가 크게 단순화되고 실시간 요구 사항이 까다로운 이벤트가 빠르고 안정적으로 처리됩니다. 내장된 실시간 운영 체제는 효과적인 시스템 서비스를 통해 시스템 리소스의 활용도를 향상시킵니다. 그러나 임베디드 실시간 운영 체제를 사용하려면 추가 ROM/RAM 오버헤드, 2~5%의 추가 CPU 로드 및 코어 비용도 필요합니다.